CentOS 8 服务器构建 L2TP 服务器(通过 IPsec)操作指南 - [lns default] 模块,将 local ip 设置为 LNS 的网关 IP 地址。
如下图:
修改xl2tpd配置文件中的安全配置。
vim /etc/ppp/options.xl2tpd
文本中增加验证字段的算法要求,DNS视具体情况进行调整。
require-mschap-v2
将L2TP服务器的账户与密码写入/etc/ppp/chap-secrets文件。
vim /etc/ppp/chap-secrets
依次写用户名、服务名、密码、IP地址,实际上服务名与IP地址都写成星号即可,主要设置用户名与密码,以空格或tab隔开。填写服务名用于多服务场景,填写IP地址用于指定该用户登录后获取的IP地址为某个固定地址。
然后就是防火墙的规则调整了,首先停止firewalld服务并禁用。
systemctl stop firewalld
systemctl mask firewalld
安装iptables服务。
yum install -y iptables iptables-services
清空iptables规则。
iptables -P INPUT ACCEPT
iptables -F
iptables -X
iptables -Z
执行命令进行规则配置,其中转发相关的地址段请设置与L2TP地址段一致。
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -I FORWARD -s 172.16.113.0/24 -j ACCEPT
iptables -I FORWARD -d 172.16.113.0/24 -j ACCEPT
iptables -A INPUT -p udp -m policy --dir in --pol ipsec -m udp --dport 1701 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 1701 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 500 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 4500 -j ACCEPT
iptables -A INPUT -p esp -j ACCEPT
iptables -A INPUT -m policy --dir in --pol ipsec -j ACCEPT
iptables -A FORWARD -i ppp+ -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
上述命令执行完后,保存iptables规则并重启服务。
service iptables save
systemctl restart iptables
走完上面的流程,现在就需要检查iptables、ipsec、xl2tpd三个服务是否是正常运行了。
systemctl status iptables
systemctl status ipsec
systemctl status xl2tpd
这个地方出了两次错误,第一次启动失败是内核重新挂载l2tp_ppp失败,需要修改/usr/lib/systemd/system/xl2tpd.service配置文件,注释掉相关配置。
ExecStartPre=/sbin/modprobe -q l2tp_ppp
然后执行以下命令重启服务。
systenctl daemon-reload
systemctl restart xl2tpd
第二个报错就相对简单,但是不好找,我把LNS的本地地址配错了,一直提示地址绑定失败。所以操作的时候还是要细心。
最后再看一下连接成功的页面。
得益于高链路质量,延迟只有5ms左右。
后台回复“l2tp”获取自动化部署脚本。
长按二维码
关注我们吧
79.55 Gbps!已经初步测得VMWare ESXi 6.7的vSwitch转发性能
Debian阵营还是要原装,Ubuntu是真不行
还得是华为,OpenEuler打流能到37 Gbps
羡慕!大佬的VPP能达到180G性能,而我的却只有13.5G
iperf命令简介
iperf3命令简介
听说你想收集HCL的设备版本?好吧,成全你!
还在到处找Win11镜像?自己动手,丰衣足食!
用WireShark抓包解决StrongSwan和H3C对接失败的问题
VMware vCenter Server 7.0快速部署操作指南
上一篇: 如何在前端实现超酷的实时礼物动画
下一篇: JavaScript 回顾