使用CentOS 6.0 VPN 客户端连接H3C路由器

冬日温暖 2011-08-26

我目前使用的是网通线路,网通与电信之间的距离堪比天涯海角。正巧有一台H3C 路由器同时接了网通和电信的线路,所以打算在这个设备上配置VPN,使我可以顺畅访问电信网络内部的资源。这台设备型号是H3C MSR 5006,支持L2TP/IPSEC VPN ,不支持PPTP。

我的笔记本跑的是CentOS 6.0, 在Linux上面的L2TP VPN客户端不是很多,GOOGLE了一下觉得xl2tpd + pppd + 密码验证  这个方法实现比较简单,就朝这条路走下去吧,使用xl2tpd + pppd 做客户端连接 H3C MSR 5006 的 L2TP VPN。

路由器上的配置挺容易,与做Windows客户端连接L2TP VPN的方法一样,贴一段配置,如下:

<msr5006>dis cur
#
 version 5.20, Release 2104P02
#
 sysname msr5006
#
 l2tp enable   
#
 firewall enable
#
 domain default enable system
#
 dns resolve
 dns server 221.6.4.66
 dns server 202.102.3.141
#
 telnet server enable
#
 ip ttl-expires enable
 ip unreachables enable
#
 dar p2p signature-file flash:/p2p_default.mtd
#
acl number 3001
 rule 5 permit ip source 10.58.1.0 0.0.0.255
 rule 100 deny ip
#
vlan 1
#
domain system
 access-limit disable
 state active
 idle-cut disable
 self-service-url disable
 ip pool 1 10.58.1.2 10.58.1.254           #L2TP客户端地址范围
#
user-group system
#
local-user miaotian
 password cipher -YSLT1^M6PGQ=^Q`MAF4<1!!
 authorization-attribute level 3
 service-type ssh telnet
 service-type ppp
#
cwmp
 undo cwmp enable
#
l2tp-group 1
 undo tunnel authentication
 mandatory-lcp
 allow l2tp virtual-template 0
#
interface Virtual-Template0
 ppp authentication-mode pap
 remote address pool 1                       #L2TP客户端地址使用地址池1
 ip address 10.58.1.1 255.255.255.0          #L2TP虚接口地址
#
interface NULL0
#
interface GigabitEthernet0/0
 port link-mode route
 description link-wan
 nat outbound 3001                           #从网通网关NAT出
 ip address 58.1.1.2 255.255.255.252
 ipsec no-nat-process enable
#
interface GigabitEthernet0/1
 port link-mode route
 ip address 20.1.1.2 255.255.255.252
#
interface GigabitEthernet0/2
 port link-mode route
 nat outbound 3001                           #从电信网关NAT出
 ip address 10.218.1.254 255.255.255.0    
#
 ip route-static 0.0.0.0 0.0.0.0 10.218.1.1  #电信网关
 ip route-static 58.0.0.0 255.0.0.0 58.1.1.1 #网通网关
 ip route-static 10.0.0.0 255.0.0.0 20.1.1.1 #内部其他网络

#              
 dhcp enable
#
 load xml-configuration
#
 load tr069-configuration
#
user-interface con 0
user-interface aux 0
user-interface vty 0 4
 authentication-mode scheme
#
return
<msr5006> 


使用Windows 自带的客户端,在注册表里禁用IPSEC,重启系统后连接测试成功。正确获得客户端地址10.58.1.x。证明上述配置已经OK。

在笔记本上,用yum安装xl2tpd ,pppd 等做L2TP所必要的包。 CentOS 6上加入EPEL 的YUM源 (可以自己写repo文件,也可以从 http://Fedoraproject.org/wiki/EPEL这里下载RPM包直接安装).

OK,编辑完以后 echo 'c utvpn' > /var/run/xl2tpd/l2tp-control 测试了一下。 VPN 可以正确连接, 虚拟网卡ppp0也出来了, 但是ppp0获得的地址并非

像Windows那样正确获得从VPN 地址池里分配的地址,而是把笔记本的wlan0地址配进了ppp0.

tail /var/log/message 发现,pppd获得的remote ip 正确,为10.58.1.1。  local ip 为 wlan0 的 ip.

在笔记本上telnet 路由器的虚接口地址也可以登录。现在,仅是想实现网通进电信出已经实现了。而我还想访问内网资源。。。也就是10.0.0.0/8里面的内容

这就麻烦了,得每次在不同的地方上网以后根据当前wlan0获得的出口地址在20.1.1.1上加路由,要么就是得让我获得10.58.1.0/24这个子网的地址。

相关推荐