问题描述
L2TP 具有多种应用方式,我们的场景是:
1)在两个出口网络设备上,配置 L2TP 服务(LNS、LAC)以实现两个网络互联;
2)而两个内部网络内的用户对此并无感知,用户无需进行任何操作;
该笔记将记录:在 Huawei 中,如何配置网络设备来提供 L2TP 服务(LNS),并用华为设备来连接 LNS,以及相关问题解决办法;
解决方案
该笔记内容参考自官方文档,目的是熟悉配置过程(实验目的),了解相关的常见问题;
建议参考华为设备手册(配置 L2TP Client 发起 L2TP 连接),以获取更加详细的说明;
网络拓扑概述
配置 LNS 服务
[AR2]aaa [AR2-aaa]local-user huawei password cipher Huawei@123 [AR2-aaa]local-user huawei service-type ppp [AR2]l2tp enable [AR2]ip pool l2tp-srv-pool [AR2-ip-pool-l2tp-srv-pool]network 192.168.10.1 mask 24 [AR2-ip-pool-l2tp-srv-pool]gateway-list 192.168.10.254 [AR2]interface Virtual-Template 0 [AR2-Virtual-Template0]ip address 192.168.10.254 24 # L2TP 网关地址 [AR2-Virtual-Template0]remote address pool l2tp-srv-pool [AR2-Virtual-Template0]ppp authentication-mode chap [AR2]l2tp-group 2 [AR2-l2tp2]tunnel password cipher Huawei@123 [AR2-l2tp2]tunnel name AR2 # 根据我们对文档的理解,LNS 的 Tunnel Name 并不参与验证,仅是标识 [AR2-l2tp2]allow l2tp virtual-template 0 remote AR1-to-AR2 # 仅允许特定隧道名来发起连接(非 l2tp group 1 必须指定 remote 参数)
配置 LAC 服务
[AR1]l2tp enable [AR1]interface Virtual-Template 0 [AR1-Virtual-Template0]ip address ppp-negotiate [AR1-Virtual-Template0]ppp chap user huawei [AR1-Virtual-Template0]ppp chap password cipher Huawei@123 [AR1-Virtual-Template0]l2tp-auto-client enable [AR2]l2tp-group 2 [AR2-l2tp2]tunnel password cipher Huawei@123 [AR2-l2tp2]tunnel name AR1-to-AR2 # 我们的 LNS 仅允许该隧道名,所以本端需要使用该隧道名; [AR2-l2tp2]start l2tp ip 10.0.12.2 fullusername huawei
问题:用户名大小写问题(用户名密码正确,但是认证失败)
当华为设备登录时,本地的用户名是小写的,即 aaa 里的用户名都是小写字母。我们在 Web 页面使用大写的用户名,但是保存后全部为小写;
我们的 xl2tpd LNS 配置用户名为大写,导致无法找到与之匹配的用户,认证失败;
所以,只能修改 xl2tpd 服务,全部使用小写用户名(我们密码也该为小写,虽然没有必要)
问题:对于不支持隧道名称的客户端
部分客户端(通常是桌面环境),并不支持隧道名及隧道认证,所以需要对 LNS 进行调整:
[AR2]l2tp-group 1 # 其他 l2tp-group 的 allow 必须指定 remote 名称; [AR2-l2tp2]undo tunnel authentication # 客户端不支持隧道认证,所有取消隧道认证; [AR2-l2tp2]allow l2tp virtual-template 0 # 不指定 Remote 以允许任意客户端连接(主要原因是客户端不支持指定隧道名)
结合如上配置,GNOME Desktop 的 L2TP 能够成功连接(鉴于未开启 IPSec 服务,所以当连接时也不要配置 IPSec 相关内容);
排障:隧道无法建立成功
问题描述
我们通过 Huawei AR1220E-S 路由器,部署 L2TP 服务,但是我们无法通过远程完成接入,隧道建立失败;
原因分析
网络拓扑:
pc-desktop ===(LAN)===> Router <== ==(WAN)===> AR1220 <===(LAN)=== pc-laptop \ / | | v Sniffer device (Wireshark)
在 Sniffer device 中,我们尝试验证:(1)pc-desktop 能够正确发送报文;(2)Huawei AR1220 能够是否正确响应;
经过测试,我们发现 pc-dektop 发送 SCCRQ 报文,Huawei AR1220 回应 SCCRP 报文,但是 Router 立即回复 ICMP: Port unreachable 报文;
检查端口号,我们发现 SCCRQ.port 与 port 并不对称,导致 Router 的 NAT 无法正确处理,所以我们猜测是 AR1220 的 NAT 处理范围过于宽泛;
解决方案
我们尝试修改 AR1220 的 NAT 规则,使其能够精确匹配,问题得以解决:
acl 2999 # rule 5 permit rule 10 permit source 172.3.253.1 0.0.0.255