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