LinuxシステムにおけるデュアルNICバインドの方法

3064 ワード

1、既存のプロファイルのバックアップ
cd /etc/sysconfig/network-scripts/
mv ifcfg-eth0 ifcfg-eth1 /home/

2、新しいNICプロファイルを作成し、構成情報を記入する
touch ifcfg-bond0 ifcfg-eth0 ifcfg-eth1
vi ifcfg-bond0

DEVICE=bond0
BOOTPROTO=none
IPADDR=*.*.*.*
NETMASK=*.*.*.*
GATEWAY=*.*.*.*
ONBOOT=yes
USERCTL=no
BONDING_OPTS="mode=1 miimon=100"

vi ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

vi ifcfg-eth1

DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

以下は「https://www.cnblogs.com/archoncap/p/6079915.html ”
Linuxネットワークカードバインドmodeには7つのモードがあり、よく使われているのは3つで、最もよく使われているのはmode=1です.
  • mode=0:バランシングロードモードで、自動バックアップがありますが、「Switch」サポートおよび設定が必要です.
  • mode=1:自動バックアップモードで、そのうちの1本が断線すると、他の回線が自動的にバックアップされます.
  • mode=6:バランス負荷モード、自動バックアップがあり、「Switch」支援および設定を必要としない.

  • なお、mode 0の負荷バランシングを行うには、ここでoptions bond 0 miimon=100 mode=0を設定だけでは不十分であり、NICに接続するスイッチは、bondingを行う2つのNICが同じMACアドレスを使用するため、特殊な構成(この2つのポートは集約方式をとるべき)をしなければならない.原理分析から(bondはmode 0で動作):
    mode 0でbondにバインドされたNICのIPは同じmacアドレスに変更され、これらのNICが同じスイッチに接続されている場合、スイッチのarpテーブルにこのmacアドレスに対応するポートが複数ある場合、スイッチはこのmacアドレスに送信されたパケットをどのポートに転送すべきか.通常、macアドレスは世界で唯一であり、1つのmacアドレスが複数のポートに対応していることはスイッチを迷わせるに違いない.したがってmode 0のbondがスイッチに接続する場合、スイッチのいくつかのポートは集約方式(ciscoはethernetchannel、foundryはportgroupと呼ぶ)をとるべきである.スイッチが集約された後、集約下のいくつかのポートもmacアドレスに縛られるからである.私たちの解決策は、2つのNICが異なるスイッチに接続すればいいということです.mode 6モードでは、bondingを行う2つのNICは異なるMACアドレスを使用するため、スイッチを構成する必要はありません.Linuxネットワークカードバインドmodeは7種類あり、よく使われる3種類のmode=0:バランス負荷モード、自動バックアップがあるが、「Switch」の支援と設定が必要である.mode=1:自動バックアップモードで、そのうちの1本が断線すると、他の回線が自動的にバックアップされます.mode=6:バランス負荷モード、自動バックアップがあり、「Switch」の支援と設定を必要としない.なお、mode 0の負荷バランシングを行うには、ここでoptions bond 0 miimon=100 mode=0を設定だけでは不十分であり、NICに接続するスイッチは、bondingを行う2つのNICが同じMACアドレスを使用するため、特殊な構成(この2つのポートは集約方式をとるべき)をしなければならない.原理分析から(bondはmode 0の下で実行):mode 0の下でbondがバインドされたネットワークカードのIPはすべて同じmacアドレスに変更され、もしこれらのネットワークカードが同じスイッチに接続されているならば、スイッチのarpテーブルの中でこのmacアドレスに対応するポートが複数あるならば、スイッチはこのmacアドレスに送信されたパケットを受け取ってどのポートに転送すべきですか?通常、macアドレスは世界で唯一であり、1つのmacアドレスが複数のポートに対応していることはスイッチを迷わせるに違いない.したがってmode 0のbondがスイッチに接続する場合、スイッチのいくつかのポートは集約方式(ciscoはethernetchannel、foundryはportgroupと呼ぶ)をとるべきである.スイッチが集約された後、集約下のいくつかのポートもmacアドレスに縛られるからである.私たちの解決策は、2つのNICが異なるスイッチに接続すればいいということです.
    mode 6モードでは、bondingを行う2つのNICは異なるMACアドレスを使用するため、スイッチを構成する必要はありません.
    3、NetworkManagerサービスをクローズし、クローズしないとバインドできない
    service NetworkManager stop
    chkconfig NetworkManager off

    ここで閉じたNetworkManagerは、ネットワークカードのバインドにも使用できます.https://blog.51cto.com/zaa47/1925791 ”
    4、bond 0を起動自動ロードモジュールに入れる
    echo "alias bond0 bonding" > /etc/modprobe.conf

    5、ネットワークを再起動して構成を有効にする
    service network restart

    6、NICバインド状態を確認する
    ifconfigでは、3つのNICが表示され、bond 0、eth 0、eth 1が表示され、3つのNICに表示されるmacアドレスは同じです.
    cat/proc/net/bonding/bond 0は、NICバインドモードと現在のプライマリ・スタンバイ・NICが表示されます.
    ifconfig eth 0 down/ifconfig eth 1 down、長pingホスト、NICを切断するか、現場でNICバインドの効果を検証します.