如果你的系統(tǒng)上沒有安裝使用命令安裝
安裝firewalld 防火墻yum install firewalld
開啟服務(wù)systemctl start firewalld.service
關(guān)閉防火墻systemctl stop firewalld.service
開機自動啟動systemctl enable firewalld.service
關(guān)閉開機制動啟動systemctl disable firewalld.service
使用firewall-cmd 命令
查看狀態(tài)firewall-cmd --state //running 表示運行
獲取活動的區(qū)域firewall-cmd --get-active-zones
這條命令將用以下格式輸出每個區(qū)域所含接口:
<zone1>: <interface1> <interface2> ..<zone2>: <interface3> ..
獲取所有支持的服務(wù)firewall-cmd --get-service
在不改變狀態(tài)的條件下重新加載防火墻:firewall-cmd --reload
啟用某個服務(wù)
firewall-cmd --zone=public --add-service=https //臨時
firewall-cmd --permanent --zone=public --add-service=https //永久
開啟某個端口
firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp //永久
firewall-cmd --zone=public --add-port=8080-8081/tcp //臨時
使用命令加載設(shè)置firewall-cmd --reload
查看開啟的端口和服務(wù)
firewall-cmd --permanent --zone=public --list-services //服務(wù)空格隔開 例如 dhcpv6-client https ss
firewall-cmd --permanent --zone=public --list-ports //端口空格隔開 例如 8080-8081/tcp 8388/tcp 80/tcp
設(shè)置某個ip 訪問某個服務(wù)
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.0.4/24" service name="http" accept"
ip 192.168.0.4/24 訪問 http
刪除上面設(shè)置的規(guī)則
firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4" source address="192.168.0.4/24" service name="http" accept"
檢查設(shè)定是否生效
iptables -L -n | grep 21
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 ctstate NEW
執(zhí)行命令firewall-cmd --list-all
顯示:
public (default)
interfaces:
sources:
services: dhcpv6-client ftp ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
查詢服務(wù)的啟動狀態(tài)
firewall-cmd --query-service ftp
yes
firewall-cmd --query-service ssh
yes
firewall-cmd --query-service samba
no
firewall-cmd --query-service http
no
自行加入要開放的 Port
firewall-cmd --add-port=3128/tcp
firewall-cmd --list-all
public (default)
interfaces:
sources:
services: dhcpv6-client ftp ssh
ports: 3128/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
坝撑。