微信关注,获取更多

OpenWrtVPN配置指南:PPTP及相关设置实现访问国内外站点

vim /etc/config/dhcp

找到 option resolvfile 选项,替换为:

option resolvfile '/etc/config/sec_resolv.conf'

4.配置 PPTP

a.安装 ppp-mod-pptp

opkg updateopkg install ppp-mod-pptp

如果需要 LuCI 支持(推荐):

opkg install luci-proto-ppp

b.去配置 vpn 接口,要编辑 /etc/config/network 文件,理应已经存在以下内容(要是不存在,就得插入),还要去配置其中的 server、username 以及 password:

config 'interface' 'vpn' 
option 'ifname''pptp-vpn'
option 'proto' 'pptp'
option 'username''vpnusername'
option 'password''vpnpassword'
option 'server''vpn.example.org or ipaddress' 
option 'buffering' '1' 

c.去到Network那儿,进入其中的Firewall,接着将vpn添加进wan zone里面 ,呈现出来的效果跟图上所描绘的一样。

OpenWRT 路由配置技巧

d.走进 Network ,来到 Interfaces ,这个时候呢,理应已然能够瞅见 虚拟专用网络 Interface ,而且能够进行连接,呈现出来的效果就如同图示这般。

OpenWRT 路由配置技巧

e.此刻于这台本机之上,对www.google.com进行traceroute操作,理应能够获取到跟以下这般相类似的结果:

FL-MBP:~ fatlyz$ traceroute www.google.com 
traceroute: Warning: www.google.com has multiple addresses; using 74.125.239.113 
traceroute to www.google.com (74.125.239.113), 64 hops max, 52 byte packets
 1fc_r0.lan (192.168.7.1)2.266 ms0.999 ms0.946 ms
 210.7.0.1 (10.7.0.1)189.259 ms187.813 ms188.368 ms
 323.92.24.2 (23.92.24.2)189.847 ms190.489 ms188.939 ms
 410ge7-6.core3.fmt2.he.net (65.49.10.217)188.508 ms192.216 ms202.863 ms
 510ge10-1.core1.sjc2.he.net (184.105.222.14)195.695 ms195.691 ms284.242 ms
 672.14.219.161 (72.14.219.161)189.196 ms192.287 ms193.220 ms
 7216.239.49.170 (216.239.49.170)192.496 ms188.547 ms189.881 ms
 866.249.95.29 (66.249.95.29)190.125 ms190.335 ms190.026 ms
 9nuq05s01-in-f17.1e100.net (74.125.239.113)189.804 ms190.556 ms190.242 ms

能够看得出,在这当中,第二跳是那基于虚拟专用网络构建的网关,并且呢,要是去执行traceroute www.baidu.com这个指令,那么第二跳理应也是呈现出相同的结果。

在这个时候,已然能够去进行对Google、Baidu等这类国内外站点的访问操作了。

5.配置 chnroutes

a.去到chnroutes项目的那个下载页面,也就是http://chnroutes-dl.appspot.com/ ,去下载linux.zip ,然后进行解压。

b.将ip – pre – up改名为chnroutes.sh,开启编辑,于if。

! -e /tmp/vpn_oldgw

在“; then”之前,插入下面这些代码,目的是防止 ppp 连接脚本会因为重复执行,从而造成重复添加路由表项的情况出现:

if [ $OLDGW == 'x.x.x.x' ]; thenexit 0
fi

里头存在着这样一个情况,x.x.x.x身为虚拟专用网络的网关;能够先于本机连接上去;之后去查看一下网关对应的地址。

c.ssh 连接到路由器,执行以下命令:

cd /etc/config/
mkdir pptp-vpn
cd pptp-vpn
vim chnroutes.sh

于vim里头,将编辑好了的chnroutes.sh粘贴进去,当然啦,也能够借助ssh直接把chnroutes.sh文件传递过去,抑或是上传至某个地方,之后再通过wget下载。

执行以下命令,设置权限为可执行:

chmod a+x chnroutes.sh

d.动用 vim 来对 /lib/netifd/ppp-up 文件予以编辑。

vim /lib/netifd/ppp-up

-d /etc/ppp/ip-up.d

