最近在写服务端程序,在局域网搭建了一台Linux服务器,操作系统为CentOS7。
开发的过程中发现在服务端运行一个server程序时,客户端connect总是返回-1。但是服务器本机跑同样的socket程序连接端口就没问题。这个时候开始怀疑时防火墙屏蔽了,就去操作iptables,但是发现没有iptables的配置文件。我就用yum安装了一下iptables,自此,噩梦就开始了。。。。。。
安装iptables并配置打开端口之后还是不行,哪怕是直接关闭iptables都不行。经历了各种波折之后,偶然在网上看到,原来从centos7开始系统就已经启用了firewalld,好吧这个时候恍然大悟啊,原来我装了两个防火墙。Oh,fk...
遂将两个防火墙全部关闭发现一切OK,所以决定暂时完全屏蔽掉firewalld,用iptables作为唯一防火墙。
设置步骤如下:
1、安装iptabl
2、systemctl stop firewalld.service
3、systemctl disable firewalld.service
4、systemctl start iptables.service
5、/sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT