41.8. firewalld でネットワークトラフィックの制御
firewalld パッケージは、事前定義された多数のサービスファイルをインストールし、それらをさらに追加したり、カスタマイズしたりできます。さらに、これらのサービス定義を使用して、サービスが使用するプロトコルとポート番号を知らなくても、サービスのポートを開いたり閉じたりできます。
41.8.1. CLI を使用した事前定義サービスによるトラフィックの制御 リンクのコピーリンクがクリップボードにコピーされました!
トラフィックを制御する最も簡単な方法は、事前定義したサービスを firewalld に追加する方法です。これにより、必要なすべてのポートが開き、service definition file に従ってその他の設定が変更されます。
前提条件
-
firewalldサービスが実行中である。
手順
firewalldのサービスがまだ許可されていないことを確認します。# firewall-cmd --list-services ssh dhcpv6-clientこのコマンドは、デフォルトゾーンで有効になっているサービスをリスト表示します。
firewalldのすべての事前定義サービスをリスト表示します。# firewall-cmd --get-services RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry ...このコマンドは、デフォルトゾーンで利用可能なサービスのリストを表示します。
firewalldが許可するサービスのリストにサービスを追加します。# firewall-cmd --add-service=<service_name>このコマンドは、指定したサービスをデフォルトゾーンに追加します。
新しい設定を永続化します。
# firewall-cmd --runtime-to-permanentこのコマンドは、これらのランタイムの変更をファイアウォールの永続的な設定に適用します。デフォルトでは、これらの変更はデフォルトゾーンの設定に適用されます。
検証
すべての永続的なファイアウォールのルールをリスト表示します。
# firewall-cmd --list-all --permanent public target: default icmp-block-inversion: no interfaces: sources: services: cockpit dhcpv6-client ssh ports: protocols: forward: no masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:このコマンドは、デフォルトのファイアウォールゾーン (
public) の永続的なファイアウォールのルールを含む完全な設定を表示します。firewalldサービスの永続的な設定の有効性を確認します。# firewall-cmd --check-config success永続的な設定が無効な場合、コマンドは詳細を含むエラーを返します。
# firewall-cmd --check-config Error: INVALID_PROTOCOL: 'public.xml': 'tcpx' not from {'tcp'|'udp'|'sctp'|'dccp'}永続的な設定ファイルを手動で検査して設定を確認することもできます。メインの設定ファイルは
/etc/firewalld/firewalld.confです。ゾーン固有の設定ファイルは/etc/firewalld/zones/ディレクトリーにあり、ポリシーは/etc/firewalld/policies/ディレクトリーにあります。