我用过许多端口转发程序,如 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
tool2dx 217 天前 1
一般来说,主动连接的一方,是无法确定端口的。
比如服务器是 443 端口,你没办法确定客户端是什么,本来就是操作系统随机分配的。 当然也可以用代码指定,就是很少有人这样做。 |
2
povsister 217 天前 via iPhone
选择支持 FullClone 的代理软件
|
3
ihciah 216 天前 via iPhone
要么 parse 协议然后加限制(即再做一层代理或者直接改源码),要么换一个,比如直接 iptables/nftables 。
|