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ルーター用途としてはリスクが高い。

というわけで、無理に無線化せず、有線で安定運用するのが正解、という結論。

まあ、とりあえず、ほぼ丸一日時間を潰すことができたので、結果オーライということで(笑)