vpnc分流

      自从改用Ubuntu以来,和实验室机群的连接就都通过vpnc实现了。功能很强大啊。可是用了一段时间以后就又有不满了。在使用vpn连接的时候网络通信就完全划归vpnc指向的主机了。应该是为了安全起见,服务主机那边一般不会提供解析外网地址的权限,所以连上vpn之后就不能正常上网了。如果查Cisco官方的资料,结论大多数都是如何修改服务器端之类的blahblah。一般周末我登录实验室的计算机都是查看程序运行情况以及上传新的任务而已。就为了这么几分钟经常要断开Internet连接,特别是开着下载任务的时候很烦人。

      今天早上下了决心,特别花了点时间修改配置实现了vpnc的分流。实际上vpnc的分流就是在vpn建立的时候设立一个IP解析规则:实验室之外的所有IP都走路由上的DNS解析。最好的一点是我只要连接一个主机IP就够了。机群和楼下实验室的控制都可以在该主机上通过ssh等实现,因此实际上简化了设置过程,虽然有点绕远。

备忘:设置方法如下

1.更改vpnc连接配置文件.conf。增加一行调用自制脚本的语句。

Script /etc/vpnc/自制脚本的名字

2.按如下格式建立自制脚本。(来源

#!/bin/sh

# Add one IP to the list of split tunnel
add_ip ()
{
export CISCO_SPLIT_INC_${CISCO_SPLIT_INC}_ADDR=$1
export CISCO_SPLIT_INC_${CISCO_SPLIT_INC}_MASK=255.255.255.255
export CISCO_SPLIT_INC_${CISCO_SPLIT_INC}_MASKLEN=32
export CISCO_SPLIT_INC=$(($CISCO_SPLIT_INC + 1))
}

# Initialize empty split tunnel list
export CISCO_SPLIT_INC=0

# Delete DNS info provided by VPN server to use internet DNS
# Comment following line to use DNS beyond VPN tunnel
unset INTERNAL_IP4_DNS

# List of IPs beyond VPN tunnel
add_ip vpn连接的目标IP,不要误认为是服务器端的IP,这里要填入实验室的IP。
#以下可添加多个IP

# Execute default script
. /etc/vpnc/vpnc-script

# End of script

这就大功告成了。添加IP和划分DNS的过程都由相应命令自己执行。如果通过vpnc连接的情况不太复杂,这是最好的方法。

Advertisements
  1. 留下评论

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: