第13回 firewall の設定

公開日:2020-09-09 更新日:2020-09-09

1. 概要

firewall を設定して、前回インストールした Nginx にアクセスできるようにします。
firewall は、CentOS の場合、firewalld で管理されています。

2. 動画



3. 起動・停止

systemctl status  firewalld  ステータスの確認
systemctl start   firewalld  起動
systemctl stop    firewalld  停止
systemctl restart firewalld  再起動

4. ポートの開け方

以下により、HTTPで使用する80番ポートにアクセスできるようになります。
ポートを指定して開ける
firewall-cmd --permanent --zone=public --add-port=80/tcp

サービス名を指定して開ける
firewall-cmd --permanent --zone=public --add-service=http

--permanent をつけた場合、次回起動時から有効になります。
すぐに反映するには、リロードする必要があります。
firewall-cmd --reload

5. ポートの閉じ方

firewall-cmd --permanent --zone=public --remove-port=80/tcp
firewall-cmd --permanent --zone=public --remove-service=http

開ける時と同様に、--permanent を付けた場合は、リロードが必要。

6. サービスの表示

--add-service で指定できるサービスは、以下により確認できます。
firewall-cmd --get-services       サービス一覧の表示
firewall-cmd --info-service=http  サービスの設定の表示

7. ゾーン

ゾーンは、NIC(ネットワークデバイス)ごとに指定できます。
NICごとに指定していない場合は、デフォルトゾーンがアクティブゾーンとして使用されます。
また、その時にデフォルトゾーンを変更すると、即座にアクティブゾーンに反映されます。
firewall-cmd --list-all-zones               ゾーンごとの設定の表示
firewall-cmd --get-active-zones             現在のゾーンの表示
firewall-cmd --get-default-zone             デフォルトゾーンの表示
firewall-cmd --set-default-zone {ゾーン名}  デフォルトゾーンの設定

8. デバイスごとのゾーンの設定

以下により、NIC(ネットワークデバイス)ごとにゾーンを設定できます。
firewall-cmd --zone={ゾーン名} --change-interface={デバイス名} --permanent
nmcli c modify  {デバイス名} connection.zone {ゾーン名}
     (connection)

上記で指定するデバイス名は、以下で確認できます。
nmcli d
     (device)

NICごとの設定を削除したい場合は、以下で削除できます
(適当にやったら、たまたま削除できた。。)
nmcli c modify  {デバイス名} connection.zone ''

個別に設定されているかどうかは、以下のファイルの ZONE と言う項目で確認できます。
ZONE がなければ、個別設定されていません。
/etc/sysconfig/network-scripts/ifcfg-{デバイス名}