今回は、VLanについて解説します。
ルーターを複数台繋いで、2階にWifiのAPを設置したり、有線で使うPCやチューナーレスTV、カメラなどを置きたい場合、下記のようにセグメントが別れているため、普通に繋いだだけではLANにあるセグメントしか拡張できません。
4つあるLANポートにそれぞれ割り当てるのも良いですが、ケーブルは3本必要になってしまいます。こういった場合、ルーター同士はVLanというイーサネットプロトコルでそれぞれのセグメントに壁を作って、セグメント間で干渉しないようにルーター間を接続することができます。
下記のネットワークでは、ルーターAとルーターBがそれに当たります。
ルーターAの3つのセグメントを、ルーターBでもケーブル1本で同じように拡張することができます。
VLanについては、こちら(YAMAHAのサイト)に詳しく解説されています。今回使うのはタグVLanとポートベースVLanです。
これは、イーサネットフレームに12ビットのVIDと呼ぶタグを設けて、1~4094までの番号をつけてそれぞれを区別する仕組みです(0,4095は予約済みで使用禁止)。イーサネットフレームのためWifiでは使うことができません。(この辺は調査不足ですが、おそらくそうです)またIPプロトコルより下の階層ですから、ブロードキャストパケット、UDPパケットも通せます。
まず、3つのセグメントに対してVIDを割り当てる必要があります。VIDは若い番号は(10以下)避けたほうが無難です。何か他のシステムを導入した場合、デフォルトで若い番号が割り振られていたりします。
今回は分かりやすく、IPアドレスの第3オクテットに+500した番号を振ることにします。
セグメント | VID |
---|---|
LAN | 520 |
GUEST | 521 |
IOT | 522 |
また、ルーターのLANポート(イーサネットの口)の割当も決めておきましょう。
これがポートベースVLanとなります。
ルーターA
ポート | セグメント |
---|---|
1番 | LAN |
2番 | LAN |
3番 | IOT |
4番 | ルーターBと接続 |
WAN | ONUへ接続 |
ルーターB
ポート | セグメント |
---|---|
1番 | LAN |
2番 | LAN |
3番 | GUEST |
4番 | IOT |
WAN | ルーターAと接続 |
ポイントは、ルーターAの4番ポートとルーターBのWANポートをルーター間接続専用にしてしまうことです。
ここに、スイッチングハブなどを利用してPCを接続しても直接通信できません(設定次第では可能ですがお勧めしません)。イーサネットの正式な規格ですから、スイッチングハブ自体は市販ベースの安いハブで問題ありません。
これを踏まえてOpenWRTに反映させます。まず、ビルド時に特別な設定は必要ありません。標準の構成ですでに利用可能になっています。
ルーターAの設定
まず、ブリッジでbr-mainを作ります。
このブリッジは、VIDの割当とポートの割当を決めるための設定となります。
br-mainが使用するポートとして、lan1~lan4まで登録します。
Bridge VLAN filteringで下記のように設定します。
UはVIDなしのフレームを扱うポート
TはVIDありのフレームを扱うポート
次にlan用のブリッジbr-lanを登録します。
これはすでにあると思うので、設定変更になります。
ポイントは、先程作成したbr-main.520を割り当てることです。
guest用のブリッジbr-guestの登録です。
同じようにbr-main.521を割り当てます。
iot用のブリッジbr-iotの登録です。
同じようにbr-main.522を割り当てます。
以上の設定を終えると、以下の4つのブリッジが登録されているはずです。
ルーターBの設定
ルーターAと同じように、ブリッジでbr-mainを作ります。
このブリッジは、VIDの割当とポートの割当を決めるための設定となります。
br-mainが使用するポートとして、lan1~lan4,WANまで登録します。
Bridge VLAN filteringで下記のように設定します。
UはVIDなしのフレームを扱うポート
TはVIDありのフレームを扱うポート
lan用のブリッジbr-lanを登録します。ルーターAと同じ設定にします。
guest用のブリッジbr-guestを登録します。ルーターAと同じ設定にします。
iot用のブリッジbr-iotを登録します。ルーターAと同じ設定にします。
以上の設定を終えると、以下の4つのブリッジが登録されているはずです。
インターフェース全体としては以下のようになります。
LANセグメントにはIPアドレスを割り当て、設定画面を開いて設定できるようにしておきます。
DHCPはルーターAが担当するので、ignore interfaceにチェックを入れておきます。
v6側は、RA DHCPv6 NDP すべて disabledにしておきます。
guestはセキュリティの関係で、IPアドレスの割り当てはしません。
iotもセキュリティの関係で、IPアドレスの割り当てはしません。
Firewallの設定です
ルーター間接続したポートに通常のPCなどをつなげたい場合、ルーターA側のbr-mainを以下のように設定すと、LANセグメントのPCとして使うことができます。
VLanの設定は以上となります。
ルーターBと同じように設定したルーターを増やせば、ルーターC、ルーターDと数珠繋ぎに増やすことができます。