目的是想把两个独立子网通过 WrieGruad 建立隧道链接实现互通。设计架构如下
subnet A<------>WireGuard-A<-------->WireGuard-B<--------->subnet B
其中 WrieGuard 是本地子网中的一台主机,有独立公网 IP 。
目前遇到的问题:WireGuard-A 可以访问 B 端所有资源,但是 subnet A 则只能访问到 WireGuard-A,无法进一步继续,B 端也是同样的问题,子网中的普通计算机无法越过 A 与 B 之间的网络。
子网中的普通计算机已经写了路由表,将对端的网络名网关设定为本端 WrieGurad 主机。WireGuard 主机也开了转发的功能,百思不得其解
WireGuard 的配置如下,网上比较常见一个配置,本身 WireGuard 运行时没问题的。似乎问题出在 WireGuard 主机的设定上?
[Interface]
Address=10.0.100.2/24
ListenPort=58520
PrivateKey=gEnXfTQag6VbRnR30KvjzC5uN=====
Mtu = 1500
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = RWRVltya0gK40qA4oQcdb1nt=====
AllowedIPS = 10.0.100.0/24,172.31.16.0/20
EndPoint = 1.2.3.4:58520