1
2
3
4
5
6
7
8
9
systemctl start   firewalld     firewalldを起動
systemctl stop    firewalld     firewalldを停止
systemctl enable  firewalld     firewalldをサービスに登録
systemctl disable firewalld     firewalldをサービスから解除

firewall-cmd --list-all-zones   すべてのゾーンをリスト
firewall-cmd --state            firewalldの状態を表示
firewall-cmd --get-zones        ゾーンを取得
firewall-cmd --list-all         現在のゾーンを表示

interface にZoneを紐づける

1
firewall-cmd [--zone=${ZONE}] --change-interface=${INTERFACE}

--reload の挙動

  • 追加
1
2
firewall-cmd --permanent  --direct --add-rule    ipv4 filter INPUT  1          -s 192.168.1.200/32 -j DROP
firewall-cmd --reload               # この時点で追加反映
  • 削除
1
2
3
4
firewall-cmd --permanent  --direct --remove-rule ipv4 filter INPUT  1          -s 192.168.1.200/32 -j DROP
firewall-cmd --reload               # この時点で削除反映されない
systemctl restart firewalld.service # この時点でようやく削除反映
# 想像するに --reload はdirect.xml内設定をさらに読みこむだけだから --add-rule しか反映されないのでは