🐷
firewall-cmdチートシート
Zone
Zone情報
# zone一覧を表示
firewall-cmd --get-zones
# すべてのZoneの設定状況を確認する
firewall-cmd --list-all-zones
# 特定のZoneの情報を調べる
firewall-cmd --list-all --zone=ゾーン名
デフォルトZone
# 表示
firewall-cmd --get-default-zones
# 設定
firewall-cmd --set-default-zone=ゾーン名
NIC
# NICに割り当てられているZone一覧
firewall-cmd --get-active-zones
# 特定のNICに割り当てられたZoneを確認する
firewall-cmd --get-zone-of-interface=NIC名
# NICをZoneに登録
firewall-cmd --change-interface=NIC名 --zone=ゾーン名
Service
# Zoneのサービスを表示
firewall-cmd --list-service --zone=ゾーン名
# Zoneに許可サービスを登録
firewall-cmd --add-service=サービス名 --zone=ゾーン名
# Zoneの許可サービスを削除
firewall-cmd --remove-service=サービス名 --zone=ゾーン名
Port
# Zoneのポートを表示
firewall-cmd --list-ports --zone=ゾーン名
# Zoneに許可ポートを登録
firewall-cmd --add-port=ポート名 --zone=ゾーン名
# Zoneの許可ポートを削除
firewall-cmd --remove-port=ポート名 --zone=ゾーン名
トラブルシューティング
firewall-cmdを終了しても変更されない場合
firewall-cmdでssh接続を許可したはずなのに反映されなかった場合、iptablesを直接いじり、その後firewall-cmdでもう一度設定するとわかりやすい。
# iptablesの状況を確認
sudo iptables -L
# すべて許可に設定する
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
Discussion