centos7 firewalld




檢查 iptables 服務是否正在運行
systemctl status iptables

停止正在執行的 iptables 服務
systemctl stop iptables

將 iptables 服務永久關閉
systemctl mask iptables

安裝
yum install firewalld firewalld-config -y

啟動
systemctl start firewalld

停止
systemctl stop firewalld

重新啟動
service firewalld restart

設定開機啟動
systemctl enable firewalld

更新防火牆規則
firewall-cmd –reload

查看狀態
systemctl status firewalld

列出所有的區域
firewall-cmd –get-zones

當網路介面或是連線沒有指定區域時,就會直接納入預設區域中。若要查詢目前預設的區域
firewall-cmd –get-default-zone

列出所有的區域與內容
firewall-cmd –list-all-zones

列出指定的區域與內容
sudo firewall-cmd –zone=public –list-all

查看目前的常態設定
firewall-cmd –zone=public –list-all –permanent

–permanent 永久的設定。

加入 public zone 的 80 TCP 端口
firewall-cmd –zone=public –permanent –add-port=80/tcp

firewall-cmd –add-port=10050/tcp –permanent

刪除 public zone 的 80 端口
firewall-cmd –zone=public –permanent –remove-port=80

192.168.1.2/24 的 IP 可讀取https網站(HTTPS PORT 443)
firewall-cmd –zone=public –add-rich-rule=’rule family=”ipv4″ source address=”192.168.1.2/24″ port port=”443″ protocol=”tcp” accept’

封鎖特定IP
firewall-cmd –add-rich-rule=’rule family=”ipv4″ source address=”192.168.1.1/32″ reject’

刪除允許 dhcpv6-client 服務連線規則。
firewall-cmd –remove-service=dhcpv6-client –permanent

設定後需要重新載入 Firewalld 使設定生效:
firewall-cmd –reload