1.问题介绍
在使用Udp协议或其他协议进行两台主机或同一台主机通信时,常常会出现bind成功,但是在客户端向服务端发送数据后,服务端无响应的情况,如果使用轻量级应用服务器,大概率是服务器的端口因为防火墙未对公网IP开放造成的!
2.问题情景
client为客户端,server为服务端,将服务端与1234端口进行绑定,客户端向目标IP发送数据,并需要与服务端相同的端口号!
这时候通过日志信息可以看到服务端绑定成功,但是客户端发送信息却没有反应:
这时候使用命令来看看是否真的绑定成功了:
#查看网络连接情况常用命令:
#查看所有监听的 UDP 端口(数字形式):
netstat -naup
#查看所有监听的 TCP 端口(数字形式):
netstat -tln
#查看所有 UDP 连接及对应进程:
sudo netstat -upln (sudo 获取 root 权限以显示所有进程)
#查看路由表(数字形式):
netstat -rn
#持续监控 TCP 连接状态:
netstat -tcn
没问题!那么可以确定就是端口开放的问题了~
3.解决方法
1.打开服务器控制面板,选择防火墙模板
2.如果还未创建模板,选择创建;已经创建需要应用至实例
3. 可以自己配置协议和端口(推荐一键放通)
4. 创建模板名称,创建成功后选择应用至实例
4.问题解决
看看配置完成防火墙模板后问题是否得到解决: