OpenWRT導入マニュアル　③VLan編

今回は、VLanについて解説します。
ルーターを複数台繋いで、2階にWifiのAPを設置したり、有線で使うPCやチューナーレスTV、カメラなどを置きたい場合、下記のようにセグメントが別れているため、普通に繋いだだけではLANにあるセグメントしか拡張できません。
４つあるLANポートにそれぞれ割り当てるのも良いですが、ケーブルは3本必要になってしまいます。こういった場合、ルーター同士はVLanというイーサネットプロトコルでそれぞれのセグメントに壁を作って、セグメント間で干渉しないようにルーター間を接続することができます。
下記のネットワークでは、ルーターAとルーターBがそれに当たります。
ルーターAの3つのセグメントを、ルーターBでもケーブル1本で同じように拡張することができます。

![{D937CF0D-0DC8-448A-A9DE-2AD81E969382}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/09688414-dfeb-0810-eeb3-ef99c77bc4d0.png)


VLanについては、[**こちら(YAMAHAのサイト)**](https://network.yamaha.com/knowledge/vlan)に詳しく解説されています。今回使うのは**タグ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まで登録します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/af7a3a9c-18cc-29f4-e682-8e3a53a4f3f2.png)
Bridge VLAN filteringで下記のように設定します。
**U**はVIDなしのフレームを扱うポート
**T**はVIDありのフレームを扱うポート
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/2bd049d3-14eb-ecc3-50f7-31d882f36568.png)
次にlan用のブリッジ**br-lan**を登録します。
これはすでにあると思うので、設定変更になります。
ポイントは、先程作成した**br-main.520**を割り当てることです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/fd3fa75a-5e10-e4e5-f246-2a5a251458d5.png)
guest用のブリッジ**br-guest**の登録です。
同じように**br-main.521**を割り当てます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/17f4ecc3-3a5a-68c8-1e67-4bab06fc7f1d.png)
iot用のブリッジ**br-iot**の登録です。
同じように**br-main.522**を割り当てます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/b3b28de2-a44d-c28b-1c10-130a7f7f0e3d.png)
以上の設定を終えると、以下の4つのブリッジが登録されているはずです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/24b4eb34-ae08-f48f-fe1c-f6ff362aa2e0.png)

**ルーターBの設定**
ルーターAと同じように、ブリッジでbr-mainを作ります。
このブリッジは、VIDの割当とポートの割当を決めるための設定となります。
br-mainが使用するポートとして、lan1～lan4,WANまで登録します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/e5f2a43f-63c5-77f8-6f7d-2bdd4bcfea6a.png)
Bridge VLAN filteringで下記のように設定します。
**U**はVIDなしのフレームを扱うポート
**T**はVIDありのフレームを扱うポート
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/e5c206f7-d836-7de3-1786-b608a0f1c435.png)
lan用のブリッジbr-lanを登録します。ルーターAと同じ設定にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/9fdd0b12-c26a-79b3-7c9d-c6bcafc3d2d9.png)
guest用のブリッジbr-guestを登録します。ルーターAと同じ設定にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/d056d42d-3bf2-9a30-9bcf-187207528dd6.png)
iot用のブリッジbr-iotを登録します。ルーターAと同じ設定にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/3a09d5a4-eb2d-a608-0a84-649ad2fe8c4e.png)
以上の設定を終えると、以下の4つのブリッジが登録されているはずです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/2a70391f-8c5a-20e2-fb38-66048ebdbad4.png)
インターフェース全体としては以下のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/b03efd61-74c0-a075-7c2d-86475f0b76a4.png)
**LAN**セグメントにはIPアドレスを割り当て、設定画面を開いて設定できるようにしておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/597395b9-5eed-721a-81b5-0a1b81e63994.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/50397fcf-4e2b-21a5-0131-751352995439.png)
**DHCP**はルーターAが担当するので、ignore interfaceにチェックを入れておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/1b780a3d-710e-dd9b-36f1-c6163630fe8d.png)
v6側は、RA DHCPv6 NDP すべて disabledにしておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/32df14ed-8de4-5452-c268-49ab8845af1a.png)
**guest**はセキュリティの関係で、IPアドレスの割り当てはしません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/db58a286-8439-c77d-f18a-0f252b3181a0.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/46c9bd93-d175-408a-22e1-5336db1a257f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/b008d6eb-4f0e-c8b9-f1c7-2815c39467c0.png)
**iot**もセキュリティの関係で、IPアドレスの割り当てはしません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/5723be7d-6440-156e-6988-cefba84547f0.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/164cfa14-fe99-78a0-3b16-d71cff277b6a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/ff5ad4ed-2570-c788-e28c-32f223d88f2a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/8bf2d1b4-d744-d700-c6c5-89de25e5daf2.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/59ee0fa1-71a1-7415-99a4-b25ca7723702.png)
Firewallの設定です
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/41f7e43c-37d9-c8d6-52bb-bbf8e4bc7250.png)
ルーター間接続したポートに通常のPCなどをつなげたい場合、ルーターA側のbr-mainを以下のように設定すと、LANセグメントのPCとして使うことができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215200/51034b32-f702-26df-ea08-e6d45c6728cc.png)
VLanの設定は以上となります。
ルーターBと同じように設定したルーターを増やせば、ルーターC、ルーターDと数珠繋ぎに増やすことができます。