要使用firewall-cmd
限制只允许指定IP访问,您可以使用--add-rich-rule
选项创建一个富规则
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port port="80" protocol="tcp" source address="192.168.1.100" accept'
在这个示例中,我们创建了一个富规则,允许IP地址为192.168.1.100
的设备通过TCP协议访问端口80
。请根据您的实际需求修改IP地址、端口和协议。
如果您需要允许多个IP地址访问,可以为每个IP地址创建一个富规则。例如,允许192.168.1.100
和192.168.1.101
访问端口80
:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port port="80" protocol="tcp" source address="192.168.1.100" accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port port="80" protocol="tcp" source address="192.168.1.101" accept'
完成后,别忘了重新加载防火墙配置以使更改生效:
sudo firewall-cmd --reload
现在,只有指定的IP地址可以访问相应的端口。其他IP地址将无法访问该端口。
移除当前
要移除当前的防火墙规则,您可以使用firewall-cmd
的--remove-rich-rule
选项
sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" port port="80" protocol="tcp" source address="192.168.1.100" accept'
在这个示例中,我们移除了之前创建的允许IP地址192.168.1.100
通过TCP协议访问端口80
的富规则。请根据您的实际需求修改IP地址、端口和协议。
如果您需要移除多个富规则,可以为每个富规则执行--remove-rich-rule
命令。例如,移除允许192.168.1.100
和192.168.1.101
访问端口80
的富规则:
sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" port port="80" protocol="tcp" source address="192.168.1.100" accept'
sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" port port="80" protocol="tcp" source address="192.168.1.101" accept'
完成后,别忘了重新加载防火墙配置以使更改生效:
sudo firewall-cmd --reload
现在,指定的IP地址将无法访问相应的端口。如果需要,您可以随时添加新的富规则来允许其他IP地址访问该端口。