前回、現行版の OpenWRT ファームウェアへ入れ替えたトラベルルータ、GL-iNet VIXMINI へ WDS 機能をセットアップし、有線LANポートしかないデバイス向けの WiFiアダプタ に仕立てます。
WDSかメッシュか
リピータ機能とかアクセスポイント間通信と呼ばれるこの機能、WDS (Wireless Distribution System)をOpenWRTで構築する手順は、公式ユーザガイドに解説されています。
しかし近年では、WDSより802.11sメッシュを用いたほうが高スループットを望める、との声もあるようですが、
読み進めると反論も同程度挙がっているようなので、今回は構築実績を調べやすいWDSで進めようと思います。
有線ポートインターフェイスの設定
前回、OpenWRT謹製ファームウェアへ入れ替えたVIXMINIは、素の状態にあるので適当なPCを有線LANポートへ繋いで作業を始めます。
前半は有線、無線各インターフェイスを次のように構築します(無線側のIPはDHCPなので接続先の構成に準じます)。
有線LANポート eth0 の属する br−lan を次のIPアドレスに書き換えます。このIPアドレスは管理用なので、どこか他と重複しなければ可。
- IPv4 Address : 192.168.255.254
- IPv4 Netmask : 255.255.255.252 (/30)
- IPv4 Broadcast : 192.168.255.255
さらに同インターフェイスのDHCPやIPv6を無効化。
デバイスを一度再起動させ、その間にPC側もDHCPから静的IPへ書き換えます。
- Address : 192.168.255.253
- Netmask : 255.255.255.252 (/30)
- Gateway : 192.168.255.254
不要なファイアウォールゾーンの削除
続いて、不要なファイアウォールゾーンWANがあれば削除します。
WiFiをクライアントモードで接続
Wireless 項はまず、デフォルトのSSIDを削除してからWiFiスキャンを実行、接続先のアクセスポイントを見つけて選択します。
パスフレーズを入力し、ファイアウォールを lan ゾーンへ割当てます。
次のような状態になれば接続成功です。
こうして2つのネットワークインターフェイスができあがったところで、前半はここまで。
なお、OpenWRT公式ガイドでは wwan インターフェイスのIPアドレスを固定にしていましたが、接続先の可用性を高めるために、今回は敢えて DHCP Client にしています。
relaydパッケージをインストール
作業後半はWDS機能を実現するrelaydパッケージのインストールから。VIXMINIはWiFiに繋がったことで、インターネットが利用可能になっているはずです。
早速、パッケージリストを更新の後、次のパッケージをインストールします。
- luci-proto-relay
リレーブリッジインターフェイスの作成
インストール後デバイスを再起動してから、インターフェイス一覧でリレーブリッジインターフェイスを作成します(インターフェイス名にハイフンを使うと怒られます)。
リレーブリッジインターフェイスの設定では、 br-lan と同じIPアドレスを入れ、リレー対象に lan 、 wwan 両インターフェイスを加えますが、ファイアウォールゾーンには属しません。
VIXMINIのインターフェイス一覧が次のようになったところで、最後にデバイスを再起動させ、有線ポートに繋いでいるPCを再びDHCP自動に戻します。
各方向疎通確認
以上の設定作業で、VIXMINIの有線・無線両インターフェイスが同じネットワークに属するようになりました。有線ポートの先にいるPCが上流のネットワークを利用できるのはもちろん、逆にLAN上の他のデバイスからアクセスすることもできます。
ちなみに、VIXMINIの有線ポートを利用している機器が上流から付与してもらったIPアドレスは、 Routing Status の Neighbours から見つけることができます。
ここまでの作業で出来上がった設定ファイルは以下の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
config interface 'loopback' option device 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config device option name 'br-lan' option type 'bridge' list ports 'eth0' config interface 'lan' option device 'br-lan' option proto 'static' option netmask '255.255.255.252' option broadcast '192.168.255.255' option ipaddr '192.168.255.254' option delegate '0' config switch option name 'switch0' option reset '1' option enable_vlan '0' config interface 'wwan' option proto 'dhcp' option device 'wlan0' config interface 'br_repeater' option proto 'relay' list network 'lan' list network 'wwan' option ipaddr '192.168.255.254' |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
config wifi-device 'radio0' option type 'mac80211' option path 'platform/10300000.wmac' option channel '1' option band '2g' option htmode 'HT40' option txpower '20' option cell_density '0' option country 'US' option noscan '1' config wifi-iface 'wifinet0' option device 'radio0' option mode 'sta' option network 'wwan' option encryption 'psk2' option ssid '##########' option key '###########' |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
config defaults option input 'ACCEPT' option output 'ACCEPT' option synflood_protect '1' option forward 'ACCEPT' config zone option name 'lan' option input 'ACCEPT' option output 'ACCEPT' option forward 'ACCEPT' list network 'lan' list network 'wwan' |
1 2 3 4 5 6 7 |
config dhcp 'lan' option interface 'lan' option ignore '1' config dhcp 'wan' option interface 'wan' option ignore '1' |
LuCIでは各ページに散り散りになっている設定も、設定ファイルベースではこれだけしか編集していないので、ターミナルから直接編集した方が早いかもしれませんね。
接続先SSIDを変える時は
もしWiFiの接続先を変えたい場合はどうすれば良いのでしょうか。
実際に何度か試してみた結論から言うと、 /etc/config/wireless の ssid と key を直接編集して再起動するのが手っ取り早くて確実。LuCIからこれを行おうとすると、期待通りにインターフェイス間をリレーしてくれなくなることがありました。
こうしてできあがった「無線LANアダプタ」を、次回はWiFi機能の無いSynology NASに繋いで無線LAN対応させるつもりです。