ラズパイでボンディング eth0とwlan0をbond0に統合

本日は、ラズパイのお話である。
ラズパイ3には、WiFiと100Mの有線LANが付いている。
デバイス名は、eth0とwlan0となっている。
でもって、eth0には固定のIPアドレス192.168.0.81を割り当てているが、wlan0はDHCP取得となっている。
eth0 192.168.0.81
wlan0 192.168.0.100 (DHCP)
どちらかしか使わないが、両方使ってもいいか。ならボンディングじゃない?
ということで、やってみることにする。
DSC_0294.JPG
ifenslaveっていうモジュールが必要なのか。
sudo apt-get install ifenslave
なんか入った。
これで、bondingのカーネルモジュールも入ったぽいので、bond0インタフェースを作成してみる。
/etc/modprobe.d/bonding.conf ファイルを以下の内容で作成

alias bond0 bonding

ここで一度リブート。
立ち上がるのを待って、lsmodでみてみたが、bondingのモジュールは入らなかった。
インタフェースを作らないとダメか。
/etc/network/interfacesを以下のように修正した。

# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
bond-master bond0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
bond-master bond0
bond-give-a-chance 10
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
auto bond0
iface bond0 inet static
address 192.168.0.81
gateway 192.168.0.1
netmask 255.255.255.0
dns-nameservers 192.168.0.1 8.8.8.8
bond-mode 0
bond-miimon 100

カーネルモジュールは入ったかな?

lsmod | grep bond
bonding               122586  0

入ったっぽい。
がしかし、dhcpcdが全インターフェースにアドレスを振ってしまっている。

insserv -r dhcpcd
insserv dhcpcd,stop=2,3,4,5

として、dhcpcdを停止。-> 再起動
あれー、dhcpcd止まんないんですけど。
/etc/dhcpcd.confを以下のように修正

interface eth0
static ip_address=0.0.0.0
interface wlan0
static ip_address=0.0.0.0
interface bond0
static ip_address=192.168.0.81/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

これでなんとなく、動いてる。
有線のLANを抜いても...
WiFiが使えなくても...
通信できる。
ちなみにリンクアグリは無理です。
関連記事
ボンディング・チーミングのその後 NETGEARのインテリジェントL2-SW
Ethernetのボンディング Linuxのサーバーマシンにbond0インターフェースを作成
ラズパイGPSモジュール LCDに緯度経度を表示

投稿者プロフィール

asai
asai