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