我成功地通过公共 IP 在 on prem 和 aws ec2 主机之间创建了一个 wireguard 设置,如图所示,可以互相 ping 和 telnet,但我在 ec2 主机访问 onprem 服务器时遇到问题,可以 ping 但不能 telnet
本地 -> wireguard 服务器和 ec2host(ping 成功,telnet 成功)
Wireguard 对等体 -> wireguard 服务器和 ec2host (ping 成功,telnet 成功)
Wireguard 服务器 -> wireguard 对等端和 onprem 服务器 (ping 成功,telnet 成功)
Ec2 主机 -> wireguard 对等端和本地服务器(ping 成功,telnet 不正常)
这是 wireguard 的配置
服务器:
[Interface]
PrivateKey = PRIVATE_KEY
Address = 10.0.0.1/24
ListenPort = 15000
PreUp = sysctl -w net.ipv4.ip_forward=1
[Peer]
PublicKey = PUBLIC_KEY
AllowedIPs = 10.0.0.2/32, 192.168.0.0/24
PersistentKeepalive = 25
同行:
[Interface]
PrivateKey = PRIVATE_KEY
Address = 10.0.0.2/24
PreUp = sysctl -w net.ipv4.ip_forward=1
[Peer]
PublicKey = PUBLIC_KEY
Endpoint = PUBLIC_IP:15000
AllowedIPs = 10.0.0.1/32, 172.16.0.0/24
PersistentKeepalive = 25
我使用 aws 路由表从 ec2 主机向 wireguard 服务器发送流量
当我在 wireguard 服务器上执行 tcpdump 时,我可以看到 icmp 数据包通过,但是 telnet 流量并没有经过 wireguard 服务器,有人能帮我找出问题所在吗?