在 DMZ 区域中,我有一台 CentOS7 服务器,我希望只打开 2 个流:
- 允许端口 2222 上来自 192.168.1.10 的传入流量
- 允许传出流量到 192.168.1.20 端口 4444
- 阻止其他所有内容
我希望使用防火墙丰富的规则来做到这一点,但我认为仅适用于传入的流量(需要确认)。我需要帮助才能找到适用的正确规则。
先感谢您。
答案1
RedHat 文档有一节介绍丰富的规则。
由此看来,您需要两个allow
规则和一个drop
/reject
其他所有规则(假设您允许通过协议进行连接tcp
,并且您将需要drop
其他所有规则,但如果更符合您的使用,请替换drop
为):reject
firewall-cmd --zone=dmz --add-rich-rule='rule family="ipv4" source address="192.168.1.10" port port="2222" protocol="tcp" accept'
firewall-cmd --zone=dmz --add-rich-rule='rule family="ipv4" destination address="192.168.1.20" port port="4444" protocol="tcp" accept
firewall-cmd --zone=dmz --add-rich-rule='rule family="ipv4" source address="192.168.1.10" invert="true" destination address="192.168.1.20" invert="true" drop'
这将帮助您完成大部分工作,它没有明确阻止两个允许地址上的其他端口,但它可能已经是您正在寻找的了。
firewalld
如果您正在运行的版本支持priority
属性,因为您可以简单地在其他两个规则之后添加一个具有更高优先级的包罗万象的drop
/ 。reject
firewall-cmd --zone=dmz --add-rich-rule='priority=999 drop'