在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來獲取必要的權限。