firewalld
CentOS6系までのiptables
の代わりに、7系からではfirewalld
を用います。
中身はiptables
のままらしいです。
設定の操作はfirewall-cmd
を用います。
バージョン
CentOS Linux release 7.5.1804 (Core)
共通操作
現在の設定の確認
firewall-cmd --list-all
こんな感じで出ます。
public (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: ssh dhcpv6-client ports: protocols: forward-ports: source-ports: icmp-blocks:
設定再読み込み
一時的な設定を破棄して、設定を再読み込みをするときは、
firewall-cmd --reload
systemctl
でもいけます。
systemctl restart firewalld
各種設定
サービス追加
http
やhttps
などの元からデフォルト値があるものは、
add-service
で追加すると、対応するポート(80,443...)を開けてくれます。
firewall-cmd --add-service=http
ポート追加
それ以外の物は、ポート番号を指定して開ける事ができます。
firewall-cmd --add-port=1234/tcp
永続設定
firewalld
が再起動した場合にも残る設定をしたいときは、--permanent
をつけます。
firewall-cmd --add-port=1234/tcp --permanent
Zone
設定値をまとめたプロファイルのようななものです。
デフォルトではpublic
になっていますが、
zoneごとに設定を変えて、異なるネットワークインターフェースに適用したりできます。
デフォルトゾーンの変更
# externalの初期値ではsshのみ許可されます firewall-cmd --set-default-zone=external
設定値変更
firewall-cmd --zone=external --add-service=http --permanent