我想要 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,我先试试看
|