ISCSIターゲットとして使用されるCentOS6.4を実行しているLinuxサーバーがあります。サーバーは、同じサブネット上にある2つのNICでマルチホーム化されています。 iSCSIマルチパスは負荷分散/フェイルオーバーを処理するため、必要なのは各NICが独立して動作することです。このシステムを構成して、常に発生するすべての奇妙なルーティングとARPの問題を回避するにはどうすればよいですか。ソースとは異なるインターフェースでトラフィックが返される、または一方のインターフェースが他方のIPに送信されるトラフィックを受け入れるなど、マルチホームセットアップが付属しています。ボンディングソリューションは、iSCSIに問題があるため、オプションではありません。接続。
重要なもの:
私はこの質問に決してフォローアップしなかったことに気づきました。いくつかの優れたインターネットリソースを使用して ここ および ここ 、私は次の構成を思いついた。うまくいけば、これは誰かを助けるでしょう。
2つのインターフェースがあると仮定します。eth0
およびeth1
、IPアドレス10.1.1.242および10.1.1.243。これはすべて、デフォルトゲートウェイが10.1.1.254の/ 22ネットワーク上にあります。
まず、NICごとに1つずつ、2つのルーティングテーブルを作成します。
echo "1 lan1" >> /etc/iproute2/rt_tables`
echo "2 lan2" >> /etc/iproute2/rt_tables`
次に、各インターフェイスのルートを適切なテーブルに追加します。
ip route add 10.1.0.0/22 dev eth0 src 10.1.1.242 table lan1
ip route add default via 10.1.1.254 dev eth0 table lan1
ip route add 10.1.0.0/22 dev eth1 src 10.1.1.243 table lan2
ip route add default via 10.1.1.254 dev eth1 table lan2
最後に、使用するテーブルを決定するルールを追加します。
ip rule add from 10.1.1.242/32 table lan1
ip rule add to 10.1.1.242/32 table lan1
ip rule add from 10.1.1.243/32 table lan2
ip rule add to 10.1.1.243/32 table lan2
これにより、トラフィックが内部でNICを通過するのを防ぎ、冗長性を維持したり、さまざまな機能に各NICを使用したりできます。
あなたが探しています ip route
ポリシールーティングを実行すると、各インターフェイスに独自のルーティングテーブルがあり、それらのテーブルに基づいてルーティングの決定(トラフィックの送信先とアドレスからのインターフェイスを含む)が行われます。
This は最初から概念を説明する優れたサイトですが、必要に応じて ポリシールーティング に直接ジャンプできます。
Arp_announce変数とarp_ignore変数を調べて、アダプターが期待どおりに応答することを確認する必要があります。
ドキュメントを確認することをお勧めします ここ 。 VIPのドキュメントの値はおそらく適切でしょう。
/etc/sysctl.conf内:
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.eth0.arp_announce = 2