这一行前插入内容,以使 ppp 连接脚本能够被执行,确保,&& { ,以上 ,这些 ,做到 ,达成。

sh /etc/config/pptp-vpn/chnroutes.sh

e.重新启动路由,在启动完毕好了之后,进入LuCI去查看接口状态,等到WAN和虚拟专用网络都成功连接以后,通过ssh进入,执行route -n | head -n 10,效果应当类似这样子:

root@FC_R0:/etc/config# route -n | head -n 10 
Kernel IP routing table 
Destination Gateway Genmask Flags Metric RefUse Iface 
0.0.0.0 10.7.0.10.0.0.0 UG000 pptp-vpn 
1.0.1.0 58.111.43.1 255.255.255.0 UG000 pppoe-wan 
1.0.2.0 58.111.43.1 255.255.254.0 UG000 pppoe-wan 
1.0.8.0 58.111.43.1 255.255.248.0 UG000 pppoe-wan 
1.0.32.058.111.43.1 255.255.224.0 UG000 pppoe-wan 
1.1.0.0 58.111.43.1 255.255.255.0 UG000 pppoe-wan 
1.1.2.0 58.111.43.1 255.255.254.0 UG000 pppoe-wan 
1.1.4.0 58.111.43.1 255.255.252.0 UG000 pppoe-wan

当中,Destination呈现为0.0.0.0的那个,属于默认路由,网关是虚拟专用网络网关,这意味着,默认流量全都经由虚拟专用网络,然而,以下的条目,把目的是国内的网段,都导向了ISP所提供的网关。

到此为止,PPTP 虚拟专用网络,以及 chnroutes,已然配置完成了。

6.配置 虚拟专用网络 断线自动重连

a.进行创建,针对 /etc/config/pptp – vpn/status – check.sh 这个文件!

vim /etc/config/pptp-vpn/status-check.sh

将以下内容粘贴到vim里,这个脚本用于检测虚拟专用网络连接状况,当出现断线情况时,会先断开WAN以及虚拟专用网络接口,历时10秒后重新连接WAN,接着在30秒后再度连接虚拟专用网络。

#!/bin/sh
if [ -f "/tmp/vpn_status_check.lock" ]
then
exit 0
fi
虚拟专用网络_CONN=`ifconfig | grep pptp-vpn`
if [ -z "$虚拟专用网络_CONN" ]
then
touch /tmp/vpn_status_check.lock
echo WAN_虚拟专用网络_RECONNECT at: >> /tmp/vpn_status_check_reconn.log
date >> /tmp/vpn_status_check_reconn.log
ifdown vpn
ifdown wan
sleep 10
ifup wan
sleep 30
ifdown vpn
sleep 10
ifup vpn
sleep 40
rm /tmp/vpn_status_check.lock
else
date > /tmp/vpn_status_check.log
fi

执行以下命令,设置权限为可执行:

chmod a+x /etc/config/pptp-vpn/status-check.sh

b.去到LuCI里边儿的 System -> 把Scheduled Tasks找出来,往里面填进下面这些内容,填完之后保存一下:

*/1 * * * * /etc/config/pptp-vpn/status-check.sh

以上实际上实行了对 cron 配置的编辑操作,该 cron 会每分钟开展运行检测以及重连脚本的动作,随后重启 cron:

/etc/init.d/cron restart

c.静静地等待几分钟,去查看一下 /tmp 目录,理应能够看到 vpn_oldgw 和 vpn_status_check.log 文件,再去查看 vpn_status_check.log 文件,可以看到最近一次检测虚拟专用网络连接状态的时间。

root@FC_R0:/tmp# ls vpn*
vpn_oldgw vpn_status_check.log
root@FC_R0:/tmp# cat vpn_status_check.log 
Tue Jul 15 00:04:02 HKT 2014
root@FC_R0:/tmp# 

你能够于 LuCI 里中断 虚拟专用网络 接口,于接下来的 4 至 5 分钟时间范围,去观察 WAN 以及 虚拟专用网络 的重连状况。

d.对 www.google.com 进行 traceroute 操作,同时,对 www.baidu.com 进行 traceroute 操作,之后,观察第二跳所对应的地址。

FL-MBP:~ fatlyz$ traceroute www.google.com | head -n 3
traceroute: Warning: www.google.com has multiple addresses; using 74.125.239.115
traceroute to www.google.com (74.125.239.115), 64 hops max, 52 byte packets
 1fc_r0.lan (192.168.7.1)2.161 ms0.912 ms0.895 ms
 210.7.0.1 (10.7.0.1)193.747 ms187.789 ms289.744 ms
 323.92.24.2 (23.92.24.2)259.323 ms354.625 ms408.535 ms

FL-MBP:~ fatlyz$ traceroute www.baidu.com | head -n 3
traceroute to www.a.shifen.com (180.76.3.151), 64 hops max, 52 byte packets
 1fc_r0.lan (192.168.7.1)1.190 ms0.984 ms0.731 ms
 258.111.43.1 (58.111.43.1)20.616 ms38.822 ms18.484 ms
 3183.56.35.133 (183.56.35.133)20.056 ms52.353 ms87.841 ms

可以看出,已成功对国内外的目标地址进行了路由选择。

到这个时候,OpenWRT路由的基础设置,PPTP,chnroutes以及自动重新连接,都已经弄好了。

未经允许不得转载:openwrt技术分享 » OpenWrtVPN配置指南:PPTP及相关设置实现访问国内外站点

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