L2TP的LAC自动拨号实验

Posted 坏坏-5

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了L2TP的LAC自动拨号实验相关的知识,希望对你有一定的参考价值。

目录

实验拓扑

实验说明

基本配置

LAC自动拨号(Call-LNS)配置

配置SNAT

测试


实验拓扑

实验说明

  • Client作为内网用户,使用L2TP的LAC自动拨号建立VPN隧道,访问公司总部的Telnet Server服务器
    • LNS为LAC分配的IP地址池是192.168.1.2-192.168.1.5
    • PPP认证方式采用PAP认证
  • Client可以使用202.1.1.1-202.1.1.5这段公网地址访问公网设备

基本配置

  • 为Client、Telnet Server、公网设备配置IP地址

# Client
int lo 0
 ip ad 10.1.1.1 32
int g0/0/0
 ip ad 172.16.1.1 24

ip route-static 0.0.0.0 0 172.16.1.254

# Telnet Server
int lo 0
 ip ad 10.2.2.1 32
int g0/0/0
 ip ad 172.16.2.1 24

ip route-static 0.0.0.0 0 172.16.2.254

# 配置Telnet服务
user-interface vty 0 4

 set authentication password cipher huawei@123
 user  privilege level 3

# 公网设备
int g0/0/0
 ip ad 1.1.1.3 24

ip route-static 202.1.1.1 29 1.1.1.1

# SW
stp disable  //关闭STP,避免抓包的影响

  • 防火墙基本配置

# LAC
user-interface current

 id 0 0

undo info en

int g1/0/0

 ip ad 172.16.1.254 24

int g1/0/1

 ip ad 1.1.1.1 24

firewall zone trust

 add int g1/0/0

firewall zone untrust

 add int g1/0/1

# LNS
user-interface current

 id 0 0

undo info en

int g1/0/0

 ip ad 172.16.2.254 24

int g1/0/1

 ip ad 1.1.1.2 24

firewall zone trust

 add int g1/0/0

firewall zone untrust

 add int g1/0/1

LAC自动拨号(Call-LNS)配置

  • LAC配置
    • 配置L2TP功能,指定LNS的IP地址

[LAC]l2tp enable                                        //全局使能L2TP
[LAC]l2tp-group 1                                       //配置L2TP组
[LAC-l2tp-1]tunnel name LAC                             //配置隧道名
[LAC-l2tp-1]start l2tp ip 1.1.1.2 fullusername badboy   //配置LNS的IP地址,以及触发连接的用户名
[LAC-l2tp-1]tunnel authentication                       //启用隧道认证
[LAC-l2tp-1]tunnel password cipher Huawei123            //配置隧道认证的密码

  • 当LAC需要与不同的LNS建立L2TP隧道时,可以使用不同的组来建立不同的隧道
  • 配置LNS时,其中使用的隧道名必须与LAC中的隧道名相同
  • 指定LNS的地址时,可以指定多个不同的LNS,已实现高可靠性(start l2tp ip x.x.x.x ip x.x.x.x ip x.x.x.x
  • 配置虚拟模板接口,并将接口划分进DMZ区域

[LAC]interface Virtual-Template 1                                   //进入虚拟模板接口视图
[LAC-Virtual-Template1]ppp authentication-mode pap
[LAC-Virtual-Template1]ppp pap local-user badboy password cipher huawei@123 //配置ppp认证的用户名及密码
[LAC-Virtual-Template1]ip address ppp-negotiate                     //配置虚拟模板接口的IP获取方式

[LAC-Virtual-Template1]call-lns local-user badboy                   //使用badboy进行L2TP拨号到LNS


[LAC]firewall zone dmz
[LAC-zone-dmz]add interface Virtual-Template 1                      //将接口划分进DMZ区域

  • 虚拟模板接口中配置认证时,也可以采用CHAP认证
  • 在使用badboy进行拨号时,再最后配置,可以抓包进行查看L2TP隧道建立的过程信息
  • 配置到达总部内网的路由,出接口为VT接口。即将访问总部的流量引入到隧道中。在LAC上还需要配置缺省路由,来保证公网的连通性。配置到达私网的静态路由

ip route-static 10.2.2.1 32 Virtual-Template 1
ip route-static 0.0.0.0 0 1.1.1.2
ip route-static 10.1.1.1 255.255.255.255 172.16.1.1

  • 配置NAT策略,使Client访问总部的服务器时,使用的是LNS分配的IP地址

[LAC]nat-policy
[LAC-policy-nat]rule name l2tp
[LAC-policy-nat-rule-l2tp]source-zone trust
[LAC-policy-nat-rule-l2tp]egress-interface Virtual-Template 1    //配置出接口为VT接口
[LAC-policy-nat-rule-l2tp]source-address 10.1.1.1 32
[LAC-policy-nat-rule-l2tp]destination-address 10.2.2.1 32
[LAC-policy-nat-rule-l2tp]action source-nat easy-ip              //使用easy-ip的方式做NAT转换

  • 因为使用的是Easy-ip的方式进行IP地址的转换,所以如果存在多台Client都是通过LAC连接访问总部的服务器的,那么都是使用的VT接口获得的IP地址访问的
  • 配置区域间的安全策略

# 配置流量从进入VT接口的安全策略
security-policy

 rule name  trust_dmz

 source-zone trust

 destination-zone dmz

 source-address 10.1.1.1 32

 destination-address 10.2.2.1 32

 action permit

# 配置流量从防火墙重新进行封装后,从物理接口发出的安全策略
security-policy

 rule name local_untrust

 source-zone local

 destination-zone untrust

 source-address 1.1.1.1 32

 destination-address 1.1.1.2 32

 service l2tp

 action permit

  • 因为VT接口是划分进DMZ区域了,在Client访问总部的Telnet Server时,流量是从trust区域到dmz区域的
  • 10.1.1.1访问10.2.2.1时,数据包到达防火墙,根据静态路由,将数据包引入VT隧道接口,会将数据包重新封装后,再把数据把从实际的物理接口发出,所以安全策略中配置的源区域为防火墙自身,即Local,目的区域为Untrust区域,匹配的源目地址即为隧道的实际源目地址,放行的服务为L2TP
  • 数据包封装过程
    • 数据包到达LAC后,会进行Easy-IP的地址转换,将源IP转换为VT接口的IP地址
    • 查找路由表后,发现是从VT接口发出,然后根据转发表,将数据包迭代到真实的物理接口,封装上新的IP报头后,源IP为1.1.1.1,目的IP为1.1.1.2,传输层使用的协议是UDP,源端口是随机产生的,目的端口是L2TP使用的1701,使用的封装协议是L2TP,内层协议是PPP,然后从物理接口发出
    • 数据包到达LNS后,发现目的IP是自己,进行解封装,发现是L2TP的数据报文,拆掉外层包头后,查看内层的数据信息,再根据目的IP进行转发

  • LNS配置
    • 配置IP地址池,用于为LAC分配IP地址

[LNS]ip pool l2tp

[LNS-ip-pool-l2tp]section 1 192.168.1.2 192.168.1.5

  • 配置L2TP的业务方案,即将L2TP与IP地址池进行绑定

[LNS]aaa

[LNS-aaa]service-scheme l2tp        //配置L2TP的业务方案

[LNS-aaa-service-l2tp]ip-pool l2tp  //在业务方案中,将用于给LAC分配地址的地址池进行绑定

  • 配置认证域,并配置分支组以及分支组中的用户信息

[LNS-aaa]domain default                             //默认的认证域

[LNS-aaa-domain-default]service-type l2tp           //服务类型为L2TP
 

[LNS]user-manage group /default/branch              //创建分支组

[LNS]user-manage user badboy                        //创建用户

[LNS-localuser-badboy]alias huaihuai                //配置别名

[LNS-localuser-badboy]parent-group /default/branch  //将该用户添加到分支组下

[LNS-localuser-badboy]password huawei@123           //为该用户配置密码

  • 创建的用户即用来做认证的用户
  • 配置VT接口,并将接口划分进DMZ区域

[LNS]interface Virtual-Template 1

[LNS-Virtual-Template1]ip ad 192.168.1.1 29

[LNS-Virtual-Template1]ppp authentication-mode pap   //配置认证类型为PAP认证

[LNS-Virtual-Template1]remote service-scheme l2tp    //与L2TP的业务方案进行绑定

[LNS]firewall zone dmz

[LNS-zone-dmz]add int Virtual-Template 1

  • 为VT接口配置的IP地址,不能是在LNS为LAC分配的IP地址池中的地址
  • 在VT接口中,需要和AAA中的L2TP业务方案绑定,才能为对端分配IP地址
  • 配置L2TP的组

[LNS]l2tp enable

[LNS]l2tp-group 1

[LNS-l2tp-2]allow l2tp virtual-template 1 remote LAC  //指定接收呼叫时隧道对端的名称和VT接口

[LNS-l2tp-2]tunnel authentication                     //启用隧道认证

[LNS-l2tp-2]tunnel password cipher Huawei123          //配置隧道认证的密码

  • 配置接收呼叫时的对端隧道名称一定要与LAC上配置的隧道名一致
  • 配置缺省路由以及到达私网的静态路由

ip route-static 0.0.0.0 0.0.0.0 1.1.1.1

ip route-static 10.2.2.1 255.255.255.255 172.16.2.1

  • 配置区域间的安全策略

security-policy

 rule name untrust_local

  source-zone untrust

  destination-zone local

  source-address 1.1.1.1 mask 255.255.255.255

  destination-address 1.1.1.2 mask 255.255.255.255

  service l2tp

  action permit

security-policy
 rule name dmz_trust

  source-zone dmz

  destination-zone trust

  source-address 192.168.1.0 mask 255.255.255.248

  destination-address 10.2.2.1 mask 255.255.255.255

  action permit

  • 数据包从隧道收到后,数据包的源地址是1.1.1.1,目的地址是1.1.1.2,即防火墙自身的接口地址,所以匹配的源区域是Untrust,目的区域是自身的Local区域,需要放行L2TP服务
  • 从隧道接口收到数据包,隧道口是属于DMZ区域的,所以匹配的源区域为DMZ,访问目的地址为Trust区域,因为在LAC上,已经做了SNAT的转换,所以匹配的源地址为LNS为LAC的VT接口分配的IP地址

配置SNAT

  • 在LAC上配置源NAT,实现Client可以访问公网设备
    • 配置NAT地址池

nat address-group ISP 0

 mode pat

 section 1 202.1.1.1 202.1.1.5

  • 配置NAT策略

nat-policy

 rule name ISP

  source-zone trust

  destination-zone untrust

  source-address 10.1.1.1 mask 255.255.255.255

  action source-nat address-group ISP

  • 配置区域间的安全策略

security-policy

 rule name ISP

  source-zone trust

  destination-zone untrust

  source-address 10.1.1.1 mask 255.255.255.255

  action permit

测试

  • 在LAC上,在VT接口视图下,使用call-lns local-user badboy进行拨号连接LNS
    • 在LAC的G1/0/1接口抓包,查看L2TP的连接信息

  • 在LNS上查看L2TP隧道的建立情况

  • 在Client上ping测试与Telnet Server的连通性,并在LAC上查看会话表项

  • 可以正常访问,LAC上的会话表项可以看到,10.1.1.1的59307端口被转换为192.168.1.2的2049端口,对10.2.2.1的2048端口发起ICMP的访问
  • l2tp的会话表项是建立的L2TP隧道,隧道的出口地址是1.1.1.2,目的端口是1701
  • 在Client上尝试登陆Tenlet Server,并查看LAC的会话表项

  • 可以正常登录,并且防火墙上可以看到相应的会话表项
  • 使用Client访问公网测试

  • Client也可以正常访问公网

以上内容均属原创,如有不详或错误,敬请指出。

本文作者: 坏坏

本文链接:http://t.csdn.cn/Otfck

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请联系作者注明出处并附带本文链接!

以上是关于L2TP的LAC自动拨号实验的主要内容,如果未能解决你的问题,请参考以下文章

L2TP的LAC自动拨号实验

如何配置l2tp over gre隧道

求教如何在win2008r2上搭建l2tp

配置远程拨号用户发起L2TP隧道连接实验

L2TP协议

使用L2TP拨号如何用无线路由共享上网