heiher / natmap

TCP/UDP port mapping for full cone NAT
MIT License
1.38k stars 103 forks source link

UDP不能绑定服务端口 #38

Closed xbins7210 closed 1 year ago

xbins7210 commented 1 year ago

UDP不能绑定服务端口,只能绑定空闲端口。通过iptables的nat端口映射测试失败。只能通过socat做socket层面的转发。希望后续版本能够解决此问题。

heiher commented 1 year ago

内核版本是多少?绑定服务端口报什么错?natmap也支持应用内转发。

xbins7210 commented 1 year ago

内核版本是多少?绑定服务端口报什么错?natmap也支持应用内转发。

Alma Linux 9.2 内核版本:5.14.0-284.25.1.el9_2.x86_64 绑定的时候提示如下: [root@localhost ~]# natmap-linux-x86_64 -u -s stun.qq.com -b 52800 [E] hev_sock_client_udp src/hev-sock.c:216 Address in use [E] unsk_run src/hev-unsk.c:71 Start UDP keep-alive service failed. [E] hev_sock_client_udp src/hev-sock.c:216 Address in use [E] unsk_run src/hev-unsk.c:71 Start UDP keep-alive service failed. [E] hev_sock_client_udp src/hev-sock.c:216 Address in use [E] unsk_run src/hev-unsk.c:71 Start UDP keep-alive service failed.

应用内转发 到内网其它设备是正常的

heiher commented 1 year ago

UDP 52800端口是内核持有的,还是用户空间某个进程的?(内核持有的暂不支持跨进程使能reuse

xbins7210 commented 1 year ago

52800端口是WireGuard端口

heiher commented 1 year ago

那就是内核持有的,这的确不支持。

xbins7210 commented 1 year ago

WG算是内核持有的端口吧,那是不是如果是openvpn之类的就不存在此类问题了?

heiher commented 1 year ago

内核版本大于等于5.6,用户空间进程持有的端口,并且natmap有权限的情况下应该可以。

xbins7210 commented 1 year ago

感谢大佬的耐心解答,干杯~~~