can't add wlan0 to bridge
思い立って、高齢の実父見守りの為に実家に設置してある、自宅LAN―リモートLAN間のラズパイVPNルーターを弄ることにした。
RTL8188EU チップの USB 無線LANドングル(TL-WN725L)をラズパイ本体に追加し、有線NICとの共存を図れないか、と考える。
とりあえず、ブリッジに wlan0 と eth0 をぶら下げる構成を試してみることにした。
しかし、よく考えてみると、リモート側を無線にする明確な理由が見当たらない……。
まあ、LANケーブルが接続されていない方が設置場所に困らない、という利点は確かにある。
ところが、、、
wpa_supplicant で接続する場合、無線LAN(STA モード)では bridge mode が使えないことが判明し、少し驚いた。
brctl addif br0 wlan0 とすると、
can’t add wlan0 to bridge br0: Operation not supported
と表示される。
調べてみると、これは wpa_supplicant の問題というより、無線LAN(802.11)の仕様とドライバ実装上の制約によるものらしい。
多くの無線LANドライバ、とりわけ RTL8188EU 系では、
クライアント(STA)モードの wlan0 を Linux ブリッジに追加すること自体がサポートされていない。
何をやってもダメで、結局VPNルーターは安定の有線構成のままに戻すことにした。
wpa_supplicant は未完成というより、セキュリティや設計思想の観点から、クライアント用途に特化した作りになっている、というのが正確なところだろう。
実際、無線+ブリッジ構成は、うっかり L2 ループを起こしやすいのも事実だし、VPNルーター用途としてはリスクが高い。
というわけで、無理に無線化せず、有線で安定運用するのが正解、という結論。
まあ、とりあえず、ほぼ丸一日時間を潰すことができたので、結果オーライということで(笑)