2つの異なるISP接続があります。以前の「IT担当者」は、ファイアウォールを次のように設定しました。
起動時に/etc/rc.local
が実行されると、特定のISP接続を使用するように特定の内部ホストをルーティングするためにip rule add
コマンドとip route add
コマンドが実行されました。
次に、/etc/rc.local
の最後に、Firewall Builder
によって生成されたiptables
ファイアウォールルールを実行しました。これらのiptables
ルールには、ポリシーとNATルールの両方が設定されています。
私が理解していないのは、なぜ彼はiproute2
を使用してルールとルートを指定しただけでなく、NAT iptables
のルールも指定したのですか?なぜ彼はただ両方を使用するのではなく、どちらか一方ですべてを実行しますか?彼はiproute2
ルールとルートを取り除き、それらすべての同じルールをiptables
NAT設定?
2つのツールの機能にはいくつかの重複がありますが、一方のツールからしか実行できないことがたくさんあります。 iproute2
は、netfilterファイアウォールルールでは何もできません。 iptables
は、IPアドレスの割り当てなどを実行できません。
機能が重複しているように見える場所でも、実際には重複しません。たとえば、iproute2
とiptables
の両方を使用してアドレス変換を行うことができます。ただし、iprouteで実行できるアドレス変換では、状態は考慮されず、パケットの書き換えはまったく行われません。 FTP、SIP、H.323などのようないくつかのネットワークプロトコルがあり、IPアドレスはヘッダーだけでなくパケット内に含まれています。アドレス変換にiprouteメソッドを使用すると、これらのタイプのプロトコルは機能しなくなります。 Netfilterは、アドレス変換ではるかに優れた仕事をします。
機能が重複するほとんどの場合、機能はさまざまな方法で処理されます。モジュールを使用してiptables
でルーティングを行うことは可能ですが、前回、モジュールがほとんどのディストリビューションにないことを確認したところ、netfilter/iptables
に [〜#〜] route [〜#〜] のパッチが適用されていませんでした。 =ターゲット。そのターゲットが利用できない場合は、独自のカーネルをコンパイルする気がない限り、ルーティングにnetfilterを使用することはできません。使用するツールのバージョンで機能が使用できないという理由だけで、使用するツールの決定が行われます。 ROUTEターゲットがある場合でも、私が理解していることから、ルーティングの決定にnetfilterを使用することは、iproute2
操作を使用して標準のルーティングテーブルでルーティングを行うことほど効率的ではありません。
その多くは、適切な仕事に適切なツールを使用しています。 iproute2
は、主にコンピューター上のルーティングとアドレスを管理するために設計されています。 iptables
/Netfilterはファイアウォール用に構築されています。
どちらのツールも使える場所では、なじみのあるツールを使うのが普通だと思います。 iproute2
を使用して同じルールを記述できたとしても、iptables
のMARKターゲットを使用して、1つのルートまたは別のルートのいくつかのパケットにフラグを立てることはわかっています。