我正在尝试在两台服务器(CentOS 7 和 Ubuntu 16)之间设置 L2TPv3 隧道
在 CentOS 7 端我有以下内容:
ip l2tp add tunnel tunnel_id 6000 peer_tunnel_id 5000 encap udp local LOCAL_IP remote REMOTE_IP udp_sport 5002 udp_dport 6002
ip l2tp add session tunnel_id 6000 session_id 1000 peer_session_id 2000
ip link set l2tpeth0 up mtu 1488
ip addr add 10.0.3.2 peer 10.0.3.1 dev l2tpeth0
在 Ubuntu 16 上,我有以下内容
ip l2tp add tunnel tunnel_id 3000 peer_tunnel_id 4000 encap udp local LOCAL_IP remote REMOTE_IP udp_sport 5001 udp_dport 6001
ip l2tp add session tunnel_id 3000 session_id 2000 peer_session_id 1000
ip link set l2tpeth1 up mtu 1488
ip addr add 10.0.3.1 peer 10.0.3.2 dev l2tpeth1
隧道设置成功
root@srv1057:~# ip l2tp show tunnel
Tunnel 6000, encap UDP
From LOCAL_IP to REMOTE_IP
Peer tunnel 5000
UDP source / dest ports: 5002/6002
root@srv1057:~# ip l2tp show session
Session 1000 in tunnel 6000
Peer session 2000, tunnel 5000
interface name: l2tpeth0
offset 0, peer offset 0
[root@localhost ~]# ip l2tp show tunnel
Tunnel 5000, encap UDP
From LOCAL_IP to REMOTE_IP
Peer tunnel 6000
UDP source / dest ports: 5002/6002
[root@localhost ~]# ip l2tp show session
Session 2000 in tunnel 5000
Peer session 1000, tunnel 6000
interface name: l2tpeth2
offset 0, peer offset 0
一端私网IP为10.0.3.1,另一端为10.0.3.2
无法 ping 通对方 IP。
[root@localhost ~]# ping 10.0.3.2
PING 10.0.3.2 (10.0.3.2) 56(84) bytes of data.
From 10.0.3.1 icmp_seq=1 Destination Host Unreachable
From 10.0.3.1 icmp_seq=2 Destination Host Unreachable
From 10.0.3.1 icmp_seq=3 Destination Host Unreachable
From 10.0.3.1 icmp_seq=4 Destination Host Unreachable
^C
--- 10.0.3.2 ping statistics ---
6 packets transmitted, 0 received, +4 errors, 100% packet loss, time 5001ms
pipe 4
网络端(交换机和路由器)应该没问题,因为我可以在同一私有范围内的 GRE 隧道之间建立连接而没有任何问题,只是 L2TPv3 有点混乱。
笔记:
1)两台服务器的 /etc/sysctl.conf 中均启用了 ip 转发
2)在所有服务器上禁用 iptables /firewall/ufw
任何对此的见解都将不胜感激!
谢谢
答案1
Ubuntu自动加载l2tp_eth模块
仅适用于 CentOS 7
modprobe l2tp_eth
并且两个服务器都添加 dev l2tpeth0,除非你有多个 l2tunnel