eth0+wlan0でActive-Backupのbondingを構成する。

■eth0+wlan0のActive-Backupのbondingを構成する。

 Squeezeに無線LANドライバを導入する
 http://d.hatena.ne.jp/labunix/20130302

 Squeezeでアクティブ/バックアップモードのbonding(teaming)を設定する
 http://d.hatena.ne.jp/labunix/20121005

■kernelモジュールの読み込み

$ sudo apt-get install -y ifenslave-2.6
$ sudo modprobe bonding
$ lsmod | grep bonding
bonding                73991  0
$ echo "bonding" | sudo tee -a /etc/modules
$ echo "alias bond0 bonding" | \
  sudo tee -a /etc/modprobe.d/aliases-bond.conf

■マニュアルの確認。

$  find /usr/share/doc/ifenslave-2.6/examples/ -type f -iname "*wifi*" -print
/usr/share/doc/ifenslave-2.6/examples/ethernet+hotplug_wifi
/usr/share/doc/ifenslave-2.6/examples/ethernet+wifi

■bonding設定

$ sudo cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
#iface eth0 inet static
iface eth0 inet manual
        ethernet-wol g

auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
        wireless-essid MYHOME
        wireless-key1 s:MYHOMePASS

auto bond0
iface bond0 inet static
        address XXX.XXX.XXX.10
        netmask 255.255.255.0
        gateway XXX.XXX.XXX.254
        broadcast XXX.XXX.XXX.255
        bond-slaves eth0 wlan0
        bond_arp_interval 200
        bond_arp_ip_target 10.26.7.254
        bond-mode 1
        bond-primary eth0

■ARPで監視。LANケーブルの抜き差し確認もOK。

$ sudo find /sys/class/net/bond0/bonding -type f -print | sudo grep . `xargs`
/sys/class/net/bond0/bonding/slaves:eth0 wlan0
/sys/class/net/bond0/bonding/mode:active-backup 1
/sys/class/net/bond0/bonding/fail_over_mac:none 0
/sys/class/net/bond0/bonding/arp_validate:none 0
/sys/class/net/bond0/bonding/arp_interval:200
/sys/class/net/bond0/bonding/arp_ip_target:XXX.XXX.XXX.254
/sys/class/net/bond0/bonding/downdelay:0
/sys/class/net/bond0/bonding/updelay:0
/sys/class/net/bond0/bonding/lacp_rate:slow 0
/sys/class/net/bond0/bonding/ad_select:stable 0
/sys/class/net/bond0/bonding/xmit_hash_policy:layer2 0
/sys/class/net/bond0/bonding/num_grat_arp:1
/sys/class/net/bond0/bonding/num_unsol_na:1
/sys/class/net/bond0/bonding/miimon:0
/sys/class/net/bond0/bonding/primary:eth0
/sys/class/net/bond0/bonding/use_carrier:1
/sys/class/net/bond0/bonding/active_slave:eth0
/sys/class/net/bond0/bonding/mii_status:up

■ステータスもOK。

$ sudo cat /proc/net/bonding/bond0 | sed s/"[0-9][0-9]\:.*[0-9][0-9]"/"[MacAddress]"/g
Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: eth0
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
ARP Polling Interval (ms): 200
ARP IP target/s (n.n.n.n form): XXX.XXX.XXX.254

Slave Interface: eth0
MII Status: up
Link Failure Count: 2
Permanent HW addr: [MacAddress]

Slave Interface: wlan0
MII Status: down
Link Failure Count: 4
Permanent HW addr: [MacAddress]

■ネットワーク統計の確認。

$ sudo netstat -i
カーネルインタフェーステーブル
Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR フラグ
bond0      1500 0      3673      0      0 0          3278      0      0      0 BMmRU
eth0       1500 0      3565      0      0 0          3156      0      0      0 BMsRU
lo        16436 0      1205      0      0 0          1205      0      0      0 LRU
wlan0      1500 0       108      0      0 0           122      0      0      0 BMsRU

$ env LANG=C /sbin/ifconfig | grep "^[a-z]\|[RT]X" | sed s/"HWaddr.*"//g
bond0     Link encap:Ethernet
          RX packets:4342 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3870 errors:0 dropped:0 overruns:0 carrier:0
          RX bytes:341331 (333.3 KiB)  TX bytes:343911 (335.8 KiB)
eth0      Link encap:Ethernet
          RX packets:4234 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3748 errors:0 dropped:0 overruns:0 carrier:0
          RX bytes:336579 (328.6 KiB)  TX bytes:333539 (325.7 KiB)
lo        Link encap:Local Loopback
          RX packets:1205 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1205 errors:0 dropped:0 overruns:0 carrier:0
          RX bytes:62786 (61.3 KiB)  TX bytes:62786 (61.3 KiB)
wlan0     Link encap:Ethernet
          RX packets:108 errors:0 dropped:0 overruns:0 frame:0
          TX packets:122 errors:0 dropped:0 overruns:0 carrier:0
          RX bytes:4752 (4.6 KiB)  TX bytes:10372 (10.1 KiB)

■以下のような方法でテストも可能。

 Active-Backup mode bond0の正常性確認
 http://d.hatena.ne.jp/labunix/20121007

■以下でも例をあげたが、wlan0はMII監視に対応していないことはすぐに分かる。

 bondingのパラメータのテストに便利な方法
 http://d.hatena.ne.jp/labunix/20121217

 bondingのARPとMII監視をNIC設定を変えずにテストする。
 http://d.hatena.ne.jp/labunix/20130205

$ sudo mii-tool
eth0: negotiated 100baseTx-FD flow-control, link ok

■他にも以下があるが、wlan0では使わない。

 Kernelヘッダにbondingって何?って聞いてみた。
 http://d.hatena.ne.jp/labunix/20130202