在CentOS系统中,你可以使用firewall-cmd
命令来管理防火墙规则,包括允许特定IP地址访问。以下是一些基本步骤:
首先,检查防火墙是否正在运行:
sudo firewall-cmd --state
假设你想允许IP地址192.168.1.100
访问你的服务器的SSH端口(默认是22),可以使用以下命令:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
--permanent
:使规则永久生效。--add-rich-rule
:添加一个富规则(rich rule),可以指定更复杂的条件。family="ipv4"
:指定IPv4协议。source address="192.168.1.100"
:指定源IP地址。port protocol="tcp" port="22"
:指定目标端口和协议。accept
:接受连接。应用新的规则:
sudo firewall-cmd --reload
你可以使用以下命令查看当前的防火墙规则:
sudo firewall-cmd --list-all
或者查看富规则:
sudo firewall-cmd --list-rich-rules
如果你想允许多个IP地址访问,可以在富规则中使用多个source address
条目,或者使用CIDR表示法。例如:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.101" port protocol="tcp" port="22" accept'
sudo firewall-cmd --reload
如果你想允许特定IP访问多个端口,可以在富规则中指定多个端口。例如:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" accept'
sudo firewall-cmd --reload
通过这些步骤,你可以灵活地管理CentOS防火墙规则,允许特定IP地址访问你的服务器。