Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

5.13. iptables を使用して IP セットの設定および制御

firewalldiptables (and ip6tables) の本質的な違いは、以下の通りです。
  • iptables service は設定を /etc/sysconfig/iptables および /etc/sysconfig/ip6tables に保存しますが、firewalld は、/usr/lib/firewalld/ および /etc/firewalld/ の様々な XML ファイルに保存します。Red Hat Enterprise Linux では firewalld がデフォルトでインストールされるため、/etc/sysconfig/iptables ファイルがないことに注意してください。
  • iptables service では、変更を行うために古いルールがフラッシュされ、新しいルールが /etc/sysconfig/iptables から読み込まれますが、firewalld ではそのようなすべてのルールの再生が行われることはなく、差異のみが適用されます。このため、firewalld では既存の接続が中断されることなく実行時に設定変更ができます。
この両方が、iptables tool を使用してカーネルパケットフィルターと通信します。
firewalld の代わりにiptables および ip6tables の各サービスを使用するには、まず root で以下のコマンドを実行して firewalld を無効にします。
~]# systemctl disable firewalld
~]# systemctl stop firewalld
そして root で以下のコマンドを実行して、iptables-services パッケージをインストールします。
~]# yum install iptables-services
iptables-services パッケージには、iptablesip6tables のサービスが含まれます。
次に、iptables サービスおよび ip6tables サービスを起動する前に、以下のコマンドを root で起動します。
~]# systemctl start iptables
~]# systemctl start ip6tables
システム起動時にサービスの起動を有効にするには、以下のコマンドを入力します。
~]# systemctl enable iptables
~]# systemctl enable ip6tables
ipset ユーティリティーは、Linux カーネルで IP セットを管理するために使用します。IP セットは IP アドレス、ポート番号、IP と MAC アドレスのペア、または IP アドレスとポート番号のペアを格納するフレームワークです。IP セットが非常に大きい場合であっても IP セットに対する照合が非常に高速に行われるよう IP セットにはインデックスが作成されます。IP セットにより、設定が簡素化され、管理しやすくなり、iptables を使用した場合にパフォーマンスが向上します。セットを参照する iptables のマッチとターゲットにより、カーネルの該当するセットを保護するリファレンスが作成されます。セットを参照するリファレンスが 1 つでもあると、セットを破棄することはできません。
ipset を使用すると、以下のような iptables コマンドをセットに置き換えることができます。
~]# iptables -A INPUT -s 10.0.0.0/8 -j DROP
~]# iptables -A INPUT -s 172.16.0.0/12 -j DROP
~]# iptables -A INPUT -s 192.168.0.0/16 -j DROP
セットは、以下のように作成されます。
~]# ipset create my-block-set hash:net
~]# ipset add my-block-set 10.0.0.0/8
~]# ipset add my-block-set 172.16.0.0/12
~]# ipset add my-block-set 192.168.0.0/16
セットは、以下のように iptables コマンドで参照されます。
~]# iptables -A INPUT -m set --set my-block-set src -j DROP
セットが複数回使用される場合は、設定時間が短縮されます。セットに多くのエントリーが含まれる場合は、処理時間が短縮されます。