DD-WRTでマルチSSIDを別々のVLANに接続する

DD-WRTをうまく構成することで、単一のWiFiチャンネル上に複数のSSID(セキュリティ設定も別々)を設定し、それぞれをタグVLAN経由で異なるバックエンドネットワークに接続することができます。何がうれしいかというと、複数のネットワークに接続するWiFiのAPを別々に設置すると、WiFiのチャンネル配置が難しく、4つ上のネットワークを並べればあっというまに干渉が起きる構成になります。それに対してマルチSSIDで構成すれば、単一の物理チャンネル上に複数のSSIDを設置でき、チャンネル干渉を避けつつ多数のネットワーク対する独立したアクセスを提供できます。(と思っているんだけど、マルチSSIDってそういうものですよね?つっこみ待ち)

DD-WRTはLinuxなので、そういうネットワーク構成をすること自体は当然できるのですが、DD-WRTのWebUIの仕様上、多少の制限があって、その制限の中で実現をするために多少試行錯誤をして、最終的に実現できたのでメモ。

前提条件として、DD-WRTをインストールした2つ以上のEthernetポートを持つルータが必要です。Linuxカーネルからeth0とeth1が見える必要があります。Linuxカーネルからeth0,1が見えれば、DD-WRTのWebUIからも同様にeth0とeth1が見えるはずです。

さて、DD-WRTのデフォルト状態ではNAT箱になっているので、単体APとして利用するためにまずこれを解除します。Setup/Basic SetupのConnection TypeをDiabledにします。IPアドレスは適切に。これでeth0とeth1とWiFiのNICがすべてbr0にブリッジされた状態になります。NAT機能をAP全体で無効にするためSetup/Advanced RoutingのOperationg ModeをRouterに設定します。

ここからマルチSSIDの各仮想NICとVLANの仮想NICを接続できる準備をします。DD-WRTのWebUIの制限があり、以下の方針で設定をします。

  • eth0: 管理用IF、untaggedで接続
  • eth1: サービス用IF、各バックエンドにtaggedで接続

各設定を行います。直前までの設定がApplyされていないと、必要な入力欄が表示されない項目があるので、それぞれ設定をするごとにApply Settingsをしてください。

  • Setup/NetworkingのPort Setupのeth1をUnbridgedに設定します。IPアドレスはそのまま0.0.0.0。
  • Setup/NetworkingのVLAN Tagging/TaggingのAddをクリックし、eth1に設定したいVLAN IDを設定。
  • Setup/NetworkingのPort Setupのeth1.nnn(設定したVLAN IDに対応した仮想IF)をUnbridgedに設定します。IPアドレスはそのまま0.0.0.0。
  • Setup/NetworkingのBridging/Create BridgeのAddをクリックし、ブリッジIF名(例:br1)を入力(以後数字を増やしていく)。
  • Setup/NetworkingのBridging/Assign to BridgeのAddをクリックし、br1にeth1.nnnをブリッジするように設定。
  • Wireless/Basic SettingsのVirtual InterfacesのAddをクリックしSSIDを設定、Saveをクリック(仮想IF名を確認しておく 例:ath0.1)。Wireless/Wireless Securityで今設定したSSIDのセキュリティ設定を行いSaveをクリック。Setup/NetworkingのBridging/Assign to BridgeのAddをクリックして追加したSSIDの仮想IF名(例:ath0.1)をeth1.nnnと同じブリッジに追加(例br1)。※この項目の複数設定はSaveをしながら行い最後にApply Settingsをしてください。セキュアなWiFi追加のために必要です。途中でApply Settingsすると、セキュリティ設定のないSSIDが既存のネットワークに接続される危険性があります。

以上で指定のVLANにtaggingで接続する(といっても無線端末からは意識しないですが)独立したSSIDの追加が完了します。この要領で複数のSSIDを更に追加していけます。いくつSSIDを追加できるかは、試してないのでわかりません。UI上のBridgeの設定数の上限がおそらくボトルネックになる気がします。

DD-WRTでマルチSSIDを別々のVLANに接続する” への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください