客户端打开与我的服务器的UDP连接,经过一段时间(10分钟到24小时)后,服务器需要将数据发送回客户端,但它发现客户端的UDP端口已关闭!。
经过测试,我们发现客户端仍然打开UDP端口,但路由器(nat)关闭端口可能是因为不活动!
有没有办法强制路由器保持UDP端口打开而不发送keep-alive数据包? (服务器或客户端)。
在ICMP中有类似内容吗?
谢谢。
答案 0 :(得分:2)
我有同样的问题,我找到了这个解决方案,不是路由器,而是服务器:
尝试配置keep alive。
执行此操作的方式取决于您使用的服务/程序/操作系统。
例如,在客户端中使用OpenSSH,您必须在文件./ssh/config
或/etc/ssh/ssh_config
中添加/配置这些行:
ServerAliveInterval 30
ServerAliveCountMax 60
在服务器中(我做了更改)在文件/etc/ssh/sshd_config
中添加/配置这些行:
ClientAliveInterval 30
ClientAliveCountMax 60
当然这取决于操作系统等,但其目的是在服务中配置保持活力。
祝你好运!