僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
SWP-0008F氏ね。
これではLANの分割はできても、ルータやプリンタなど、VLAN間で共通に使用したいモノが繋げられないじゃないか。
あれでもか、これでもかと機能てんこ盛りを謳いあげてる癖に、 マルチプルVLANできない(サポート担当者断言せり)8ポートのVLANスイッチなんて
糞だ。
実用には糞かもしれんが、玩具としてはちょっと面白げ。と
ポジティブに考え直す。
一台のホストの複数のイーサネットインターフェースを
同じスイッチに繋いで使えるか試すことにする。
linux-net.osdlのサイトも見たが、
カーネルソースのDocumentation/networking/bonding.txtと大体
同じみたい。
例によってPlamo-4.21。kernelは2.6.20とか21とか。
まずカーネル再構築。CONFIG_BONDING=m にする。
次いでifenslaveコマンド((8)といったところか)をビルド。
これはカーネルソースに同梱されている。
# cd Documentation/networking/ # gcc -Wall -Wstrict-prototypes -O \ -I/usr/src/linux/include \ ifenslave.c -o ifenslave # cp ifenslave /usr/sbin
modprobe bonding とかすると、bond0ができた。このとき dmesgにこんなの。
$ dmesg | tail (ry bonding: Warning: either miimon or arp_interval and \ arp_ip_target module parameters must be specified, \ otherwise bonding will not detect link failures! \ see bonding.txt for details.
なんか細かい設定が載っているようだけど、
めんどくさいので、凝ったことはやらない。
eth1とeth2(どっちも蟹だ)をまとめることにする
# ip link set eth1 up # ip link set eth2 up # ip link set bond0 up # ifenslave -f bond0 eth1 eth2 # ip addr add IP/MASK dev bond0
bond0、eth1、eth2全部eth1と同じMACアドレスになった。
スイッチの適当なポート二つをtrunk設定して、
eth1とeth2に繋ぐ。
別のリモートホストからping してみる。反応あり。
なんか両方に飛んでるらしく、双方のLEDが同時に点滅している。
片方引っこ抜いても、ちょっと途切れるだけで、通信は続く。
tcpdump で eth1 と eth2 を別々に見て、首をひねった。
交互に反応しているように見えたが、どっちも
echo replyしかキャプチャされないのだ。
bond0からはrequest/reply双方が見えるのだけど。
別の(bondingしてない)ホストからファイルを転送してみたが、
転送時間は全然変らない。orz。
で、そっちもbondingしてみる。とはいえ、あまり似たNICも
ないので、内蔵のBroadcom4400とPCMCIAのRealtekRTL8139。
...でも、やっぱり、転送速度は
変らない。
orz.
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。