|
本文涉及的操作会带来风险,严重情况下会造成路由设备变砖,请在确保自己有能力修复的情况下进行操作。
注意:#号后面的为注释,请不要输入。
注意:请保证你的路由器有足够的储存空间,一般来说8M应该是足够了,4M不一定够。
如何查看自己路由器的硬件信息?在 openwrt 和 ddwrt 的 wiki 里找。
登录路由:
更新源列表:
安装openvpn-client:
- opkg install openvpn-client
复制代码
某些路由器在彻底断电后时间会归零,如果遇到这种机器, 记得在在/etc/rc.local中加入 rdate -s time.windows.com
建立openvpn目录,配置文件全部在这里面:
下载你 openvpn 提供商提供给你的3个注册文件,ca.crt、client.crt、client.key放入 /etc/openvpn 目录中。把 openvpn 的帐号密码分行写入 password.txt ,也放入此目录中。新建 openvpn 配置文件,内容如下
vi /etc/openvpn/openvpn.conf
up 'iptables -A POSTROUTING -t nat -o tun0 -j MASQUERADE; /etc/openvpn/vpnup.sh openvpn'
down 'iptables -D POSTROUTING -t nat -o tun0 -j MASQUERADE; /etc/openvpn/vpndown.sh openvpn'
client
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client.crt
key /etc/openvpn/client.key
<connection>
remote <server1_ip_address> 443 udp
</connection>
<connection>
remote <server2_ip_address> 53 tcp
</connection>
remote-random
resolv-retry infinite
nobind
float
persist-key
persist-tun
comp-lzo
verb 3
remote-cert-tls server
ping 10
ping-restart 60
redirect-gateway def1
auth-user-pass /etc/openvpn/password.txt
script-security 3 system
log /tmp/openvpn.log
下载:
将 vpnup.sh 中所有/jffs/替换为/etc/ ,vpnup.sh 原本为 ddwrt 设计 。
找到 OLDGW=$(nvram get wan_gateway)
修改为
OLDGW=$(route |grep -Eo "default ([0-9.]+)" | cut -d" " -f10)
保存。现在使用 HFS 或者 everything,使用 http 的方式共享出来,取得地址,比如http://192.168.1.110/vpnup.sh ,如果你有更好的取得网关地址的指令,请不吝赐教,我不是最在行。
继续在路由器上操作:
增加以下内容:
config 'openvpn' 'vpn'
option 'config' '/etc/openvpn/openvpn.conf' # conf 的文件名别错了
option 'enable' '1' #保存
在路由器控制页面中找到防火墙或者叫firewall的。在自定义中增加增加两个转发:
iptables -I FORWARD -o br-lan -j ACCEPT
iptables -I FORWARD -o tun0 -j ACCEPT
在 /etc/config/dhcp 中的 dnsmasq 里增加如下内容(也可以用web界面的DHCP和DNS页面进行配置)
list 'server' '/google.com/8.8.8.8'
list 'server' '/facebook.com/8.8.8.8'
list 'server' '/fbcdn.net/8.8.8.8'
list 'server' '/twitter.com/8.8.8.8'
list 'server' '/youtube.com/8.8.8.8'
list 'server' '/ytimg.com/8.8.8.8'
list 'server' '/imageshack.us/8.8.8.8'
搞定,重启试试看。重启后ssh进路由器,用route命令查看,如果发现返回只有小猫三两只,那肯定是哪一步错了,用cat /tmp/openvpn.log 看看有没有错误提示,再做修改。如果返回的是密密麻麻的,多半就没错了。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|