linux の iproute2 でブリッジの追加。
brctl はもう時代遅れらしいので、iproute2 (ip コマンド)で追加する方法を模索してみた。
ブリッジの追加と削除
ブリッジを作成して、インタフェースをブリッジに挿す。
sudo ip link sudo ip link add name br0 type bridge sudo ip link set dev br0 up sudo ip link set dev macvlan1 master br0 sudo ip a sudo dhclient -v br0
削除
sudo ip link set dev br0 down sudo ip link del br0
実際にやってみた結果。
ブリッジを追加するとどのように変わるのか。コマンドを実行して確認したいと思います。
ブリッジの追加
追加前
takuya@raspi-ubuntu:~$ sudo ip link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether dc:a6:32:dd:23:c4 brd ff:ff:ff:ff:ff:ff 5: macvlan1@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 52:76:71:6e:4f:80 brd ff:ff:ff:ff:ff:ff 6: macvlan0@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 32:b7:9f:1a:67:d4 brd ff:ff:ff:ff:ff:ff
追加:ipコマンドで追加
takuya@raspi-ubuntu:~$ sudo ip link add name br0 type bridge
追加後: br0 が追加されてる
takuya@raspi-ubuntu:~$ sudo ip link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether dc:a6:32:dd:23:c4 brd ff:ff:ff:ff:ff:ff 5: macvlan1@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 52:76:71:6e:4f:80 brd ff:ff:ff:ff:ff:ff 6: macvlan0@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether 32:b7:9f:1a:67:d4 brd ff:ff:ff:ff:ff:ff 23: br0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether a6:e2:d0:d6:9e:5a brd ff:ff:ff:ff:ff:ff takuya@raspi-ubuntu:~$
ブリッジにNICを追加。
ブリッジにNICを参加させると、どう変わるのか、コマンド実行して結果を確認したいと思います。
追加前
takuya@raspi-ubuntu:~$ bridge link takuya@raspi-ubuntu:~$
追加:br0 に macvlan1 を参加(接続)させる。
sudo ip link set dev macvlan1 master br0
結果の確認
takuya@raspi-ubuntu:~$ bridge link 5: macvlan1@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 4
まだ試してないこと。
btctl でもやってたと思うけど。。。
BPDUを使ったルートポートとブロッキング・ポートの処理。
STPによるループ処理 について知っておく必要がある。
STPでは、BPDU
を送出し、相互にSTP有効であることを認知する。
スイッチが互いを認知する際に、ブリッジ・プライオリティを送出する。
スイッチはお互いの経路を認知する際に、PATHコストを計算する。
ルートスイッチは、自分のコスト=0として広告
各スイッチは、ルートに近いポートを認知
不要なポートはブロック。
このあたりをbrdige コマンドのコスト設定で可能になる。
ip link add br0 type brige
でできるのはわかるけど、検索して引っ掛けるのは不可能なんじゃ。。。