球球了, 大佬们捞捞, 打洞相关问题

2023-11-10 15:05:03 +08:00
 WingOwO
模仿 Natter 写了一个 rust 版本的 tcp 打洞器

[Natter]( https://github.com/MikeWang000000/Natter.git)

程序会开启监听, 然后试着

在同样的网络拓扑下, 试了几个环境, 都有不同的效果

1. Ubuntu: 测试最正常, 能够正常打洞, 远程连接也有响应

2. Windows: 开启监听后, 本地尝试连接是连不上的, 但是使用工具在其他地方尝试打开, 却是发现已经开启的(使用 natter 效果一样)

使用的工具[站长工具]( https://tool.chinaz.com/port)

在本地尝试连接的错误是: { code: 10061, kind: ConnectionRefused, message: "由于目标计算机积极拒绝,无法连接。" }

使用上面的工具发现外部能正常连接并打印出远程地址

3. fedora coreos: 跟 windows 情况一样

在本地尝试连接的错误是: { code: 111, kind: ConnectionRefused, message: "Connection refused" }


一开始以为是防火墙的问题, 然后测试测试着发现貌似跟防火墙关系不大, 在 windows 下, 没有添加端口的入站规则, 从外部进行连接也是可以的

所以现在十分凌乱, 不太清楚还有什么可能性会导致这种情况
1329 次点击
所在节点    宽带症候群
7 条回复
WingOwO
2023-11-10 15:21:47 +08:00
对 ubuntu 重新测试了一下, 发现现在跟其他两个系统的错误一样了, 明明昨晚上还是最正常的那个 QwQ
vchroc
2023-11-10 16:51:58 +08:00
为什么要重写呢?不过还是推荐给你 natmap ,挺好用的
https://github.com/heiher/natmap
WingOwO
2023-11-10 17:11:05 +08:00
@vchroc 当作练手试试的. 并且几个月前 natmap 也是可以正常使用的, 最近在 fedora coreos 测试启动后发现 napmap 也无法正常使用了, 运营商是广东移动, 有公网 IPv6, 现在比较凌乱, 不知道发生什么事了😂
vchroc
2023-11-10 17:17:57 +08:00
@WingOwO #3 我也出现了类似的问题,看起来是光猫的防火墙导致 nat1 失效。修改防火墙等级后就好了
cnbatch
2023-11-10 23:53:51 +08:00
我也有个类似的跨平台工具,纯实验性质:
https://github.com/cnbatch/PunchNAT
本机测试连接是有效的,OP 可以对比下哪里不同。

由于不清楚 rust 怎么写,所以只能描述我自己的做法。

我的做法很简单,监听的时候,不设置任何 interface ,表示监听全部接口。
然后设置 IPV6_V6ONLY 为 false ,表示使用 IPv6 栈接管 IPv4 ,此时会用到 IPv4-mapped IPv6 。
当然了,可以手动切换为纯 IPv4 模式。
WingOwO
2023-11-11 10:37:08 +08:00
@cnbatch 感谢
WingOwO
2023-11-11 15:22:14 +08:00
@vchroc 感谢, 但看了下光猫的防火墙我是直接关闭的, 可能不是同一个问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/990696

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX