2017-05-04 14 views
1

私はdebianの同じ物理NIC上に複数のIPアドレスを持つdebianボックスを構成したいと思います。ネットワークルート。debianの同じインタフェース上に異なるネットワークルートを持つ複数のIPアドレス

ip addr addを使用することはできませんが、eth0:0などの疑似インターフェイスを使用することは可能ですか?あるいは、LinuxのTCPスタックがこれを防ぐのですか?可能であれば、複数のデフォルトルートを(疑似)インターフェイスまたはIPアドレスにバインドする方法はありますか?それはiptables roulesを使うことができますか?

+0

すべてのアドレスが同じサブネットにある場合、カーネルはどの宛先IPをどの宛先IPに割り当てるのかをどのように知っていますか? – rodrigo

+0

入ってくるパッケージは、仮想net dev(例えば、eth0:0)に割り当てられます。これは動作します。 サービスがIPアドレスにバインドすると、トラフィックは指定された仮想net devを経由してルーティングされます。これも動作します - 確認済み! 同じサブネット上にある場合、そのようなデバイスに異なるルートを割り当てることはできますか?これは、グローバルルーティングテーブルが1つしかないためです。 iptablesでマークを設定すると動作しますか? –

+0

AIUI、仮想ネットデバイスは 'ipconfig'ハックであり、カーネルには実際には存在しません。新しい 'ip'を使うと、仮想デバイスはなく、代わりに一つのデバイスが複数のアドレスを持つことができます。そして、 'ip route'で作成されたルートエントリーには、ソースIPである' src'パラメーターがあります。 – rodrigo

答えて

1

エイリアスので、IPと一致するように、ルールを追加iproute2を

ip addr add <ip> dev eth0 

あなたがして、IP特定のルートテーブル

ip route add subnet dev eth0 table <tableid> 
ip route add default via <GATEWAY> table <tableid> 

へのルーティングを追加してあなたがこれを行うことができ、これを行うために必要とされていません特定のテーブルを使用していること

ip rule add from any to <ip> lookup <tableid> 
ip route add from <ip> to any lookup <tableid> 

これは、ルーティングがn ow複数のルーティングテーブル

関連する問題