cnbatch/kcptube

客户端的listen_port和服务端的destination_port必须一样吗?

Scropiouos opened this issue · 9 comments

正确配置了,也打开了防火墙,各自能看到对应的端口被KcpTube接管了,--try也没问题。

但是服务端并没有显示有客户端接入,流量也基本全是0。客户端上除了监听端口,并没有发现有其他用于和服务端通信的端口占用。

服务端有公网IP,客户端在NAT下

目标是监听客户端上程序的A端口,通过KcpTube,发送到服务端程序的B端口,双向通信。目前客户端的listen_port = A,服务端的destination_port = B,动态端口设置的相同范围。

目标是监听客户端上程序的A端口,通过KcpTube,发送到服务端程序的B端口,双向通信。目前客户端的listen_port = A,服务端的destination_port = B,动态端口设置的相同范围。

并且都指定了log_path

目标是监听客户端上程序的A端口,通过KcpTube,发送到服务端程序的B端口,双向通信。目前客户端的listen_port = A,服务端的destination_port = B,动态端口设置的相同范围。

并且都指定了log_path

两边都是需要监听UDP端口

反复研究实例后发现,需要通过本机对应监听端口访问才行。但是程序默认是直接访问服务器IP+端口,既不能更改程序,直接监听本机与服务器通信的端口也做不到拦截转发。那除了在路由器上配置端口转发外,还有别的方法吗?

如果是Windows系统,可以使用netsh实现本机端口转发
对于Linux系统,可以用iptables做端口转发

如果是Windows系统,可以使用netsh实现本机端口转发 对于Linux系统,可以用iptables做端口转发

netsh只能转发TCP,尝试用portmapper做转发似乎不起作用,不知道能不能试试软路由。主要没域名,不然可以改host

反复研究实例后发现,需要通过本机对应监听端口访问才行。但是程序默认是直接访问服务器IP+端口,既不能更改程序,直接监听本机与服务器通信的端口也做不到拦截转发。那除了在路由器上配置端口转发外,还有别的方法吗?

既然ip是写死的,那不如用二进制编辑器搜索一下客户端程序里的ip,然后把客户端程序里的ip给改成127.0.0.1

反复研究实例后发现,需要通过本机对应监听端口访问才行。但是程序默认是直接访问服务器IP+端口,既不能更改程序,直接监听本机与服务器通信的端口也做不到拦截转发。那除了在路由器上配置端口转发外,还有别的方法吗?

既然ip是写死的,那不如用二进制编辑器搜索一下客户端程序里的ip,然后把客户端程序里的ip给改成127.0.0.1

确实是个方法,但这似乎不太好