在这样的网络下,双方 OpenWrt 负责 pppoe 拨号上网,下发 ipv6 地址,OP 另一个网口连接着电脑。电脑有 ipv6 地址。OpenWrt 的防火墙 FORWARD 链默认是 DROP 的,没有添加其他防火墙设置。
这样双方有 ipv6 地址就可以直连了吗?算 p2p 吗?经过我的测试,a 电脑起一个 server python3 -m http.server 8080 --bind ::
,然后 b 电脑使用 ipv6 地址+端口是无法访问的。
只有在 a 电脑的 OpenWrt 防火墙下转发一下,才可以正常访问。
但是,双方电脑都使用 tailscale 组网的情况下,双方是可以通过 ipv6 直连的。通过 tailscale ping 就可以看到 pong from b (100.64.0.4) via [2408:xxxx:xxx:xxx::9c8]:35973 in 8ms
。
我不理解,为什么 tailscale ( WireGuard )是可以做到直连的?双方电脑上建了个虚拟网卡进行连接,但是电脑的上一级是 OpenWrt ,OpenWrt 网口 1 收到数据包后发现不是自己的数据包,要转发给网口 2 ,所以也需要走 FORWARD 链吧?这样的话,默认 DROP 应该阻止连接。那 tailscale 又是怎么突破这一限制的?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.