实验L2TP VPN over Cisco Router

说明:拓扑图如下。R1模拟公司边界路由器,R3模拟远端用户的家用路由器,并分别在这两台路由器上启用PAT;R2模拟ISP,并启用一个Loopback接口来充当公网上的服务器;R4模拟公司内网的主机,来充当WEB服务器。

要求:1、在R1上配置L2TP VPN,使远端的C1能够拨号到该路由器,让C1可以直接使用私有地址来访问公司总部10.1.1.0/24和4.4.4.4/32。

服务器端配置命令:

R1:

conf t
int e0/1
 ip add 10.1.1.1 255.255.255.0
 ip nat inside
 no shut
int e0/0
 ip add 12.1.1.1 255.255.255.0
 ip nat outside
 no shut
 exit
access-list 1 permit any
ip nat inside source list 1 int e0/0 overload
ip route 4.4.4.4 255.255.255.255 10.1.1.4
ip route 0.0.0.0 0.0.0.0 12.1.1.2

//创建自动分配远端用户的IP地址池:
R1(config)#ip local pool IPPool 10.1.1.100 10.1.1.200
//创建Virtual-Template接口,并指定参数:
R1(config)#interface Virtual-Template 1
R1(config-if)#ip unnumbered ethernet 0/0
R1(config-if)#peer default ip address pool IPPool
R1(config-if)#ppp authentication chap ms-chap
//开户VPDN(Virtual Private Dialup Network)功能,接受远端呼叫,并指定协议为L2TP:
R1(config)#vpdn enable
R1(config)#vpdn-group 1
R1(config-vpdn)#accept-dialin
R1(config-vpdn-acc-in)#protocol l2tp
R1(config-vpdn-acc-in)#virtual-template 1
R1(config-vpdn-acc-in)#no l2tp tunnel authentication
R1(config-vpdn)#exit
//定义本地用户数据库(用来认证的用户名和密码):
R1(config)#username cisco password cisco123


R2:

conf t
int e0/0
 ip add 12.1.1.2 255.255.255.0
 no shut
int e0/1
 ip add 23.1.1.2 255.255.255.0
 no shut
int loopback 0
 ip add 2.2.2.2 255.255.255.0
 no shut
 exit
line vty 0 15
 no login
 exit
enable password cisco


R3:

conf t
int e0/0
 ip add 30.1.1.3 255.255.255.0
 ip nat inside
 no shut
int e0/1
 ip add 23.1.1.3 255.255.255.0
 ip nat outside
 no shut
 exit
service dhcp
ip dhcp pool net30
 network 30.1.1.0 255.255.255.0
 default-route 30.1.1.3
 dns-server 202.106.0.20
 exit
ip dhcp excluded-address 30.1.1.3
access-list 3 permit any
ip nat inside source list 3 int e0/1 overload
ip route 0.0.0.0 0.0.0.0 23.1.1.2


R4:

conf t
int e0/1
 ip add 10.1.1.4 255.255.255.0
 no shut
int loopback 0
 ip add 4.4.4.4 255.255.255.0
 no shut
 exit
ip route 0.0.0.0 0.0.0.0 10.1.1.1
line vty 0 15
 no login
 exit
enable password cisco
R4(config)#ip http server


客户端:

客户端选用WindowsXP,默认情况下,windows系统中L2TP是与IPSEC功能相结合的,如果只想简单的使用L2TP隧道,需要在远程客户端系统中禁用L2TP与IPSEC的结合功能,在拨号前需要先修改注册表,方法如下:

    进入HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters,右健新建DWORD 值,重命名为:ProhibitIpSec,然后将数值数据改为1,添加完后并重启电脑。如下图:

使用“新建连接向导”创建一个“虚拟专用网络”,并在“用户名”和“密码”中填入R1上创建的用户数据库中的帐户信息,如下图:

点击“连接”后正常情况下应该可以拨号成功,但此时客户端还没有配置隧道分离。所以C1的所有流量都会通过L2TP VPN,这是不正常的,我们应该让去往公网的流量正常出去,而去往“公司内网”的流量通过L2TP隧道。客户端配置隧道分离的方法如下:

    编辑“L2TP VPN”的属性,切换到“网络”选项页,双击“Internet协议(TCP/IP)”,在“Internet协议(TCP/IP)属性”中点击“高级”,在弹出的“高级TCP/IP设置”窗口中去掉“常规”选项页中的“在远程网络上使用默认网关”前面的“√”。最后“确定”



验证:

(1)、C1在不拨号的情况下验证常规网络:

说明:可以从R3的DHCP池中获取IP,且可以ping通R1的公网IP,不能ping通R4的内网IP。


(2)、查看R3的PAT状态:

说明:从R3中的PAT记录,可以说明PAT工作正常。


(3)、查看客户端的隧道信息:

说明:当连接成功之后,会在桌面的右下角出现连接成功的图标和提示信息,点击该信息或查看“L2TP VPN”状态来查看具体的详细信息。从上图的路由表中可以看出默认网关是正常接口30.1.1.3而不是VPN接口,所以所有未知目标的流量,如Internet的流量都从正常接口发出,但只有与VPN接口地址段10.0.0.0/8同网段的才从L2TP VPN中发出,对于4.4.4.4/32,因为没有路由所以不可能通。


(4)、验证L2TP VPN Server端隧道信息:



说明:从上图中可以看出L2TP隧道和,自动生成的指向L2TP VPN Client主机接口的路由信息。L2TP VPN Client是以从Server那里动态分配的地址为源和Server的网段进行通信的,并且即使L2TP VPN Server启用PAT隧道也没受到影响。

(5)、访问公网:

说明:C1和“公网服务器”通信也是正常的。


(6)、抓包查看简单L2TP VPN数据包封装:

说明:数据包先以常规的传输层网络层来封装常规数据包,再交给PPP+L2TP+公网IP封装成可以在公网上传输的数据包。

本文出自 “银凯的博客” 博客,请务必保留此出处http://yinkai.blog.51cto.com/3813923/1566837

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。