在wireguard(以下简称服务器)上有一个vpn。这是服务器配置:wg0.conf
[Interface]
Address = 172.20.100.1/24
ListenPort = 9002
PrivateKey = uio77898hFT89UY=
SaveConfig = false
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -s 172.20.100.0/24 -o ens18 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -s 172.20.100.0/24 -o ens18 -j MASQUERADE
[Peer]
PublicKey = 4m7879878798098098
AllowedIPs = 172.20.100.50/32,172.16.100.0/24
有一台具有以下配置的机器连接到wireguard(以下简称客户端)。
[Interface]
Address = 172.20.100.50/32
PrivateKey = CC/Ti8RUTv8gCTrwixgCsRW9QK/A89Hb6cY0D6Xy3nI=
DNS = 208.67.222.222 208.67.220.220
PostUp = iptables -A FORWARD -i %i -j ACCEPT;iptables -t nat -A POSTROUTING -s 172.16.100.0/24 -o enp0s5 -j MASQUERADE
PostDown = iptables -A FORWARD -i %i -j ACCEPT;iptables -t nat -D POSTROUTING -s 172.16.100.0/24 -o enp0s5 -j MASQUERADE
[Peer]
AllowedIPs = 172.20.100.0/24
PublicKey = B24s34juy0HNp6jvztoLmoTudpmKhLag7Qh+f64EUUA=
Endpoint = wireguard-ip:9002
PersistentKeepalive = 25
需要将所有连接到wiregard的机器都放到客户端后面的网络172.16.100.0/24中。
使用此配置,我可以毫无问题地在其本地地址访问客户端。而到其lokalka 的其他地址将无法正常工作。ipv4.forward 无处不在 1
客户端配置中的网络地址有错误。20 应该而不是 16 一切正常。