web-dev-qa-db-ja.com

単純なマルチホームLinuxサーバーの問題

ISCSIターゲットとして使用されるCentOS6.4を実行しているLinuxサーバーがあります。サーバーは、同じサブネット上にある2つのNICでマルチホーム化されています。 iSCSIマルチパスは負荷分散/フェイルオーバーを処理するため、必要なのは各NICが独立して動作することです。このシステムを構成して、常に発生するすべての奇妙なルーティングとARPの問題を回避するにはどうすればよいですか。ソースとは異なるインターフェースでトラフィックが返される、または一方のインターフェースが他方のIPに送信されるトラフィックを受け入れるなど、マルチホームセットアップが付属しています。ボンディングソリューションは、iSCSIに問題があるため、オプションではありません。接続。

重要なもの:

  • eth0:IP 10.1.1.242/SN 255.255.252.0/GW 10.1.1.254
  • eth1:IP 10.1.1.243/SN 255.255.252.0/GW 10.1.1.254
4
tfrederick74656

私はこの質問に決してフォローアップしなかったことに気づきました。いくつかの優れたインターネットリソースを使用して ここ および ここ 、私は次の構成を思いついた。うまくいけば、これは誰かを助けるでしょう。

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を使用したりできます。

5
tfrederick74656

あなたが探しています ip routeポリシールーティングを実行すると、各インターフェイスに独自のルーティングテーブルがあり、それらのテーブルに基づいてルーティングの決定(トラフィックの送信先とアドレスからのインターフェイスを含む)が行われます。

This は最初から概念を説明する優れたサイトですが、必要に応じて ポリシールーティング に直接ジャンプできます。

0
NickW

Arp_announce変数とarp_ignore変数を調べて、アダプターが期待どおりに応答することを確認する必要があります。

ドキュメントを確認することをお勧めします ここ 。 VIPのドキュメントの値はおそらく適切でしょう。

/etc/sysctl.conf内:

net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.eth0.arp_announce = 2
0
Antitribu