使用Firewall-cmd在centos中创build地址特定的限制7

如何使用firewall-cmd工具(新的firewalld)创build一个防火墙规则,以便限制特定的networking只能访问一个服务,并允许一个区域中的所有服务。

例如:

我只有一个接口eno1,它关联到公共区域。 Http和https服务在该区域上启用。 我想启用该区域的SSH访问,但是我想限制ssh访问networking(例如100.0.0.0/8)

做这个的最好方式是什么?

我search了答案,但是我发现了许多与我自己无关的问题。

经过多番研究,我find了一个解决方法。 这是我做的

我添加了公共区域的界面

然后

sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="xxxx/x" service name="ssh" log prefix="ssh" level="info" accept' sudo firewall-cmd --reload 

注意:源地址可能是一个范围。 只需指定networking掩码

由于ssh没有被添加到公共区域,它将被默认阻塞。 丰富的规则将使其仅用于该源IP。

更好的解决scheme,请添加。