5.8. ゾーンを使用し、ソースに応じた着信トラフィックの管理
ゾーンを使用して、そのソースに基づいて着信トラフィックを管理するゾーンを使用できます。これにより、着信トラフィックを分類し、複数のゾーンに向け、トラフィックにより到達できるサービスを許可または拒否できます。
ソースをゾーンに追加する場合は、ゾーンがアクティブになり、そのソースからの着信トラフィックは、それを介して行われます。各ゾーンに異なる設定を指定できますが、それは指定したソースから順次トラフィックに適用されます。ネットワークインターフェイスが 1 つしかない場合でも、複数のゾーンを使用できます。
5.8.1. ソースの追加
着信トラフィックを特定のソースに転送する場合は、そのゾーンにソースを追加します。ソースは、CIDR (Classless Inter-domain Routing) 表記法の IP アドレスまたは IP マスクになります。
- 現在のゾーンにソースを設定するには、次のコマンドを実行します。
~]# firewall-cmd --add-source=<source>
- 特定ゾーンのソース IP アドレスを設定するには、次のコマンドを実行します。
~]# firewall-cmd --zone=zone-name --add-source=<source>
以下の手順では、
trusted
ゾーンで 192.168.2.15 からのすべての着信トラフィックを許可します。
- 利用可能なゾーンの一覧を表示します。
~]# firewall-cmd --get-zones
- 永続化モードで、信頼ゾーンにソース IP を追加します。
~]# firewall-cmd --zone=trusted --add-source=192.168.2.15
- 新しい設定を永続化します。
~]# firewall-cmd --runtime-to-permanent
5.8.2. ソースの削除
ゾーンからソースを削除すると、そのゾーンからのトラフィックを遮断します。
- 必要なゾーンに対して許可されているソースの一覧を表示します。
~]# firewall-cmd --zone=zone-name --list-sources
- ゾーンからソースを永続的に削除します。
~]# firewall-cmd --zone=zone-name --remove-source=<source>
- 新しい設定を永続化します。
~]# firewall-cmd --runtime-to-permanent
5.8.3. ソースポートの追加
発信源となるポートに基づいたトラフィックの分類を有効にするには、
--add-source-port
オプションを使用してソースポートを指定します。--add-source
オプションと組み合わせて、トラフィックを特定の IP アドレスまたは IP 範囲に制限できます。
ソースポートを追加するには、次のコマンドを実行します。
~]# firewall-cmd --zone=zone-name --add-source-port=<port-name>/<tcp|udp|sctp|dccp>
5.8.4. ソースポートの削除
ソースポートを削除して、送信元ポートに基づいてトラフィックの分類を無効にします。
ソースポートを削除するには、次のコマンドを実行します。
~]# firewall-cmd --zone=zone-name --remove-source-port=<port-name>/<tcp|udp|sctp|dccp>
5.8.5. ゾーンおよびソースを使用して特定ドメインのみに対してサービスの許可
特定のネットワークからのトラフィックを許可して、マシンのサービスを使用するには、ゾーンおよびソースを使用します。以下の手順では、他のトラフィックがブロックされている間、
192.0.2.0/24
ネットワークからの HTTP トラフィックのみを許可します。
警告
このシナリオを設定する場合は、デフォルト のターゲットを持つゾーンを使用します。ターゲットが ACCEPT に設定されているゾーンを使用することは、
192.0.2.0/24
からのトラフィックではすべてのネットワーク接続が許可されるため、セキュリティー上のリスクがあります。
- 利用可能なゾーンの一覧を表示します。
~]# firewall-cmd --get-zones block dmz drop external home internal public trusted work
- IP 範囲を internal ゾーンに追加し、ソースから発信されるトラフィックを ゾーン経由でルーティングします。
~]# firewall-cmd --zone=internal --add-source=192.0.2.0/24
- http サービスを internal ゾーンに追加します。
~]# firewall-cmd --zone=internal --add-service=http
- 新しい設定を永続化します。
~]# firewall-cmd --runtime-to-permanent
- internal ゾーンがアクティブで、サービスが許可されていることを確認します。
~]# firewall-cmd --zone=internal --list-all internal (active) target: default icmp-block-inversion: no interfaces: sources: 192.0.2.0/24 services: dhcpv6-client mdns samba-client ssh http ...
5.8.6. プロトコルに基づいてゾーンが許可したトラフィックの設定
プロトコルに基づいて、ゾーンが着信トラフィックを許可できます。指定したプロトコルを使用したすべてのトラフィックがゾーンにより許可されていますが、そこにさらにルールおよびフィルターリングを適用できます。
ゾーンへのプロトコルの追加
特定ゾーンへプロトコルを追加すると、このゾーンが許可するこのプロトコルを使用するすべてのトラフィックを許可します。
プロトコルをゾーンに追加するには、次のコマンドを実行します。
~]# firewall-cmd --zone=zone-name --add-protocol=port-name/tcp|udp|sctp|dccp|igmp
注記
マルチキャストトラフィックを受信するには、
--add-protocol
オプションを指定して igmp
値を使用します。
ゾーンからプロトコルの削除
特定ゾーンからプロトコルを削除するには、ゾーンにより、このプロトコルに基づいたすべてのトラフィックの許可を停止します。
ゾーンからプロトコルを削除するには、次のコマンドを削除します。
~]# firewall-cmd --zone=zone-name --remove-protocol=port-name/tcp|udp|sctp|dccp|igmp