e5b9dad02b882816
V2EX  ›  问与答

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

  •  
  •   e5b9dad02b882816 · Sep 8, 2023 · 1944 views
    This topic created in 978 days ago, the information mentioned may be changed or developed.

    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 的访问,关于这种情形下的打洞有没有更优雅的实现方法。

    1 replies    2023-09-13 07:14:50 +08:00
    flynaj
        1
    flynaj  
       Sep 13, 2023 via Android
    需要 nat1 才能成功打洞,其它的不用考虑,用这个 natmap .
    https://github.com/heiher/natmap/wiki/
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3316 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 12:29 · PVG 20:29 · LAX 05:29 · JFK 08:29
    ♥ Do have faith in what you're doing.