Skip to content
Iacob edited this page Dec 21, 2010 · 1 revision

在Linux上用VPN时的外网问题

Linux的VPN客户端和Windows上的一样,连接成功之後喜欢把全部路由都指向VPN网关,这样的话外网就上不去了,非常不方便。

不过在Linux上设置网络要比Windows上简单得多,可以通过简单的设置就能既可以正常使用VPN又不干扰其他的路由设置。

我这里使用网关上网,网关地址是192.168.0.1,网卡的设备名是eth0,VPN内的网络地址是10...*。

首先连接至VPN网关(我这里用的是vpnc-connect),然后运行ifconfig,就可以看到所有的虚拟网络设备(包括eth0),这些虚拟设备中的一个就是VPN的虚拟设备,我这里是tun0。

然后顺序执行如下命令:

route delete default #删除VPN客户端设置的默认路由 route add default gw 192.168.0.1 dev eth0 #加入正常的默认路由,192.168.0.1就是我这里正在使用的网关 route add -net 10.0.0.0 netmask 255.0.0.0 dev tun0 #将VPN内的网络地址指向VPN网关,10...*是VPN网络内使用的地址,tun0是为VPN连接配备的虚拟设备

然後就可以ping一下VPN网络内的某台机器,如果网络内没有屏蔽ping数据包的话就能看到回应。

Clone this wiki locally