我有这样的设置:
---服务器 1 配置---
[Interface]
Address = 10.200.200.1/24
ListenPort = 6666
PrivateKey = server_private_key
[Peer]
PublicKey = client1_public_key
AllowedIPs = 10.200.200.2/32
PersistentKeepalive = 21
[Peer]
PublicKey = client2_public_key
AllowedIPs = 10.200.200.4/32
PersistentKeepalive = 21
--- 客户端 1 配置---
[Interface]
Address = 10.200.200.2/24
PrivateKey = client1_private_key
DNS = 10.200.200.1
[Peer]
PublicKey = server_public_key
Endpoint = server_ip:6666
AllowedIPs = 10.200.200.1/32
PersistentKeepalive = 21
--- 客户端 2 配置---
[Interface]
Address = 10.200.200.4/24
PrivateKey = client2_private_key
DNS = 10.200.200.1
[Peer]
PublicKey = server_public_key
Endpoint = server_ip:6666
AllowedIPs = 10.200.200.1/32
PersistentKeepalive = 21
我可以从客户端 1 和客户端 2 ping 服务器,但是无法从客户端 2 ping 客户端 1,也无法从客户端 1 ping 客户端 2。
有没有办法让客户端 1 ping 客户端 2,而无需将客户端 2 密钥添加到客户端 1 配置中,因为这将使添加客户端变得更加困难。例如,如果我在有 5 个客户端时添加 1 个新客户端,则必须更改所有配置。
答案1
如果您将AllowedIPs
客户端配置的设置更改为AllowedIPs = 10.200.200.0/24
,则所有客户端到该10.200.200.0/24
块的流量都将通过其与服务器的 WireGuard 连接路由。这将允许您使用其 WireGuard 地址从一个客户端连接到另一个客户端——例如ping 10.200.200.4
从客户端 1 ping 客户端 2。