强制路由器保持IDLE UDP端口打开

时间:2012-09-30 06:38:39

标签: udp router nat hole-punching

客户端打开与我的服务器的UDP连接,经过一段时间(10分钟到24小时)后,服务器需要将数据发送回客户端,但它发现客户端的UDP端口已关闭!。

经过测试,我们发现客户端仍然打开UDP端口,但路由器(nat)关闭端口可能是因为不活动!

有没有办法强制路由器保持UDP端口打开而不发送keep-alive数据包? (服务器或客户端)。

在ICMP中有类似内容吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

我有同样的问题,我找到了这个解决方案,不是路由器,而是服务器:

尝试配置keep alive。

执行此操作的方式取决于您使用的服务/程序/操作系统。

例如,在客户端中使用OpenSSH,您必须在文件./ssh/config/etc/ssh/ssh_config中添加/配置这些行:

ServerAliveInterval 30
ServerAliveCountMax 60

在服务器中(我做了更改)在文件/etc/ssh/sshd_config中添加/配置这些行:

ClientAliveInterval 30
ClientAliveCountMax 60

当然这取决于操作系统等,但其目的是在服务中配置保持活力。

祝你好运!