5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

OpenWrtでWDSを構築してみる

Last updated at Posted at 2023-02-15

ネットワーク構成

  • 以下の構成を構築することを最終目的とする

登場人物

  • AMN1500
    • 光回線終端装置(ONU)
    • 今回はあまり関係ない
    • 日立製らしい
  • eoRT-100(S1)
  • OpenWrt
  • Intel NUC
    • ベアボーンPC(サーバ)
    • ESXi(vSphere Hypervisor)構築済み
  • MacBook Pro
    • macOSのバージョンはVentura
    • 今回、設定は基本的にこのマシン上で行う

なぜこの構成なのか

  • Intel NUC自体には無線LANモジュールが搭載されているため、Wi-Fiで通信することが可能
  • しかし、ESXiにWi-Fiの設定項目が無く、eoRT-100(S1)に有線で接続しようにも部屋が離れており、地理的な問題で断念
  • なので一旦OpenWrtで中継し、そこに有線で接続するという構成を取ることにした

WDSとは

  • Wireless Distribution Systemの略称
  • アクセスポイント間通信やリピータ機能と呼ばれたりもする
  • 本来は片側のアクセスポイントに中継機のような機能を持たせることでアクセスポイントのカバー範囲を延伸する仕組み
  • 今回はカバー範囲自体は問題無かったが、有線で接続せざるを得ないマシン(Intel NUC)が存在したことにより、この構成を選定した
  • 最近はWDSの代わりにIEEE 802.11sというメッシュネットワークの規格を採用することが多いらしく、このほうがパフォーマンスも高いらしい(要調査)
  • ちなみにWDSはIEEEやWi-Fi Allianceのような機関によって特に規格化はされていない模様

設定

事前準備

  • MacBook ProとOpenWrtのLAN側のポートを有線で接続している
  • Webブラウザで http://192.168.1.1 にアクセスすると、LuCIが開ける
  • LuCIにはパスワードが設定されている

OpenWrtのLAN側のインタフェースの設定

  • Network > Interfaces を開く
  • Interfacesの中からLANのEditを選択する

  • General Settingsのタブを開く
  • ProtocolはStatic addressを選択する
  • IPv4 addressに 192.168.2.1 を入力する
  • IPv4 netmaskは 255.255.255.0 を選択する

  • DHCP Serverのタブを開く
  • General Setupのタブを開く
  • DHCP Serverは不要なので、Ingore interfaceにチェックを入れる

  • IPv6 Settingsのタブを開く
  • RA-ServiceとDHCPv6-Serviceをdisabledに変更する
  • Saveする

  • Save & Applyを行うと、「LuCIのIPアドレスが 192.168.1.1 から 192.168.2.1 に変わるため、現在のIPアドレスではLuCIに接続できない」旨の警告が出る
  • 問題ないため、Apply and keep settingsを選択する

MacBook Proのネットワークの設定

  • 現状、OpenWrtのLAN側のインタフェースのIPアドレスを 192.168.2.1 に変更し、DHCPもオフにしたことで、MacBook ProからLuCIにアクセスできない状態となっている
  • そこでMacBook Proに適切な静的IPアドレスを設定し、再度LuCIに接続できるようにする
  • ちなみにmacOSの他のバージョンや他のOSであっても同様の設定は可能
  • システム設定 > ネットワークを開き、「AX88179A」を選択する
    • この部分は環境によって異なるが、どの環境であってもPCとOpenWrtを接続しているネットワークを選択すれば良い

  • 「詳細...」を選択する

  • TCP/IPを選択する

  • IPv4の構成のセレクトボックスで「手動」を選択する

  • IPアドレスに 192.168.2.10 を設定する
    • ちなみに第4オクテットは 10 でなくても構わない
    • OpenWrtが使用している 192.168.2.1 やネットワークアドレス、ブロードキャストアドレスと重複しなければ問題ない
  • サブネットマスクに 255.255.255.0 を設定する
  • ルーターに 192.168.2.1 を設定する

  • この状態で 192.168.2.1 にアクセスするとLuCIが開くため、ログインする

OpenWrtからeoRT-100(S1)への接続

  • Network > Wirelessを開く
  • 今回は5GHz帯(IEEE 802.11ac)でWDSを行いたかったため、MediaTek MT7615E 802.11acnのScanを選択

  • 接続したいSSIDのJoin Networkを選択する
    • 今回の場合は eoRT-XXXXXXXX

  • WPA passphraseを入力し、Create / Assign firewall-zoneでlanを選択する

  • ちなみにWPA passphraseは接続先のアクセスポイント(今回の場合はeoRT-100(S1))の管理画面から大抵確認することができる
  • eo光の場合、 192.168.0.1 で稼働している管理画面にWebブラウザからログインすることで確認することができる
  • まず、無線LAN詳細設定(5GHz)を選択

  • 暗号化 > WPA暗号化キー(PSK)の項目から確認できる

  • 本筋からは少し逸れるが、Maximum transmit powerを10 dBm(10 mW)に下げて日本の電波法に抵触しないようにしておく
    • ちなみにデフォルトは20 dBm(20 mW)
  • その後、SaveとSave & Applyを行う

  • Network > Interfacesを開く
  • InterfacesからWWANを選択する
  • General Settingsのタブを開く
  • ProtocolはStatic addressを選択する
  • IPv4 addressに 192.168.0.2 を入力する
  • IPv4 netmaskは 255.255.255.0 を選択する
  • IPv4 gatewayを 192.168.0.1 を入力する

  • Advanced Settingsのタブを開く
  • Use custom DNS Serversに 192.168.0.1 を入力し、eoRT-100(S1)のDNSキャッシュサーバを利用するようにする
  • その後、SaveとSave & Applyを行う

