
我想要 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),请教下各位怎么操作,谢谢!
1 jasonyang9 2021-01-22 16:38:33 +08:00 3 个节点上的`wg`输出贴一下,最好带各自的防火墙信息。 `unraid`上用`iptables`做了 SNAT,但没有允许转发,比较奇怪。它需要转发和做 MASQ 么? 除此之外没有明显的问题。 你想用 WG 的虚拟网络地址,192.168.100.3 来访问`unraid`上的服务么? |
2 Huelse OP @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 的配置问题? |
3 jasonyang9 2021-01-22 17:31:32 +08:00 有点奇怪,`server`为什么是连到`unraid`的 51820 的,`unraid`的 ListenPort=51820 去掉试试。 另外从`server`上看到 latest handshake 是 4 天前的,最近没连上。 `win10`和`unraid`上都加一个保活的选项试试。 其它没仔细看。 |
4 Huelse OP @jasonyang9 #3 盲猜需要在 unraid 和我的电脑上都加上对方的 peer,我先试试看 |