特定のインターフェイス/ネットワーク間のIP転送制限

特定のインターフェイス/ネットワーク間のIP転送制限

現在、ipv4.ip_forward複数のインターフェイス間のパケットルーティングをイネーブルにしています。

システムを8つのインターフェイスに拡張しましたが、インターフェイス/アドレス間のルーティングを制限したいと思います。

1つのオプションはを使用することですが、firewalld以前のバージョンのRHにデプロイするので、これを介して機能しますiptables

ベストアンサー1

実際にiptablesこれを制限することをお勧めします。これフィルターパケットを許可またはブロックするテーブルには3つのチェーンがあります。各チェーン内でパケットを一致させ、パケットが一致したときにアクションをトリガーするルールを定義できます。パケットが一致するルールチェーンは、iptables実行中のホストを基準としたパケットの方向によって異なります。

  • INPUT: 受信パケットが localhost に送信される
  • OUTPUT: localhost から発信されるパケット
  • FORWARD:他のホストに送信され転送されるべきデータパケット

たとえば、パケットを転送する必要があり、チェーンに一致するルールがない場合は、次のものにFORWARD基づいて転送されます。ポリシーこのチェーンに設定され、デフォルト値はですACCEPT。パケットの通過が許可されます。このコマンドはポリシーとルールを表示します(定義されている場合)。

iptables -t filter -vnL

表は、指定されていない場合は基本表を使用して指定されるため、-t <table>次のfilterコマンドは同じです。

iptables -vnL

すべてのパケットが転送されるのを防ぐために、チェーンのポリシーを次のように設定できREJECTますDROP

iptables -P FORWARD REJECT

FORWARD転送されるすべてのパケットを明示的に許可するルールがチェーンにない場合、そのパケットは拒否されます。

内部トラフィックにはポリシーが必要な場合がありますREJECT。これにより、パスが閉じられたことをクライアントにすぐに通知します。DROP外部ネットワークのトラフィックのルールを作成する必要があります。

特定のパケットの通過を明示的に許可するために、ルールが定義された順序でパケットと一致するルールがこれらのチェーンに追加されます。たとえば、すべての着信eth0およびルートベースのトラフィックが次に転送されるようにしますeth1

iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

10.0.0.0/24たとえば、サブネット上のパケットのみが反対方向に転送されるようにするには、次の手順を実行します。

iptables -A FORWARD -i eth1 -o eth0 -s 10.0.0.0/24 -j ACCEPT

すべてのパラメータの詳細については、以下を参照してください。iptables マンページそしてiptables 拡張マンページ

おすすめ記事