LinuCレベル2 202試験の例題と解説
2.12.1iptables や firewalld によるパケットフィルタリング
今回は202試験の試験範囲から「2.12.1 iptables や firewalld によるパケットフィルタリング」についての例題を解いてみます。
今回はfirewalldというパケットフィルタリング用ソフトウェアの操作について取り上げます。firewalldの操作などを行う、firewalld-cmdコマンドで使用される各種オプションや項目を覚えましょう。
例題
firewalldでゾーン"management"を作成して、新しく追加したインタフェースenp0s8を所属させたい。
この際、正しい選択肢を以下から2つ選択してください。
- firewall-cmd --permanent --new-zone=management
- firewall-cmd --new-zone=management
- firewall-cmd --query-interface=enp0s8 --zone=management
- firewall-cmd --add-interface=enp0s8 --zone=management
- firewall-cmd --add-source=enp0s8 --zone=management
- firewall-cmd --query-source=enp0s8 --zone=management
※この例題は実際の試験問題とは異なります。
解答と解説
正解は「1と4」です。
firewalldではフィルタリングルールををゾーンという単位で管理できます。そして、ゾーンにはインタフェースや接続元を所属させ、インタフェース・接続元ごとにフィルタリングルールを適用することができます。
今回の問題は、そのゾーンを新たに作成し、インタフェースを作成したゾーンに所属させるという内容です。
現在のゾーン一覧と設定を確認するためには"firewall-cmd --list-all-zones"を使用します。デフォルトでは、以下のようなゾーンが存在しています。
block, drop, external, home, internal, public, trusted, work
ゾーンを作成するためには、以下のようなコマンドを使用します。今回は問題にもある、"management"というゾーンを作成します。
# firewall-cmd --permanent --new-zone=management
ゾーンを作成したことを反映させます。
# firewall-cmd --reload
作成されたゾーンの情報を確認してみます。
"firewall-cmd [--permanent] --info-zone=ZONE"で指定したゾーンの情報を取得可能です。
# firewall-cmd --info-zone=management
management
target: default
icmp-block-inversion: no
interfaces:
sources:
services:
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
ここまでで、ゾーンの作成までできたので、インタフェースをゾーンに所属させます。
"firewall-cmd [--permanent] --zone=ZONE --add-interface=INTERFCE"という書式で設定できます。
# firewall-cmd --zone=management --add-interface=enp0s8
すでに別のゾーンに結びついている場合は、以下のコマンドで解除します。
"firewall-cmd [--permanent] --zone=ZONE --remove-interface=INTERFCE"という書式で設定できます。
# firewall-cmd --zone=public --remove-interface=enp0s8
実際にインタフェースが追加されたか確認します。
# firewall-cmd --info-zone=management
management (active)
target: default
icmp-block-inversion: no
interfaces: enp0s8
sources:
services:
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
以上のような手順で、ゾーン作成やインタフェースの所属ゾーンの設定を行えます。
ただし、上記の手順ではゾーン作成以外は全て一時設定です。
設定を恒久設定に反映させる場合は、以下を実施します。
# firewall-cmd --runtime-to-permanent
選択肢を見ていきます。
- firewall-cmd --permanent --new-zone=management
正しい選択肢です。 - firewall-cmd --new-zone=management
ゾーンを新たに作成する時は"--permanent"オプションが必須なので、誤りです。 - firewall-cmd --query-interface=enp0s8 --zone=management
"--query-interface"は指定したインタフェースが、ゾーンに所属しているか確認するオプションです。 - firewall-cmd --add-interface=enp0s8 --zone=management
正しい選択肢です。 - firewall-cmd --add-source=enp0s8 --zone=management
"--add-source"は接続元をゾーンに紐づけるオプションです。
IPアドレスやネットワークアドレス、MACアドレスなどを指定できます。 - firewall-cmd --query-source=enp0s8 --zone=management
"--query-source"は指定した接続元が、ゾーンに紐づいているか確認するオプションです。
例題作成者
株式会社デージーネット ソリューション開発部 徳武 竜太