我正在尝试使用 FirewallD 来限制网络上其他机器对 CentOS 服务器的访问。它有一个单一的网络接口,并且在公共区域中运行。假设此服务器的 IP 地址为 10.10.1.20。
我想要做的是只允许 IP 地址为 10.10.1.125 和 10.10.1.126 的机器能够连接(ssh 和 https)到该服务器。其他任何 ip 地址都不应该能够连接到该服务器(甚至知道它存在)。
我尝试使用 FirewallD 的丰富规则如下(10.10.1.20)
sudo firewall-cmd --add-rich-rule 'rule family="ipv4" source address="10.10.1.0/24" drop'
sudo firewall-cmd --add-rich-rule 'rule family="ipv4" source address="10.10.1.125" accept'
sudo firewall-cmd --add-rich-rule 'rule family="ipv4" source address="10.10.1.126" accept'
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用。我无法从 10.10.1.125 或 10.10.1.126 建立到 10.10.1.20 的 ssh 连接。
我尝试以相反的顺序输入规则,但它仍然不起作用。
有人可以帮我吗?在应用我上面写的规则之前,我是否需要将区域从公共区域更改为更严格的区域,例如 drop ?