HawkinsSherpherd

端口转发应用如何确定转发后的流量在服务器使用的端口

  •  
  •   HawkinsSherpherd · Apr 28, 2024 · 1876 views
    This topic created in 757 days ago, the information mentioned may be changed or developed.

    我用过许多端口转发程序,如 gost 、udp2raw 、ss+任意门,但它们都有一点困扰着我:转发后的流量在服务器端使用的端口无法确定,也没有查到有什么机制能够创建固定的端口映射关系,我想要使用的一些东西需要双方具有固定的地址和端口组合( fou 、vxlan 、l2tpv3 等)。

    ---------
    ClientApp       (TX: 127.0.0.1:16385)
    ||              (RX: 0.0.0.0:16384)
    ||
    ||
    ||
    TunnelClientApp (TX-Local: 127.0.0.1:16384)
    ||              (RX-Local: 0.0.0.0:16385)
    ||              (TX-Inet:  serverAddr:12345)
    ||              (RX-Inet:  0.0.0.0:randomPort)
    ||
    TunnelServerApp (TX-Local: 127.0.0.1:16384)
    ||              (RX-Local: 127.0.0.1:randomPort)
    ||              (TX-Inet:  clientAddr:randomPort)
    ||              (RX-Inet:  serverAddr:12345)
    ||
    ServerApp       (TX: 127.0.0.1:randomPort)
    ---------       (RX: 127.0.0.1:16384)
    

    如图所示,经过 TunnelApp 的转发,来自 ClientApp 的流量在 ServerApp 侧使用的端口变得无法确定。

    对此,我有两个问题:

    1. 目前是否有可建立固定的客户端/服务器端端口映射关系的端口转发应用?

    2. 有何方法能够干预这些端口转发程序对客户端转发过来的流量在服务器端使用的端口选择,以使端口映射关系固定?

    3 replies    2024-04-28 13:50:58 +08:00
    tool2dx
        1
    tool2dx  
       Apr 28, 2024   ❤️ 1
    一般来说,主动连接的一方,是无法确定端口的。

    比如服务器是 443 端口,你没办法确定客户端是什么,本来就是操作系统随机分配的。

    当然也可以用代码指定,就是很少有人这样做。
    povsister
        2
    povsister  
       Apr 28, 2024 via iPhone
    选择支持 FullClone 的代理软件
    ihciah
        3
    ihciah  
       Apr 28, 2024 via iPhone
    要么 parse 协议然后加限制(即再做一层代理或者直接改源码),要么换一个,比如直接 iptables/nftables 。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   929 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 20:58 · PVG 04:58 · LAX 13:58 · JFK 16:58
    ♥ Do have faith in what you're doing.