CentOS 7中的白名单源IP地址

Modified on: Sat, 30 Jun 2018 05:01:30 +0800

我想设置CentOS 7防火墙,除了来自我白名单的原始IP地址之外,所有传入的请求都将被阻止。对于白名单IP地址,应该可以访问所有端口。任何人都可以指导我吗?

我能找到很少的解决方案(不确定它们是否会起作用)iptables,但CentOS 7使用firewalld。我找不到与firewall-cmd命令相似的东西。

接口位于公共区域。我已经将所有服务都移到了公共区域。

最佳答案

我通过向区域添加源来实现此目的。首先检查您所在区域的来源:

firewall-cmd --permanent --zone=public --list-sources

如果没有,你可以开始添加它们,这是你的“白名单”

firewall-cmd --permanent --zone=public --add-source=192.168.100.0/24
firewall-cmd --permanent --zone=public --add-source=192.168.222.123/32

(这会添加一个完整的/24和一个IP,因此您可以获得子网和单个IP的参考)

设置您要打开的端口范围:

firewall-cmd --permanent --zone=public --add-port=1-22/tcp
firewall-cmd --permanent --zone=public --add-port=1-22/udp

这只是端口1到22.如果您愿意,可以扩展它。

现在,重新加载你已完成的工作。

firewall-cmd --reload

检查你的工作:

 firewall-cmd --zone=public --list-all

旁注/社论:没关系,但我喜欢firewalld中列出白名单的IP的“可信”区域。您可以通过阅读redhat的建议进行进一步评估选择区域

另见:


如果您想在此源代码之外的DROP数据包,这里有一个示例,用于删除我之前用作示例的/24之外的数据,你可以使用丰富的规则。这是概念性的,我还没有对它进行过测试(比看到centos 7接受命令更进一步),但是,应该很容易做一个pcap并看看它是否表现出你的期望

firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.100.0/24" invert="True" drop'
作者:,dougBTV

相关问答

添加新评论