leoxb 最近也在折腾这个Ponte功能,服务端/客户端双端启动Ponte之后,家庭局域网外客户端死活连不上家里的macmini surge服务器,看了这篇帖子之后设置了端口映射,刚开始还是不行,过了一段时间之后突然就可以连上了,稳定用了一天多之后,家里路由器断了一次电,重新上电之后就无法再连上了,到现在还是不行,猜测不知道是不是和ISP服务商分配的ipv4地址可用性有关,总之现在这个功能用起来很迷惑,遇到问题也无从排查,给官方support发了邮件也还没有回复,这个功能是不是还不太可用啊,有稳定用上的老哥分享下使用经验吗
leoxb 今天因为帖子里兄弟提醒,又折腾了一下,之前是路由器转发了6208/6209端口,短暂可用了不到一周,然后再也连不上了。今天又尝试改回路由器DMZ方式,发现又可以连上了,很神奇,所以请问官方有什么使用说明吗,最小范围可以缩小到哪些端口范围? @SurgeTeam
leoxb leoxb 暂时先缩小到了 6000-7000 的 UDP 端口 范围转发,目前观测可以正常工作,再观察一段时间看看。这里也补充一下我为啥想要尽可能缩小端口转发的范围,一是为了安全,把整个主机暴露出去心里不踏实,二是主要原因,我发现我家里的路由器开了DMZ之后,各种米家设备就开始频繁掉线,关掉就稳定很多,很神奇,不知道是不是米家有些设备用了一些端口穿透的方式和服务器做通讯
paicha 我在联通网络(入户光猫路由拨号 -> MacBook)下测试了两种路由设置情况 端口受限锥形 NAT + 端口转发 拨号后可以穿透成功,重新拨号(公网出口变化且已被 Surge 探测),穿透失败。 完全锥形NAT + 无端口转发 重新拨号仍然穿透成功。 奇怪的是,以上两种路由设置,在 Surge 里都显示「Full Cone NAT」。 我目前结论是尽量在光猫路由上启用「完全锥形NAT」,也不需要端口映射。 稳定性的验证方式是:重新拨号测试公网出口变化是否影响穿透。
paicha 忘了说,光猫型号是 WO-37,继续测试发现: 端口受限锥形 NAT + DMZ 也能实现重新拨号穿透,但是也有个问题,设置 DMZ 之后再修改拨号设置也会失效。 猜测是重新拨号后,路由没有正确重建 DMZ 和端口转发规则。
Aurora_ca 你可以了解下打洞的原理,我估计是你的路由器nat类型比较严格,nat分为很多种 NAT1: Full Cone NAT,全锥形NAT,这是最宽松的网络环境,你想做什么,基本没啥限制IP和端口都不受限。这种情况下只需要一个中间人位于公网,转达对方和中间人交流时候的ip和开放的端口号就行,它们就能直接通过这个端口建立p2p。 NAT2: Address-Restricted Cone NAT,受限锥型NAT,相比NAT1,NAT2 增加了地址限制,也就是IP受限,而端口不受限。 NAT3: Port-Restricted Cone NAT,端口受限锥型,相比NAT2,NAT3 又增加了端口限制,也就是说IP、端口都受限。 这两个添加的限制就是你向对应ip/端口发出过数据才会允许接受来自这些ip/端口的信息,也不难解决,得到ip端口后先随便发个消息,就算对方收不到也没事,下次对方发消息的时候就能收到了。 NAT4: Symmetric NAT,对称型NAT,对称型NAT具有端口受限锥型的受限特性,内部地址每一次请求一个特定的外部地址,都可能会绑定到一个新的端口号。也就是请求不同的外部地址映射的端口号是可能不同的。这种类型基本上就告别 P2P 了。 如果方NAT类型不同的话,只要不都是NAT4,或者一个nat3一个nat4,应该就可以,不过你也可以发现,NAT4安全性是最高的,会完全拒绝莫名其妙来源的链接,并且彻底隐藏子网的网络结构。所以路由器nat4很常见。。。