CentOS7から「firewalld」コマンドがパケットフィルタの標準となっている。
CentOS6までは「iptables」を使用していた。
ただし、「firewalld」コマンドの内部では「iptables」を使用している。
firewalldではゾーンという概念がある。このゾーンはNIC毎に適用して運用する。
※NIC = Network Interface Card
ゾーンは下記の9種類があり、よく「public」が使用される。
zone | 説明 |
---|---|
drop | 全てのパケットを破棄する。 内部→外部へのパケットは許可されているが、返信パケットは破棄されるため、実質通信不可 |
block | 外部からのパケットを破棄する。 内部→外部への通信および、返信パケットは許可される。 |
public | デフォルトでは「ssh」および「dhcpv6-client」のみが許可されている。 |
external | デフォルトでは「ssh」のみが許可される。 IPマスカレードが有効になる。 IPマスカレードとは |
dmz | デフォルトでは「ssh」のみが許可される。 |
work | デフォルトでは「dhcpv6-cliet」「ipp-client」「ssh」が許可される。 |
home | デフォルトでは「dhcpv6-cliet」「ipp-client」「mdns」「samba-client」「ssh」が許可される。 |
internal | デフォルトでは「dhcpv6-cliet」「ipp-client」「mdns」「samba-client」「ssh」が許可される。 |
trusted | 全てのパケットが許可される |
現在の設定を確認
$ firewall-cmd --list-all
指定したゾーンの設定を確認
$ firewall-cmd --zone=<ゾーン名> --list-all
デフォルトで設定されているゾーンの確認
$ firewall-cmd --get-default-zone
設定時に指定できるサービス一覧
$ firewall-cmd --get-services
デフォルトゾーンの変更
$ firewall-cmd --set-default-zone=<zone>
追加できるサービス一覧を確認
$ ls /usr/lib/firewalld/services/
ゾーンへサービスを追加
$ firewall-cmd --zone=<zone> --add-service=<service> ※
※恒久的な設定の場合は「–permanent」を指定して、「firewall-cmd –reload」を実行する