VPN over ADSL in Ubuntu on X60s
时间:2011-01-13 来源:Craftor
买的GreenVPN的账号,包年的,速度很给力,看Youtube在线的480p的视频都不卡。
上网是电信的ADSL,6M的。用台式机在XP下上网的时候,先ADSL拨号,然后再拔VPN,是没有问题的,畅通无阻。
但是在Ubuntu费了一些事,折腾了两天才搞定,记录下来,希望别的朋友如果遇到同样的问题,可以少走弯路。
1、ADSL拨号,这没什么好说的。
2、设置VPN拨号,这里要注意几点。
a.在 Advanced...选项里,要把 Use Point-to-Point encryption(MPPE)选中。
b.在 IPv4 Setting下,Method 选择 Automatic (VPN) address only,然后在 DNS Server里填入 8.8.8.8 ,这是Google的DNS地址。
3、先拨号ADSL,再拔VPN,如果都成功了。用ifconfig 可以看到有两个拨号连接,ppp0和ppp1。
4、但此时是上不了网的,嘿嘿,这我已经试过上百遍了。
5、用 route -n 可以看下本地路由表,如果你稍微有一点路由的知识,就知道这是路由规则不对导致的。
我的路由表如下,这是只拨号ADSL的时候路由表:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
221.231.205.91 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.1.0 0.0.0.0 255.255.255.0 U 2 0 0 wlan0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlan0
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
这是又拔了VPN后的路由表:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.4 0.0.0.0 255.255.255.255 UH 0 0 0 ppp1
67.220.212.28 192.168.1.1 255.255.255.255 UGH 0 0 0 wlan0
67.220.212.28 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
221.231.205.91 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.1.0 0.0.0.0 255.255.255.0 U 2 0 0 wlan0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlan0
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp1
我们知道,Linux下的路由表是自上而下的。我们看第二个路由表,拔了VPN之后,原来电信ADSL分配给我的IP地址是67.220.212.28,路由表上直接就转到192.168.1.1了,192.168.1.1是我家电信猫的网关。显然第二条是多出来的一条路由规则。我们只要把它删除就可以了。命令:
sudo route del -net 67.220.212.28 netmask 255.255.255.255 gw 192.168.1.1
然后再看看,是不是就可以上国外网啦? ^_^