I am LAZY bones? AN ancient AND boring SITE

2009年 09月 07日 的归档

用vpnc搞定cisco防火墙

公司某地的现场服务器,由于安全的需要,把cisco防火墙的VPN访问给打开了,然后给我们发了一个邮件,一看里面的附件,是个”Cisco VPN Client 4.7.00.0533.exe”,就知道怎么回事了,无视此邮件,自己去寻找开源的解决方案吧~
好在也还比较简单,as vpn以后(as is aliased to `eix -c’),出来几个软件,一看觉得vpnc比较顺眼,依赖少比较轻量,就emerge上了,然后就有了 /etc/vpnc/default.conf ,打开一看,几个配置项非常地简单明了,账号密码之类的一一填上即可。就是 IKE Authmode 这个选项,要和你的服务器管理器联系一下,才能确认,我这边用的psk。
然后,就可以启动vpnc了,方法是执行

sudo /etc/init.d/vpnc start

然后,我这里由于用的是psk这个较弱的方式,出了点小错:

vpnc            |* Starting VPNC: vpnc...
vpnc            |/usr/sbin/vpnc: peer selected (single) DES as "encryption" method.
vpnc            |This algorithm is considered too weak today
vpnc            |If your vpn concentrator admin still insists on using DES
vpnc            |use the "--enable-1des" option.
vpnc            |
vpnc            |* start-stop-daemon: failed to start `/usr/sbin/vpnc'            [ !! ]
vpnc            |* ERROR: vpnc failed to start

查看了一下man页,发现 –enable-1des 这个选项对应的配置文件行是:

Enable Single DES

把此行加到 /etc/vpnc/default.conf 的末尾,再启动服务,就一切正常了。
ifconfig的结果会多出一个 tun0:

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:xxx.xxx.xxx.xxx  P-t-P:xxx.xxx.xxx.xxx  Mask:255.255.255.255

route的结果也会有tun0接口对应的路由,到此,就可以直接使用10.xxx.xxx.xxx这样的内网地址和特定的远程服务器进行通讯了。
当然,如果你要频繁使用某vpn的话,也可以将vpnc服务加载到启动级别里。