网络拓扑如下:
需求:私网3需要访问私网1和2后面的子网。
实现:
- 私网3,在设定路由将想访问的私网指向 wg0
wg0.conf 文件如下:
[Interface]
PrivateKey = 私网3私钥
Address = 10.10.10.4/24
[Peer]
PublicKey = 公网公钥
AllowedIPs = 10.77.77.0/24, 192.168.10.0/24, 192.168.2.0/24
Endpoint = wg.vmx.im:44445
PersistentKeepalive = 25
- 公网
将需要互通的地址段绑定各私网
wg0.conf 配置如下:
[Interface]
PrivateKey = 本机私网密钥
Address = 10.10.10.1/24
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 44445
DNS = 8.8.8.8
MTU = 1420
[Peer]
PublicKey = 私网1公钥
AllowedIPs = 10.10.10.2/32,192.168.2.0/24
[Peer]
PublicKey = 私网2公钥
AllowedIPs = 10.10.10.3/32,192.168.10.0/24
[Peer]
PublicKey = 私网3公钥
AllowedIPs = 10.10.10.4/32
- 私网1和2
仅需要将1和2的nat转发打开就可以了。当然,这种只能访问一个网段,垮网段需要网关配合。
wg0.conf 文件如下,其中 ens192换成系统的网卡即可:
[Interface]
PrivateKey = 私网1-2私钥
Address = 10.10.10.1-2/24
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens192 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens192 -j MASQUERADE
[Peer]
PublicKey = 公网公钥
AllowedIPs = 10.77.77.0/24
Endpoint = wg.vmx.im:44445
PersistentKeepalive = 25
文章评论