如果你没有一款支持 OpenWRT 等系统的路由器,又想让私有网络里的其它终端都能使用比较智能的网关翻墙的话,那么可以使用下面介绍的方法。
首先你需要有一个国外的 OpenVPN 账号,其次私有网络里有一台终端安装了 OpenVPN 客户端,这里就以 Ubuntu 系统为例,其它系统类似。
安装 OpenVPN
OpenVPN 在 Ubuntu 系统里的打包是服务端和客户端共享的,只是配置文件不同。
sudo apt-get install openvpn
导入证书
准备好你的证书和密钥,一共三个文件,分别是 ca.crt、client.crt、client,key,复制到 /etc/openvpn/keys/ 目录。
sudo mkdir /etc/openvpn/keys
sudo cp ca.crt client.crt client.key /etc/openvpn/keys/
生成智能路由表
去 http://code.google.com/p/chnroutes/downloads/list 下载 chnroutes_ovpn_linux
python chnroutes_ovpn_linux
sudo mkdir /etc/openvpn/scripts
sudo cp vpnup vpndown /etc/openvpn/scripts/
编写配置文件
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client.conf
sudo vim /etc/openvpn/client.conf # 下面是需要修改的部分
remote my-server-1 1194 # my-server-1 修改成 vpn 服务器地址
user nobody
group nogroup
ca keys/ca.crt
cert keys/client.crt
key keys/client.key
scripts-security 2
up scripts/vpnup
down scripts/vpndown
启动和停止 VPN 服务
由于 OpenVPN 是系统服务,而且是开机自动启动的。
sudo service openvpn start # 启动服务
sudo service openvpn stop # 停止服务
设置 NAT
sudo sysctl net.ipv4.ip_forward=1
sudo vim /etc/sysctl.d/10-ip-forward.conf
net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
sudo iptables-save > /tmp/firewall.rules
sudo cp /tmp/firewall.rules /etc/
sudo vim /etc/rc.local
# /etc/rc.local
/sbin/iptables-restore < /etc/firewall.rules
exit 0
其它终端设置
其它终端修改原来的网关地址为新的智能网关地址,如果使用DHCP服务器分配地址的,可能给智能网关使用手动指定的地址,然后将DHCP服务器的地址分配中修改网关为智能网关的地址。
Over!
博主的文章高深莫测
————————-
欢迎加入博猪QQ群:125051596
不用QQ。