我当前的设置是 ubuntu vm 上的 Wireguard,它可以执行 ipv4 转发并允许对等方访问站点 LAN。
现在我想在也共享其站点 LAN 的 ubuntu 中添加另一个 Wireguard。
我该如何整合它以便用户可以访问站点 A 和 B 局域网?
站点 A 会议:
[Interface]
Address = 10.1.1.1/24
Address = 10.255.255.2/32
ListenPort = 51820
PrivateKey = *
# SaveConfig = true
# DNS = 1.1.1.1, 1.0.0.1, 10.0.100.1
PostUp = ufw route allow in on wg0 out on ens160
PostUp = iptables -t nat -I POSTROUTING -o ens160 -j MASQUERADE
PostUp = ip6tables -t nat -I POSTROUTING -o ens160 -j MASQUERADE
PreDown = ufw route delete allow in on wg0 out on ens160
PreDown = iptables -t nat -D POSTROUTING -o ens160 -j MASQUERADE
PreDown = ip6tables -t nat -D POSTROUTING -o ens160 -j MASQUERADE
[Peer]
PublicKey = *
AllowedIPs = 10.255.255.1/32, 192.168.200.0/24
List of simple user peers...
站点 B 会议:
[Interface]
PrivateKey = *
Address = 10.255.255.1/24
#ListenPort = 51820
PostUp = ufw route allow in on wg0 out on eno1
PostUp = iptables -t nat -I POSTROUTING -o eno1 -j MASQUERADE
PostUp = ip6tables -t nat -I POSTROUTING -o eno1 -j MASQUERADE
PreDown = ufw route delete allow in on wg0 out on eno1
PreDown = iptables -t nat -D POSTROUTING -o eno1 -j MASQUERADE
PreDown = ip6tables -t nat -D POSTROUTING -o eno1 -j MASQUERADE
[Peer]
PublicKey = *
AllowedIPs = 10.255.255.0/24, 10.1.1.0/24
Endpoint = *:51820
答案1
经过多次尝试和失败后,我意识到“AllowedIPs”的行为并不直观。
据我了解,它使用仅有的列表中的第一个 IP 用于与其他对等点进行通信。因此,我希望有另一个 LAN 来访问第二个对等点的资源。
嗯,也许我应该尝试在第二个对等体中添加 10.1.1.0 范围内的地址,但添加 10.255.255.0 是没有意义的。
因此解决方案是只使用一个 Wireguard 私有 LAN,即 10.1.1.0/24 就可以了。
地点A:
[Interface]
Address = 10.1.1.1/24
ListenPort = 51820
PrivateKey = *
# SaveConfig = true
# DNS = 1.1.1.1, 1.0.0.1, 10.0.100.1
PostUp = ufw route allow in on wg0 out on ens160
PostUp = iptables -t nat -I POSTROUTING -o ens160 -j MASQUERADE
PostUp = ip6tables -t nat -I POSTROUTING -o ens160 -j MASQUERADE
PreDown = ufw route delete allow in on wg0 out on ens160
PreDown = iptables -t nat -D POSTROUTING -o ens160 -j MASQUERADE
PreDown = ip6tables -t nat -D POSTROUTING -o ens160 -j MASQUERADE
[Peer]
PublicKey = *
AllowedIPs = 10.1.1.2/32, 192.168.200.0/24
List of simple user peers...
站点 B:
[Interface]
PrivateKey = *
Address = 10.1.1.2/24
#ListenPort = 51820
PostUp = ufw route allow in on wg0 out on eno1
PostUp = iptables -t nat -I POSTROUTING -o eno1 -j MASQUERADE
PostUp = ip6tables -t nat -I POSTROUTING -o eno1 -j MASQUERADE
PreDown = ufw route delete allow in on wg0 out on eno1
PreDown = iptables -t nat -D POSTROUTING -o eno1 -j MASQUERADE
PreDown = ip6tables -t nat -D POSTROUTING -o eno1 -j MASQUERADE
[Peer]
PublicKey = *
AllowedIPs = 10.1.1.0/24
Endpoint = *:51820