关于通过 gost 结合打洞的最佳实践

2023-09-08 11:30:29 +08:00
 e5b9dad02b882816

A1 、B1 主机均处于端口限制锥形 NAT 网络下,A2 、B2 为固定外网地址,NAT 映射端口有规律,会把本地的源端口直接映射为外部访问端口。但 A1 只能访问 tcp/udp 53 端口的出站地址。经过实验,A1 、B1 间通过 netcat 打洞成功,过程为:

1 、A1:53 访问 B2:10086 ,发送 hello 敲门请求,此条信息被 B2 拦截,但在 A2 上打开了通向 A1 的 53 端口

2 、A1 监听 53 端口

3 、B1:10086 访问 A2:53 ,打洞成功

打洞成功后在 A1:53 端口通过 gost 开启 socks 代理,需要发起 B1:10086 通往 A2:53 的访问。该部分在 netcat 上通过指定-p 参数实验成功,但不知道在 gost 中如何发起指定源端口的转发请求。 另外,想在 A1 上写个脚本,定期(如每 2 分钟)向 B2 发起敲门请求,然后转用 gost 监听 53 端口,等待 B1 的访问,关于这种情形下的打洞有没有更优雅的实现方法。

888 次点击
所在节点    问与答
1 条回复
flynaj
2023-09-13 07:14:50 +08:00
需要 nat1 才能成功打洞,其它的不用考虑,用这个 natmap .
https://github.com/heiher/natmap/wiki/

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

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

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

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

© 2021 V2EX