RHEL7 7/CentOS7 7提供了一个新的firewalld
防火墙服务,它取代了iptables service
(两者都使用iptables
工具与内核下面的Netfilter交互)。
可以很容易地对firewalld
进行调整以阻止传入流量,但正如托马斯·沃纳所指出的 1,5年前“用当前的简单方式限制传出流量是不可能的”。据我所知,从那以后情况并没有改变。或者已经有了?有什么方法可以用firewalld
阻止传出的流量吗?如果没有,除了通过RHEL7工具手动添加规则之外,是否还有其他“标准”方式(在iptables
发行版上)来阻止传出流量?
发布于 2014-08-27 16:03:25
我在那个漂亮的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
发布于 2014-11-09 23:04:11
在自己问了同样的问题之后,经过一些修改,我收集了一些很好的规则,用于将传出通信量限制为HTTP/HTTPS和DNS查询:
允许已建立的联系:
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -m state --state ESTABLISHED,RELATED -j ACCEPT
允许HTTP:
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport 80 -j ACCEPT
允许HTTPS:
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport 443 -j ACCEPT
允许DNS查询:
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport 53 -j ACCEPT
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p udp --dport 53 -j ACCEPT
否认其他一切:
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 2 -j DROP
最好先试一试,省去“--永久的”论点。
我绝不是专家,但这在我看来似乎很好:)
发布于 2015-07-28 16:04:16
关于GUI,我认为这是在“直接配置”下找到的。要访问它,必须在“查看”中选择它。我可能错了。
若要删除规则,必须退出,然后重新输入。
https://serverfault.com/questions/618164
复制相似问题