濡備綍鍏抽棴SELinux

那天,我在公司服务器上玩儿起了iptables,想要配置一下防火墙,结果发现iptables服务一启动就崩溃了。
这让我很疑惑,难道iptables跟我有什么深仇大恨?后来一查,原来是SELinux在作怪。
记得那是一个星期五的下午,我坐在办公室的椅子上,看着电脑屏幕上的错误提示,心里默默地说:“SELinux,你这是在考验我的耐心吗?”
我查阅了资料,发现要关闭SELinux,只需要在/etc/selinux/config文件中把SELINUX的值从"enforcing"改为"disabled"。
于是我打开终端,输入vi /etc/selinux/config,小心翼翼地修改了配置。
然后,我输入了命令service iptables stop,但iptables还是崩溃了。

等等,还有个事。
我突然想到,SELinux的运行状态可以通过getenforce命令来查看。
我输入getenforce,屏幕上显示的是“Enforcing”,这意味着SELinux正在正常工作,处于强制模式。
我又输入setenforce 0,SELinux的状态就变成了“Permissive”,这应该能让iptables正常运行了吧。

经过一番操作,iptables终于不再崩溃了。
那天,我加班到了很晚,看着服务器上平稳运行的iptables,心里终于松了口气。
不过,我心里也留下了个问号:SELinux,你到底是怎么想的?

Linux禁用防火墙规则的命令_linux 防火墙开启端口

上周有个客人问我Linux系统里怎么禁用防火墙或者开启端口,我给他详细解释了一下。
首先,得看是哪个Linux发行版,因为不同的发行版可能用的防火墙管理工具不一样,比如iptables或者firewalld。

比如,如果你用的是CentOS 6 这样的老版本,那通常是用iptables来管理防火墙的。
要临时关闭防火墙,你就可以用命令service iptables stop,这样它就会立即停止,但重启后又会恢复。
如果你想永久禁用防火墙开机启动,那就得用chkconfig iptables off。

再比如,对于CentOS 7 、8 或者RHEL 7 以上的版本,它们一般用的是firewalld。
这时候,临时关闭防火墙的命令是systemctl stop firewalld.service,而要永久禁用开机启动,就用systemctl disable firewalld.service。

还有,如果你想让SELinux(这是一种增强安全性的东西,但可能会限制服务)也暂时放松一下,你可以用setenforce 0来临时调整它的模式,如果想要永久禁用,就需要编辑配置文件了,用vim /etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled,然后保存配置并重启系统。

接下来,如果你需要开启某个端口,比如TCP的8 08 0端口,用iptables的话,命令是iptables -I INPUT -p tcp --dport 8 08 0 -j ACCEPT,然后保存规则用service iptables save,查看规则用iptables -L -n。

对于firewalld,你就可以用firewall-cmd --zone=public --add-port=8 08 0/tcp --permanent来开放端口,然后要使规则生效,得用firewall-cmd --reload,查看已开放的端口用firewall-cmd --zone=public --list-ports。

如果你要开放一个端口范围,比如TCP的8 000到9 000端口,iptables的命令是iptables -I INPUT -p tcp --dport 8 000:9 000 -j ACCEPT,firewalld的话,命令是firewall-cmd --zone=public --add-port=8 000-9 000/tcp --permanent,然后同样需要用firewall-cmd --reload来使规则生效。

需要注意的是,所有这些命令都需要以root用户或者通过sudo来执行。
而且,不同的版本可能会有所不同,比如CentOS 6 及以下版本默认使用iptables,而CentOS 7 及以上版本默认使用firewalld。

最后,记得这些操作可能会降低系统的安全性,所以建议只在测试环境或者必要的情况下操作,并且最好配合其他安全措施。
反正你看着办吧。
我还在想这个问题,毕竟网络安全很重要。