请问 3 台主机用 wireguard 怎么组成内网?

2021-01-22 10:36:11 +08:00
 Huelse

我想要 3 台主机组成内网,wg0.conf 分别配置如下:

公网主机(假设 ip 1.2.3.4):

[Interface]
Address = 192.168.100.1/24
ListenPort = 12345
PrivateKey = abc

# Win 笔记本
[Peer]
PublicKey = t++
AllowedIPs = 192.168.100.2/32

# unraid
[Peer]
PublicKey = eEm
AllowedIPs = 192.168.100.3/32

Win 笔记本:

[Interface]
PrivateKey = cba
Address = 192.168.100.2/32

[Peer]
PublicKey = F2H
AllowedIPs = 192.168.100.0/24
Endpoint = 1.2.3.4:12345

unraid:

[Interface]
PrivateKey=bac
Address=192.168.100.3/32
# 下面是自动生成的
ListenPort=51820
PostUp=logger -t wireguard 'Tunnel WireGuard-wg0 started'
PostUp=iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o br0 -j MASQUERADE
PostDown=logger -t wireguard 'Tunnel WireGuard-wg0 stopped'
PostDown=iptables -t nat -D POSTROUTING -s 192.168.100.0/24 -o br0 -j MASQUERADE

[Peer]
#unraid
PublicKey=F2H
Endpoint=1.2.3.4:12345
AllowedIPs=192.168.100.0/24

最终效果是我的笔记本能 Ping 通公网主机内的服务,端口访问都可以等,另一边 unraid 的也可以 ping 通公网主机( ping 192.168.100.1 ),key 等隐私信息已简化。

但最主要的笔记本访问 unraid 却始终不行(例如笔记本上 ping 192.168.100.3),请教下各位怎么操作,谢谢!

809 次点击
所在节点    问与答
4 条回复
jasonyang9
2021-01-22 16:38:33 +08:00
3 个节点上的`wg`输出贴一下,最好带各自的防火墙信息。

`unraid`上用`iptables`做了 SNAT,但没有允许转发,比较奇怪。它需要转发和做 MASQ 么?

除此之外没有明显的问题。

你想用 WG 的虚拟网络地址,192.168.100.3 来访问`unraid`上的服务么?
Huelse
2021-01-22 17:04:12 +08:00
@jasonyang9 #1
是的,比如 http://192.168.100.3:12345,两者都能 ping 通公网主机,但相互有时不能 ping,会出故障
win10: https://sm.ms/image/pPm9GXgTQ4FKU8R
unraid: https://sm.ms/image/ZOziFlunQVqvb4R
server: https://sm.ms/image/eWDKx6UMmybSjOd
server 的 iptables 就这样:
```
ACCEPT tcp -- anywhere anywhere tcp dpt:43155
ACCEPT udp -- anywhere anywhere udp dpt:43155
```
server 和 unraid 都有设置`net.ipv4.ip_forward=1`,可能是 iptables 的配置问题?
jasonyang9
2021-01-22 17:31:32 +08:00
有点奇怪,`server`为什么是连到`unraid`的 51820 的,`unraid`的 ListenPort=51820 去掉试试。
另外从`server`上看到 latest handshake 是 4 天前的,最近没连上。

`win10`和`unraid`上都加一个保活的选项试试。

其它没仔细看。
Huelse
2021-01-22 18:09:03 +08:00
@jasonyang9 #3 盲猜需要在 unraid 和我的电脑上都加上对方的 peer,我先试试看

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/747297

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX