在CentOS系统中,firewalld是一个动态管理防火墙的工具,它允许你实时地更改防火墙规则。以下是一些基本的firewalld命令和它们的用法:
查看firewalld状态:
sudo firewall-cmd --state
查看所有打开的端口:
sudo firewall-cmd --list-all
查看开放的端口:
sudo firewall-cmd --list-ports
查看防火墙规则:
sudo firewall-cmd --list-all-zones
重新加载防火墙配置(不中断正在进行的连接):
sudo firewall-cmd --reload
添加端口到防火墙(例如添加TCP端口80):
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
删除端口从防火墙(例如删除TCP端口80):
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
添加服务到防火墙(例如添加HTTP服务):
sudo firewall-cmd --zone=public --add-service=http --permanent
删除服务从防火墙(例如删除HTTP服务):
sudo firewall-cmd --zone=public --remove-service=http --permanent
查看当前活动的区域:
sudo firewall-cmd --get-active-zones
更改接口的区域(例如将eth0接口更改为work区域):
sudo firewall-cmd --zone=work --change-interface=eth0
查看指定区域的接口:
sudo firewall-cmd --zone=work --list-interfaces
添加富规则(例如允许来自特定IP的SSH连接):
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
删除富规则(例如删除上面添加的规则):
sudo firewall-cmd --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
在使用firewalld命令时,如果你想要使更改永久生效,需要添加--permanent选项。如果不加这个选项,更改只会在当前会话中有效,重启后会被重置。
请注意,执行这些命令通常需要root权限,因此你可能需要在命令前加上sudo来获取必要的权限。