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

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

wKioL1RHWwvQNFIOAAGDlupoHhE074.jpg

服务器端配置命令:

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,添加完后并重启电脑。如下图:

wKiom1RHXzCS3pZcAAHPETvBtdY795.jpg

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

wKioL1RHYK3R7CzxAAK8IWphkWo828.jpg

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

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

wKiom1RHaEnwytG2AATEZzrW0Og633.jpg



验证:

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

wKioL1RHXQjzcRS3AAQNrC8tAII348.jpg

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


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

wKioL1RHXYailp-oAAC965aKYX8986.jpg

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


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

wKiom1RHdUjQ1bhXAAUIyxej6Ug372.jpg

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


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

wKiom1RHdxOC_hgyAACnXrdh-OQ744.jpg


wKiom1RHeQDgjRRcAAXyVCC4x8w016.jpg

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

(5)、访问公网:

wKiom1RHd5uhaK1BAAEnMBFpq_c994.jpg

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


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

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