RHEL7 / CentOS7具有新的firewalld防火墙服务,它取代了iptables服务(两者都使用iptables工具与下面的内核Netfilter进行交互).
firewalld可以很容易地调整以阻止传入的流量,但是1,5,5年前,“目前以简单的方式使用firewalld限制传出流量”.据我所知,从那时起情况没有改变.还是有吗?有没有办法用firewalld阻止传出流量?如果没有除了通过iptables工具手动添加规则之外还有阻止传出流量的任何其他“标准”方式(在RHEL7发行版上)?
解决方法
我没有在那个漂亮的GUI中找到任何选项,但它可以通过直接接口
要仅启用传出端口80:
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p tcp -m tcp --dport=80 -j ACCEPT firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -j DROP
这会将其添加到永久规则,而不是运行时规则.
您将需要重新加载永久规则,以便它们成为运行时规则.
firewall-cmd --reload
显示永久规则
firewall-cmd --permanent --direct --get-all-rules
显示运行时规则
firewall-cmd --direct --get-all-rules