raspberry piをAP化できる素敵ツール raspiapとPoE HAT(B)を合わせて使ったシステムにて。
一個単位で実験するには全く問題なかったものの、複数個で運用するとMACアドレスが衝突し、
ルーターが問題解決に振り回されてパフォーマンスが落ちるという事態に。
大抵の場合は機体毎に固有のMACアドレスがあるはずなんですが……raspiapの自動構成か、あるいはPoEか……?
この対策のため、人生で初めてMACアドレスの書き換えを行いました。
実際のところ
お行儀のよい,、NICのdown -> upは省略しました。
リモートにある装置だったため、万が一事故ると出張と始末書が増えるためです。
現場にはバッドノウハウがいっぱい。
初期状態はこちら。
"8a:8a:5e:99:5c:5f "というのが、raspiapかPoE HAT(B)のどちらかに由来するMACアドレスです。
$ ip a ... 4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 8a:8a:5e:99:5c:5f brd ff:ff:ff:ff:ff:ff inet 192.168.XXX.YYY/24 brd 192.168.XXX.255 scope global noprefixroute br0 ...
さて、今回の主役、MACアドレスの変更はifconfigにて行います。
今回は
$ sudo ifconfig br0 hw ether aa:aa:aa:aa:aa:aa
実行すると、即応でMACアドレスが変更されます。
外から確認しても、ちゃんと変わっており、台数分それぞれ個別に新MACアドレスをふりわけたらパフォーマンスが向上しました。
$ ip a ... 4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether aa:aa:aa:aa:aa:aa brd ff:ff:ff:ff:ff:ff inet 192.168.XXX.YYY/24 brd 192.168.XXX.255 scope global noprefixroute br0 ...
……問題は、これだと恒久化できないってことです。
苦手なsystemdやってみたんですけど、解決順の問題なのかifconfigの読み出し方がおかしいのか実行できません……。