48.9.2. IPTables と IPChains の相違点
ipchains と iptables はいずれも、Linux カーネル内で動作するルールのチェーンを使用して、指定されたルールまたはルールセットとの一致に基づいてパケットをフィルターリングします。ただし、iptables は、パケットのフィルターリングをより拡張可能な方法で提供しており、管理者はシステムにとって複雑なものを構築することなく、制御を強化できます。
ipchains と iptables の主な相違点に注意してください。
- iptables を使用すると、フィルターされた各パケットは、複数のチェーンではなく 1 つのチェーンのルールを使用して処理されます。
- たとえば、ipchains を使用するシステムに送信される FORWARD パケットは、INPUT、FORWARD、および OUTPUT チェーンを通過して、宛先を続行する必要があります。ただし、iptables はローカルシステム向けの宛先である場合のみ、iptables はパケットを INPUT チェーンに送信し、ローカルシステムがパケットを生成した場合にのみ OUTPUT チェーンに送信します。したがって、実際にはパケットを処理するチェーン内に特定のパケットを取得するように設計されたルールを配置することが重要です。
- DENY ターゲットが DROP に変更になりました。
- ipchains では、チェーン内のルールに一致するパケットは DENY ターゲットに転送することができます。このターゲットは、iptables で DROP に変更する必要があります。
- ルールにオプションを配置する際の順序は重要です。
- ipchains では、ルールオプションの順序は重要ではありません。iptables コマンドの構文はより厳格です。iptables コマンドでは、送信元ポートまたは宛先ポートの前にプロトコル(ICMP、TCP、または UDP)を指定する必要があります。
- ネットワークインターフェイスは、ファイアウォールルールの正しいチェーンに関連付けられている必要があります。
- たとえば、受信インターフェイス(
-i
オプション)は INPUT または FORWARD チェーンでのみ使用できます。同様に、出力インターフェイス(-o
オプション)は、FORWARD チェーンまたは OUTPUT チェーンでのみ使用できます。つまり、INPUT チェーンと受信インターフェイスは連携し、OUTPUT チェーンと発信インターフェイスは連携します。FORWARD チェーンは、着信インターフェイスと発信インターフェイスの両方で機能します。OUTPUT チェーンは着信インターフェイスで使用されなくなり、送信インターフェイスを通過するパケットは INPUT チェーンを認識しません。
これは、変更の包括的なリストではありません。詳細は、「関連情報」 を参照してください。