web-dev-qa-db-ja.com

iptablesを使用して、送信元IPアドレスに基づいてトラフィックを仮想インターフェイスに動的に転送します

送信元IPアドレスに基づいて異なる結果に応答するDNSサーバーのセットアップを実験しています。同時に、外部ソースIPが転送するインターフェイスを動的に変更する必要があります。

eth0    physical inteface   192.168.1.10
eth0:   virtual interface 1   192.168.1.11
eth0:1  virtual interface 2   192.168.1.12

サーバーにbind9をインストールし、2つのビューを構成し、両方とも192.168.1.11と12をそれぞれリッスンしています。

私のセットアップでは、外部向けのインターフェイスのみがeth0であり、すべてのクライアントがそれを介してDNSを要求します。クライアントの送信元IPアドレスに基づいてこれらの要求を仮想インターフェイスに転送し、動的に変更する必要があります。

例として

シナリオ1の場合、ユーザー192.168.1.40がeth0を介してDNSを照会する場合、eth0を転送する必要があります:(192.168.1.11)

シナリオ2の同じユーザー(192.168.1.40)の場合eth0:1(192.168.1.1)に転送する必要があります

同じDNSサーバーを2つの異なる時間に使用することで、外部ユーザーが異なる結果を得ることができるようにしたいと思います。

2
gripen fighter

見て iproute2。多くのルートテーブルを簡単に構成し、問題の解決策を含め、接続を処理するネットワークインターフェイスを定義できます。

ここにいくつかの有用な例があります:

参照:

3
user263770