openwrt (电信 nat 下):下称网络 A 对端 wireguard (公网服务端):下称中继网络 B
网络 A 局域网接口(lan)地址:10.0.0.1/24
网络 A 的 wireguard 接口(wg0)地址:172.16.0.19/24
中继网络 B:172.16.0.1/24
中继网络 B 可连接到的其他对端 ip:172.16.0.9/32,172.16.0.8/32,172.16.0.5/32...
(都是 172.16.0.0/24 网段下的)
ssh 到网络 A 上,可以连通到 10.0.0.0/24 和 172.16.0.0/24 下的主机和对端。
在网络 A 的局域网下的主机( 10.0.0.106 ),无法直接连通到 172.16.0.0/24 下的任何主机(除了网络 A 自己:172.16.0.19 )
中继网络 B 可以连通到网络 A 以及中继网络 B 可连接到的所有其他对端:172.16.0.9/32,172.16.0.8/32,172.16.0.5/32...
(都是 172.16.0.0/24 网段下的)
中继网络 B 无法连接到网络 A 的局域网下的主机。
使用 tcpdump 可以观察到 request 数据包在网络 A 的 lan 和 wg0 接口都有。路由规则方面:wg0 的 input 规则是收到了包的,但是,没有包出现在 wg0 的 output 规则。 在中继网络 B 上的 wireguard 接口上进行 tcpdump ,未收到任何来自 172.16.0.19 或者目标是 172.16.0.9 的数据包。
[Interface]
PrivateKey = *****
Address = 172.16.0.19/24
DNS = 8.8.8.8
[Peer]
//开启了 openwrt 的 wireguard 接口的对端设置中的:路由允许的 IP 选项
PublicKey = *****
AllowedIPs = 172.16.0.0/24, 172.16.0.9/32, 172.16.0.99/32, 172.16.0.199/32
Endpoint = *****:32334
PersistentKeepalive = 25
接受了lan->wg0
和wg0->lan
和wg0->wan
的转发,接受了wg0
的入站和出站。
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 100.*.*.* 0.0.0.0 UG 0 0 0 wan
10.0.0.0 * 255.255.255.0 U 0 0 0 br-lan
172.16.0.0 * 255.255.255.0 U 0 0 0 wg0
172.16.0.1 * 255.255.255.255 UH 0 0 0 wg0
172.16.0.8 * 255.255.255.255 UH 0 0 0 wg0
172.16.0.9 * 255.255.255.255 UH 0 0 0 wg0
172.16.0.99 * 255.255.255.255 UH 0 0 0 wg0
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.