记录一次问题
写的网络服务无法通信
代码没问题,IP绑定、端口绑定没问题,就是无法进行通信,这里要分2步走。
服务器控制台开放
进入防火墙
添加规则,这里以开放udp的8899
端口为例
这里在服务器后台就已经开放了,但此时可能还是无法进行通信。
Linux系统开放
当服务器后台开放之后,还需要在系统层面进行开放
++查看防火墙是否开启++
shell
sudo systemctl status firewalld
++查看开放的端口++
shell
sudo firewall-cmd --list-all
此时发现,虽然控制台开放了8899端口,可是在系统里面并没有开放
++开放端口++
shell
sudo firewall-cmd --zone=public --add-port=8899/udp --permenant
++重新加载防火墙++
shell
sudo firewall-cmd --reload
此时系统层面udp:8899
端口也已经开启
++关闭某个端口++
shell
sudo firewall-cmd --zone=public --remove-port=8899/udp --permanent
这里的两次开放:
服务器是厂商的软件层
防火墙是操作系统的软件层
简单理解:设立了2扇门