カスタマイズされたゾーンの作成
ゾーンを作成し、カスタマイズされたファイアウォール保護のためにゾーンの設定を構成できます。
firewall-cmdコマンドの使用
次の例に示されているように、firewall-cmd CLIを使用して空のゾーンを作成できます。これは、デフォルトのサービスは割り当てられていないことを意味します。 カスタマイズされたゾーンを構成するときは、常に--permanentオプションをコマンドに含める必要があります。 それ以外の場合、エラーメッセージが生成されます。
sudo firewall-cmd --permanent --new-zone=testzone sudo firewall-cmd --permanent --get-zones
block dmz drop external home internal testzone public trusted work
sudo firewall-cmd --permanent --info-zone=testzone
testzone target: default icmp-block-inversion: no interfaces: sources: services: ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
--permanentオプションを指定しない場合、--get-zonesオプションでは作成されたゾーンが表示されません。
--info-zone=zone-nameオプションでは、--list-allオプションと同じ出力が生成されます。
このゾーンの作成を永続的にするには、次のコマンドを追加します。
sudo firewall-cmd --runtime-to-permanent
ゾーンの作成後、前述の例で提供されているコマンド・オプションを使用して、サービス、ポートの追加、インタフェースの割当てなどを実行できます。
sudo firewall-cmd --zone=testzone --add-service=http
Error: INVALID ZONE: testzone
sudo firewall-cmd --permanent --zone=testzone --add-service=http
これらのコマンドを使用する場合は、必ず--permanentオプションを使用してください。
ゾーン構成ファイルの使用
すべてのゾーンには、対応する構成ファイルがあります。 オペレーティング・システムとともにインストールされる事前定義済ゾーンの場合、構成ファイルは/usr/lib/firewalld/zonesディレクトリにあります。
事前定義済ゾーンを構成すると、構成ファイルが/etc/firewalld/zonesディレクトリにコピーされ、変更はその場所に格納されます。 構成ファイルを使用して新しいゾーンを作成する場合は、作業ディレクトリとして/etc/firewalld/zonesも使用する必要があります。
事前定義済ゾーンの設定とわずかな違いしかないゾーンを作成する場合は、既存の構成ファイルを作業ディレクトリにコピーするのが最も簡単です。 次のコマンドのいずれかを使用できます。
sudo cp /etc/firewalld/zones/existing-conf-file.xml new-zone.xml
sudo cp /usr/lib/firewalld/zones/existing-conf-file.xml /etc/firewalld/zones/new-zone.xml
次に、テキスト・エディタを使用して、新しい構成ファイルの設定を変更します。 次の例は、testzoneの構成ファイルに何が含まれるかを示しています。testzoneは、1つのサービス(SSH)のトラフィックと、TCPおよびUDPプロトコル用の1つのポート範囲を受け入れます。
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>testzone</short>
<description>Put description here</description>
<service name="ssh"/>
<port port="1025-65535" protocol="tcp"/>
<port port="1025-65535" protocol="udp"/>
</zone>