客户

客户

我有三个 Linux/Debian 主机:客户端、中间人和网关。客户端和网关位于 NAT 后面,而中间人有一个公共 IPv4 地址。

因此,Endpoint客户端和网关将成为中间人。然后,我想以这种方式路由来自客户端的所有流量:

Client ==> Middleman ==> Gateway ==> Internet

我当前的配置是:

客户

[Interface]
PrivateKey = 
Address = 10.0.0.1/32
ListenPort = 51821

[Peer]
PublicKey = 
Endpoint = MIDDLEMAN_PUBLIC_IP:51823
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

中间人

[Interface]
PrivateKey = 
Address = 10.0.0.3/32
ListenPort = 51823

PreUp = sysctl -w net.ipv4.ip_forward=1


# Client
[Peer]
PublicKey = 
AllowedIPs = 10.0.0.1/32

# Gateway
[Peer]
PublicKey = 
AllowedIPs = 10.0.0.0/24

网关

[Interface]
PrivateKey = 
Address = 10.0.0.2/32
ListenPort = 51822

# From wg0 to eth0
PreUp = sysctl -w net.ipv4.ip_forward=1
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE


[Peer]
PublicKey = 
Endpoint = MIDDLEMAN_PUBLIC_IP:51823
AllowedIPs = 10.0.0.0/24
PersistentKeepalive = 25

目前隧道正在运行,我可以通过 Wireguard 的隧道从客户端 ssh 到网关,但互联网流量卡在中间人那里(根据 TCP 转储,尝试 ping 8.8.8.8)。

我确实在 Middleman 上遗漏了一些 iptables 规则,但我已经尝试了来自不同在线指南的几条规则。

您能建议我工作配置吗?

相关内容