OpenWrtとインターネットの到達性の確認

  • Network > Diagnosticsを開く
  • openwrt.org 宛てにIPv4 Pingを実行する
  • 以下のように正常なレスポンスが返ってきているのであれば問題ない

luci-proto-relayのインストール

  • WDSの設定に先立ち、必要なパッケージをインストールする
  • System > Softwareを開く
  • Filterに luci-proto-relay と入力し、ActionsからUpdate lists...を実行する
  • Install...を実行する

  • 途中で以下のようなモーダルが出てきたらDismissを押して閉じる

  • モーダルが出てくるので、Overwrite files from other package(s)にチェックを入れてInstallを実行する

  • Dismissを押して閉じる

  • Installedと表示されているのでインストールされているということが分かる

  • System > Rebootを開く
  • RebootのPerform rebootを実行し、再起動する

WDSの設定

  • 現状の構成では、二重ルーターのような状態になっており、OpenWrtから見てWAN側のネットワークである 192.168.0.0 と LAN側のネットワークである 192.168.2.0 の2種類が存在している
  • このうち、LAN側のインタフェースに接続したホストを 192.168.2.0 のネットワークではなく、 192.168.0.0 のネットワークに所属させるような設定を行うことでOpenWrtをWDSとして機能させる
  • つまり、 192.168.2.0 のネットワークはOpenWrtで使用している 192.168.2.1 以外では使用しない
  • Network > Interfacesを開く
  • Add new interface...を押す

  • Nameは適当な命名で問題ない
  • ProtocolはRelay bridgeを選択する
  • Create interfaceを実行する

  • Local IPv4 addressに 192.168.0.2 を入力する
  • Relay between networksで lanwwan を選択する
  • その後、SaveとSave & Applyを行う

  • System > Rebootを開く
  • RebootのPerform rebootを実行し、再起動する

不要な設定の削除

  • 絶対にしないといけないわけではないが、不要な設定は設定を分かり辛くするため削除しておく
  • Network > Interfacesを開く
  • InterfacesにあるWANとWAN6をDeleteしてSave & Applyを実行する

スクリーンショット 2023-02-15 9.49.34.png

  • Network > Firewallを開く
  • General Settingsのタブを開く
  • Zonesから wan => REJECT の設定をDeleteしてSave & Applyを実行する

スクリーンショット 2023-02-15 9.53.22.png

動作検証

  • MacBook Proには 192.168.0.10 をDHCPで割り当てている
  • ここから各ホストに ping を行い、到達性を確認する
  • eoRT-100(S1)
$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes
64 bytes from 192.168.0.1: icmp_seq=0 ttl=64 time=9.858 ms
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=2.296 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=9.649 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=8.030 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=64 time=2.132 ms
^C
--- 192.168.0.1 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 2.132/6.393/9.858/3.471 ms
  • OpenWrt
$ ping 192.168.0.2
PING 192.168.0.2 (192.168.0.2): 56 data bytes
64 bytes from 192.168.0.2: icmp_seq=0 ttl=64 time=11.148 ms
64 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=9.151 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=64 time=7.514 ms
64 bytes from 192.168.0.2: icmp_seq=3 ttl=64 time=4.031 ms
64 bytes from 192.168.0.2: icmp_seq=4 ttl=64 time=12.500 ms
^C
--- 192.168.0.2 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 4.031/8.869/12.500/2.956 ms
  • Intel NUC
  • あらかじめ静的IPとして 192.168.0.3 を設定してある
$ ping 192.168.0.3
PING 192.168.0.3 (192.168.0.3): 56 data bytes
64 bytes from 192.168.0.3: icmp_seq=0 ttl=63 time=129.612 ms
64 bytes from 192.168.0.3: icmp_seq=1 ttl=63 time=11.210 ms
64 bytes from 192.168.0.3: icmp_seq=2 ttl=63 time=4.747 ms
64 bytes from 192.168.0.3: icmp_seq=3 ttl=63 time=11.591 ms
64 bytes from 192.168.0.3: icmp_seq=4 ttl=63 time=10.224 ms
^C
--- 192.168.0.3 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 4.747/33.477/129.612/48.131 ms
  • 各ホストが同一ネットワーク内で接続できていることが確認できた
5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?