前提
Raspberry Pi 3でネットワークエミュレータを自作しています。eth0とwlan0でなるbr0を用意し,hostapdでアクセスポイント化して使っていたのですが,接続が安定しないため有線のブリッジを利用することにしました。
手を加える前のbrctl show
の結果
bridge name bridge id STP enabled interfaces br0 8000.b827eb27c5da no eth0 wlan0
実現したいこと
インタフェースeth0とeth1からなる有線のブリッジbr1を作成する
(eth1はUSBポートにアダプタを接続してLANケーブルに変換しています。)
発生している問題・エラーメッセージ
br1の作成中にraspberry piがssh接続できなくなってしまいました。
しかもtimeoutともconnection confusedとも出てきません。何のエラーメッセージもないのです。
経緯
新しく動作させたい有線ブリッジはeth0とeth1をつなげたものでbr1と定義しました。
sudo brctl addbr br1
で作成はできたのですが,br1にeth0とeth1を追加しようと
sudo brctl addif br0 eth0 eth1
(ここでbr1とすべきところをbr0にしてしまったのが間違いの始まりだったのですが、気づいた時にはもう取り返しのつかないことになってしまったので…最後まで読んでいただけると幸いです。)
すると,
device eth0 is already a member of a bridge; can't add it to bridge br0.
と出たため,止むを得ずbr0を削除することにしました。(ここも削除ではなくDOWNさせるべきだった、、)
sudo brctl delbr br0
しかし,ここで
bridge br0 is still up; can't delete it
と出てきたので
sudo ip link set br0 down
でdownさせることにしました。
しかし,何度コマンドを叩いても,再起動して確認しても,br0をdownできませんでした。
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 pfifo_fast master br0 state UP mode DEFAULT group default qlen 1000 link/ether b8:27:eb:27:c5:da brd ff:ff:ff:ff:ff:ff 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether c4:36:c0:eb:55:e8 brd ff:ff:ff:ff:ff:ff 4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP mode DEFAULT group default qlen 1000 link/ether b8:27:eb:72:90:8f brd ff:ff:ff:ff:ff:ff 5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether b8:27:eb:27:c5:da brd ff:ff:ff:ff:ff:ff
そこで,br0に含まれるインタフェースをdownさせてからbr0をdownさせることを思いつきました。
sudo ip link set eth0 down
でeth0をdownさせて(ここでsshが途切れる。ラズパイとルータ間をeth0で繋いでいたため),ラズパイとルータをeth1で接続することでラズパイを再度NW上に復帰させてssh再接続し,sudo ip link set br0 down
でbr0をdownできました。
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> mtu 1500 qdisc pfifo_fast master br0 state DOWN mode DEFAULT group default qlen 1000 link/ether b8:27:eb:27:c5:da brd ff:ff:ff:ff:ff:ff 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether c4:36:c0:eb:55:e8 brd ff:ff:ff:ff:ff:ff 4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP mode DEFAULT group default qlen 1000 link/ether b8:27:eb:72:90:8f brd ff:ff:ff:ff:ff:ff 5: br0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000 link/ether b8:27:eb:27:c5:da brd ff:ff:ff:ff:ff:ff
その後、br0を削除することで頭が一杯だった私はsudo brctl delbr br0
でbr0を削除しました
このときのip link show
の結果は以下の通りです。
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 pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether b8:27:eb:27:c5:da brd ff:ff:ff:ff:ff:ff 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether c4:36:c0:eb:55:e8 brd ff:ff:ff:ff:ff:ff 4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether b8:27:eb:72:90:8f brd ff:ff:ff:ff:ff:ff
ここの一覧で最初に定義したbr1がないのもおかしいように思います。
br0が無くなったのでbr0の名前を引き継ぐことも考えましたが,hostapdにbridge = br0
と記述しており,私自身が混乱してしまいそうだったため,sudo brctl addbr br1
でbr1を作成しました。
その後,br1にeth0とeth1を追加したところでssh接続が途切れてしまいました
sudo brctl addif br1 eth0 eth1
ここから先は何の返事もありませんでした
補足情報(FW/ツールのバージョンなど)
Raspbianは最新のBullseyeを利用しています。
ssh接続はMacbookから行っています。
無線でなら完成していたのに余計なことをしてしまいました。。
やはりコードのみ救出して,SDカード焼き直しでしょうか。。

回答1件
あなたの回答
tips
プレビュー