Packet TracerでVLAN（アクセスポート）の基本設定を試してみた

# 背景・目的
過去に、Packet Tracerでルーターを試してみました。今回はVLANを試します。

https://qiita.com/zumax/items/282acb1700a562a87fbe

https://qiita.com/zumax/items/1824d50cfe0892534501


# まとめ
下記に特徴を整理します。

|特徴|説明|
|:--|:--|
|VLANの特性|コリジョンドメインを分割できる|
|VLANの特徴|VLANは番号で識別される<BR>同じVLANに所属した機器しか通信できない<BR>ブロードキャストは同一VLAN内しか通らない|
|VLANのメリット|端末の物理的な配置に依存しない<BR>ブロードキャストドメインを分割し、NW負荷を下げられる<BR>セキュリティ対策|
|アクセスポート|アクセスポートは、1つのVLANに所属しているポート|
|トランクポート|複数のVLANに所属しているポート|


# 概念
VLANについては以前、下記の記事で整理しましたが
これらに加えて本記事でも整理します。

https://qiita.com/zumax/items/2b31823be0756c973c19

## VLANとは
- スイッチは基本的に[コリジョンドメイン](https://e-words.jp/w/%E3%82%B3%E3%83%AA%E3%82%B8%E3%83%A7%E3%83%B3%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3.html)を分割することが出来る機器
- スイッチのポートごとにコリジョンドメインを分割できる。※ **ブロードキャストドメインは分割できない**
- スイッチのインターフェイスはすべて同一のブロードキャストドメインに含まれる
- 下記は、1つのブロードキャストドメインにPCが所属し、すべてのPC間で通信が可能になる（例えば、PC0からのブロードキャスト通信がPC1〜PC3に届く）

    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/01f6d072-1059-41b8-aa00-cb8161f8c98b.png)

- PCを異なるブロードキャストドメイン（異なるNW）に所属させようとすると物理的にスイッチが複数台とルーターが必要になるが、**VLANを使用すると1台の物理的なスイッチ上で仮想的に複数のNWを作成できる**

- VLANを使用した場合の例が下記の通り
    - VLANは番号で識別される
    - 同じVLANに所属した端末同士しか通信できない
    - ブロードキャストは同一VLAN内しか通らない
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/7e30fcd7-7056-4af5-8edb-2cb6b08215aa.png)


### VLANのメリット
以前も[こちらの記事](https://qiita.com/zumax/items/2b31823be0756c973c19#vlan%E3%81%AE%E7%89%B9%E5%BE%B4%E3%81%A8%E4%BB%95%E7%B5%84%E3%81%BF)で触れましたが、VLANのメリット下記になります。

- 端末の物理的な配置に依存しない
    - 別の部門ごとにスイッチを用意する必要がないなど
- ブロードキャストドメインを分割し、NW負荷を下げられる
- セキュリティ対策
    - 他部署に見せたくないデータなどをアクセス制限かけられる

## アクセスポートとトランクポート
### アクセスポート
- アクセスポートは、1つのVLANに所属しているポート
- VLANを作成すると、スイッチ内部に複数のスイッチを作るイメージ
    - １つのスイッチにだけ所属しているポートがアクセスポート
- 下記に例を記載します
    - 部署ごとにVLANを分けた場合、各部署用PCが接続されるポートは1つのVLANに所属する。これがアクセスポート
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/c7e69f40-1cb0-4ed0-9a92-27af7ea302c2.png)

- アクセスポートは通常、PCがやサーバなどの機器が接続されるポート
- アクセスポートに接続されたリンクをアクセスリンクという
- 1番ポートはVLAN100、2番、3番ポートはVLAN200などと割り当てる
- スイッチポートにVLANを割り当てる方法として下記に大別される
    - 手動で行う方法
        - ポートベースVLAN
        - スタティックVLAN
    - 自動で行う方法
        - ダイナミックVLAN

### トランクポート
- 複数のVLANに所属しているポート
- VLANは複数のVLANにまたがり作成できる
- 下記に例を記載します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/fd2e1179-d6ef-4d28-9c3d-bee0da3c656a.png)

- 複数のVLANの通信が通過するリンクをトランクリンクという
- デフォルトでは、スイッチに作成されているすべてのVLANの通信がトランクポートを通過できる
- トランクポートは通常、複数のVLAN通信が通過するスイッチ間のポートや、ルーターと接続されるポートになる

#### トランキングプロトコル
- トランクポートの設定をすると、1つのリンクを複数のVLANの通信が通る
- トランクリンクを通過してきた通信を受け取ったスイッチは、どのVLANの通信ナノは判別する必要がある
- ただし、通常のイーサネットフレームにはMACアドレスやタイプなどのフィールドしかないため、VLANの識別はできない
- そのため、トランクリンクではVLANを識別するための情報としてタグが付加される
- 下記の２つのプロトコルがある
    - CiscoのISL
    - IEEE 802.1Q

##### ISL
- Inter-Switch Link
- Cisco独自のプロトコル
- イーサネットフレームの前にヘッダを付加しカプセル化する
- [ISLフレーム](https://www.cisco.com/c/ja_jp/support/docs/lan-switching/8021q/17056-741-4.html)は下記の通り
    - ISLフレーム
    - カプセル化フレーム
    - FCS

##### IEEE 802.1Q
- イーサネットフレームでの送信元MACアドレスとタイプの間にVLANタグを挿入する
- IEEE802 1Qは、タギングプロトコルとも言われる
- ネイティブVLANがある
    - ネイティブVLANに指定したVLANからの通信はタグを付けずにそのまま送信する
    - 両スイッチでトランクリンクのネイティブVLANをあわせておく必要がある

## VLAN間ルーティングの構成

### Router on a Stick
- スイッチとルーター間のリンクを棒に見立てて1本の棒の上にルーターがあることを示している

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/97ae5667-8a18-4b5b-b117-fdb7222b2092.png" width=300 />

- ルーターとスイッチの間は1本のリンクで接続されている
- ルーターのポートに、VLAN100またはVLAN200のどちらかのNWアドレスに属するIPを指定すると、片方のデフォルトゲートウェイにならない
- そのため物理インターフェイスにそのままIPを割り当てるのではなく1つの物理インターフェイスを仮想的に複数分ける必要がある
- ルーターに個別の物理インターフェイスを用意した場合、VLANの数が増えるとインターフェイスもそれだけ必要になる
    - 10個のVLANがある場合、インターフェイスも10個用意する必要がある
    - 仮想的に複数に分けるほうが、将来的にVLANが増えた場合でも対応できる


#### サブインターフェイスの作成
- 仮想的にインターフェイスを分ける方法
- インターフェイスを仮想的に分けるために、サブインターフェイスを作成してそれぞれにIPを設定する
- サブインターフェイスにIPアドレスを設定する前に、サブインターフェイスのカプセル化を下記のいずれかに指定する
    - ISL
    - IEEE 802.1Q
- ルーターとスイッチ間はトランクリンクにする
- サブインターフェイスでも同様に同じトランキングプロトコルを利用するように設定する必要がある

### レイヤ3スイッチ内のイメージ
- ルータではなく、レイヤ3スイッチを使用したVLAN間ルーティング
- 以前のスイッチは、レイヤ2の機器だが現在ではMACアドレスだけではなく、レイヤ3のIP・レイヤ4のポートなどレイヤ2以外の情報を基に転送処理できる
- 複数の層について情報を転送する事ができる機器をマルチレイヤスイッチという
- レイヤ3スイッチは更に内部でVLAN間をつなぐためのルーターが入るイメージ
- ルーターのようにIPアドレスを設定する必要があるが、下記のインターフェイスがある
    - SVI
    - ルーテッドポート
### SVI
- Switch Virtual Interface
- スイッチ内部にある仮想的なインターフェイス
- 異なるNWを接続するためにルーターのようにIPを設定する必要がある。その設定を行う
- VLANにより仮想的にスイッチが分割され、そしてその分割された個々のスイッチがルーターに接続するための接続口になるのがSVI

### スイッチポートとルーテッドポート
- VLANなどを割り当てるポートは、スイッチポートという
    - スイッチポートは、インターフェイスに直接IPアドレスを割り当てる事ができない
- ルーテッドポート
    - 設定を変えることで物理ポートをレイヤ3のインターフェイスとしてどうさせることも可能
    - ルーターのように直接インターフェイスにIPを割り当てることが出来るようになる
    - ルーターのインターフェイスとなっているため、VLANの割当はできない

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/9fb42a28-fa39-44a7-a75d-07d966d145de.png)



# 実践
## スイッチの動作確認
### Workspaceに配置
今回は、下記の構成で試してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/e9bb2c2c-6976-49eb-8f18-f773006ebf5b.png)

|分類|ノード|設定項目|設定内容|備考|
|:--|:--|:--|:--|:--|
|L3SW|Switch0|hostname|SW0|
|||FastEthernet0/1|||
|||FastEthernet0/2|||
|||FastEthernet0/3|||
|||FastEthernet0/4|||
|PC|PC0|hostname|PC0|
|||IPv4|192.168.100.100|
|||Subnet Mask|255.255.255.0|
||PC1|hostname|PC1||
|||IPv4|192.168.100.101|
|||Subnet Mask|255.255.255.0|
||PC2|hostname|PC2|
|||IPv4|192.168.100.102|
|||Subnet Mask|255.255.255.0|
||PC3|hostname|PC3|
|||IPv4|192.168.100.103|
|||Subnet Mask|255.255.255.0|



### スイッチ（Switch0）の設定
#### hostnameの変更
1. ホスト名を設定します
    ```bash
    Switch#configure terminal 
    Enter configuration commands, one per line.  End with CNTL/Z.
    Switch(config)#hostname SW0
    SW0(config)#
    
    SW0(config)#do show running-config | include hostname
    hostname SW0
    SW0(config)#
    ```

#### Interfaceの確認
1. 現在のインターフェイスを確認します。物理層とデータリンク層はアップしています
    ```bash
    SW0#show ip interface brief 
    Interface              IP-Address      OK? Method Status                Protocol 
    FastEthernet0/1        unassigned      YES unset  up                    up 
    FastEthernet0/2        unassigned      YES unset  up                    up 
    FastEthernet0/3        unassigned      YES unset  up                    up 
    FastEthernet0/4        unassigned      YES unset  up                    up 
    FastEthernet0/5        unassigned      YES unset  down                  down 
    FastEthernet0/6        unassigned      YES unset  down                  down 
    FastEthernet0/7        unassigned      YES unset  down                  down 
    FastEthernet0/8        unassigned      YES unset  down                  down 
    FastEthernet0/9        unassigned      YES unset  down                  down 
    FastEthernet0/10       unassigned      YES unset  down                  down 
    FastEthernet0/11       unassigned      YES unset  down                  down 
    FastEthernet0/12       unassigned      YES unset  down                  down 
    FastEthernet0/13       unassigned      YES unset  down                  down 
    FastEthernet0/14       unassigned      YES unset  down                  down 
    FastEthernet0/15       unassigned      YES unset  down                  down 
    FastEthernet0/16       unassigned      YES unset  down                  down 
    FastEthernet0/17       unassigned      YES unset  down                  down 
    FastEthernet0/18       unassigned      YES unset  down                  down 
    FastEthernet0/19       unassigned      YES unset  down                  down 
    FastEthernet0/20       unassigned      YES unset  down                  down 
    FastEthernet0/21       unassigned      YES unset  down                  down 
    FastEthernet0/22       unassigned      YES unset  down                  down 
    FastEthernet0/23       unassigned      YES unset  down                  down 
    FastEthernet0/24       unassigned      YES unset  down                  down 
    GigabitEthernet0/1     unassigned      YES unset  down                  down 
    GigabitEthernet0/2     unassigned      YES unset  down                  down 
    Vlan1                  unassigned      YES unset  administratively down down
    SW0#
    ```

### PC（#0〜#3）の設定
IPアドレスを設定します。

#### PC0
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/43d477ed-9e89-4d62-af8a-613ee2734320.png)

#### PC1
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/fc516955-90cf-4523-8754-d5a7dad5981f.png)

#### PC2
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/149e76f8-7e61-48a8-9abf-d100841c2a1e.png)

#### PC3
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/176a316f-cccb-4b78-bde8-38c6851d113e.png)


### 疎通
特に何も設定してない状態で疎通します

#### PC0→PC1,2,3
1. それぞれのPCにpingを打ちます。応答が返ってきました
    ```powershell
    C:\>ping 192.168.100.101
    
    Pinging 192.168.100.101 with 32 bytes of data:
    
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.101: bytes=32 time=49ms TTL=128
    
    Ping statistics for 192.168.100.101:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 49ms, Average = 12ms
    
    C:\>ping 192.168.100.102
    
    Pinging 192.168.100.102 with 32 bytes of data:
    
    Reply from 192.168.100.102: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.102: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.102: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.102: bytes=32 time<1ms TTL=128
    
    Ping statistics for 192.168.100.102:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 0ms, Average = 0ms
    
    C:\>ping 192.168.100.103
    
    Pinging 192.168.100.103 with 32 bytes of data:
    
    Reply from 192.168.100.103: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.103: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.103: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.103: bytes=32 time<1ms TTL=128
    
    Ping statistics for 192.168.100.103:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 0ms, Average = 0ms
    
    C:\>
    ```

1. ブロードキャストアドレスに送ります。101〜103へ送り返ってきました
    ```bash
    C:\>ping 192.168.100.255
    
    Pinging 192.168.100.255 with 32 bytes of data:
    
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.102: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.103: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.102: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.103: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.102: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.103: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.102: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.103: bytes=32 time=1ms TTL=128
    
    Ping statistics for 192.168.100.255:
        Packets: Sent = 4, Received = 12, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 1ms, Average = 0ms
    
    C:\>
    ```
## ポートVLANの動作確認
### Workspaceに配置
今回は、下記の構成で試してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/e9bb2c2c-6976-49eb-8f18-f773006ebf5b.png)


|分類|ノード|設定項目|設定内容|備考|
|:--|:--|:--|:--|:--|
|L3SW|Switch0|hostname|SW0|
|||vlan No|100|
|||vlan name|vlan100|
|||vlan No|200|
|||vlan name|vlan200|
|||FastEthernet0/1|VLAN100に所属||
|||FastEthernet0/2|VLAN100に所属||
|||FastEthernet0/3|VLAN200に所属||
|||FastEthernet0/4|VLAN200に所属||
|VLAN100|PC0|hostname|PC0|
|||IPv4|192.168.100.100|
|||Subnet Mask|255.255.255.0|
||PC1|hostname|PC1||
|||IPv4|192.168.100.101|
|||Subnet Mask|255.255.255.0|
|VLAN200|PC2|hostname|PC2|
|||IPv4|192.168.200.100|
|||Subnet Mask|255.255.255.0|
||PC3|hostname|PC3|
|||IPv4|192.168.200.101|
|||Subnet Mask|255.255.255.0|

### スイッチ（Switch0）の設定
#### VLANの作成
1. 2つのVLANを作成します
    ```bash
    SW0#configure terminal 
    Enter configuration commands, one per line.  End with CNTL/Z.
    SW0(config)#vlan 100
    SW0(config-vlan)#name vlan100
    SW0(config-vlan)#exit
    SW0(config)#vlan 200
    SW0(config-vlan)#name vlan200
    SW0(config-vlan)#exit
    SW0(config)#
    ```

1. vlan100とvlan200が作成できました
    ```bash
    SW0#show vlan brief
    
    VLAN Name                             Status    Ports
    ---- -------------------------------- --------- -------------------------------
    1    default                          active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                    Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                                    Fa0/9, Fa0/10, Fa0/11, Fa0/12
                                                    Fa0/13, Fa0/14, Fa0/15, Fa0/16
                                                    Fa0/17, Fa0/18, Fa0/19, Fa0/20
                                                    Fa0/21, Fa0/22, Fa0/23, Fa0/24
                                                    Gig0/1, Gig0/2
    100  vlan100                          active    
    200  vlan200                          active    
    1002 fddi-default                     active    
    1003 token-ring-default               active    
    1004 fddinet-default                  active    
    1005 trnet-default                    active    
    SW0#
    ```


#### ポートをVLANに割り当てる
1. 各PCをVLAN100とVLAN200に割り当てます
    ```bash
    SW0(config)#interface FastEthernet 0/1
    SW0(config-if)#switchport mode access
    SW0(config-if)#switchport access vlan 100
    SW0(config-if)#exit
    
    SW0(config)#interface FastEthernet 0/2
    SW0(config-if)#switchport mode access 
    SW0(config-if)#switchport access vlan 100
    SW0(config-if)#exit
    
    SW0(config)#interface FastEthernet 0/3
    SW0(config-if)#switchport mode access 
    SW0(config-if)#switchport access vlan 200
    SW0(config-if)#exit
    
    SW0(config)#interface FastEthernet 0/4
    SW0(config-if)#switchport mode access 
    SW0(config-if)#switchport access vlan 200
    SW0(config-if)#exit
    SW0(config)#
    ```

1. 確認します。vlan100とvlan200にポートが割り当てられました
    ```bash
    SW0#show vlan
    
    VLAN Name                             Status    Ports
    ---- -------------------------------- --------- -------------------------------
    1    default                          active    Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                                    Fa0/9, Fa0/10, Fa0/11, Fa0/12
                                                    Fa0/13, Fa0/14, Fa0/15, Fa0/16
                                                    Fa0/17, Fa0/18, Fa0/19, Fa0/20
                                                    Fa0/21, Fa0/22, Fa0/23, Fa0/24
                                                    Gig0/1, Gig0/2
    100  vlan100                          active    Fa0/1, Fa0/2
    200  vlan200                          active    Fa0/3, Fa0/4
    1002 fddi-default                     active    
    1003 token-ring-default               active    
    1004 fddinet-default                  active    
    1005 trnet-default                    active    
    
    VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
    ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
    1    enet  100001     1500  -      -      -        -    -        0      0
    100  enet  100100     1500  -      -      -        -    -        0      0
    200  enet  100200     1500  -      -      -        -    -        0      0
    1002 fddi  101002     1500  -      -      -        -    -        0      0   
    
    SW0#
    ```

### PC(#0〜#3)の設定
1. PCのIP Configurationを修正します
#### PC0
1. IPv4とSubnet Maskを設定します（Default Gatewayは不要）
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/ddf8cde2-5d01-4ab4-ac65-eaf0b00c490d.png)

#### PC1
1. IPv4とSubnet Maskを設定します（Default Gatewayは不要）
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/1ba04b11-9aa4-4af8-b65b-04201e203382.png)

#### PC2
1. IPv4とSubnet Maskを設定します（Default Gatewayは不要）
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/ef7c7bc5-8e9f-47fd-ab49-a6e276441031.png)

#### PC3
1. IPv4とSubnet Maskを設定します（Default Gatewayは不要）
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/3d143367-88d6-44ce-97ea-c1550e45689a.png)

### 疎通
疎通します

#### PC0→PC1,2,3
PC0からPC1、2、3へ疎通します。PC1は成功、PC2、3は失敗するはずです。

##### 同一VLAN内（PC0→PC1）

1. PC0→PC1への疎通。成功しました
    ```powershell
    C:\>ping 192.168.100.101
    
    Pinging 192.168.100.101 with 32 bytes of data:
    
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    
    Ping statistics for 192.168.100.101:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 0ms, Average = 0ms
    
    C:\>
    ```

1. ブロードキャストで疎通します。VLAN前は3台から返ってきてましたが、今回は100.101のみ返ってきました
    ```powershell
    C:\>ping 192.168.100.255
    
    Pinging 192.168.100.255 with 32 bytes of data:
    
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    
    Ping statistics for 192.168.100.255:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 0ms, Average = 0ms
    
    C:\>
    ```

##### 異なるVLAN間（PC0→PC2,3）

1. PC0→PC2、PC3への疎通。失敗しました（想定通り）
    ```powershell
    C:\>ping 192.168.200.100
    
    Pinging 192.168.200.100 with 32 bytes of data:
    
    Request timed out.
    Request timed out.
    Request timed out.
    Request timed out.
    
    Ping statistics for 192.168.200.100:
        Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
    
    C:\>ping 192.168.200.101
    
    Pinging 192.168.200.101 with 32 bytes of data:
    
    Request timed out.
    Request timed out.
    Request timed out.
    Request timed out.
    
    Ping statistics for 192.168.200.101:
        Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
    
    C:\>
    ```

#### PC2→PC0,1,3
PC2からPC0、1、3へ疎通します。PC3は成功、PC0、1は失敗するはずです。

##### 同一VLAN内（PC2→PC3）
1. PC0→PC1への疎通。成功しました
    ```powershell
    C:\>ping 192.168.200.101
    
    Pinging 192.168.200.101 with 32 bytes of data:
    
    Reply from 192.168.200.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.200.101: bytes=32 time=1ms TTL=128
    Reply from 192.168.200.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.200.101: bytes=32 time=26ms TTL=128
    
    Ping statistics for 192.168.200.101:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 26ms, Average = 6ms
    
    C:\>
    ```
1. ブロードキャストで疎通します。VLAN前は3台から返ってきてましたが、今回は200.101のみ返ってきました
    ```powershell
    C:\>ping 192.168.200.255
    
    Pinging 192.168.200.255 with 32 bytes of data:
    
    Reply from 192.168.200.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.200.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.200.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.200.101: bytes=32 time<1ms TTL=128
    
    Ping statistics for 192.168.200.255:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 0ms, Average = 0ms
    
    C:\>
    ```

##### 異なるVLAN間（PC2→PC0,1）
1. PC2→PC0、PC1への疎通。失敗しました（想定通り）
    ```powershell
    C:\>ping 192.168.100.100
    
    Pinging 192.168.100.100 with 32 bytes of data:
    
    Request timed out.
    Request timed out.
    Request timed out.
    Request timed out.
    
    Ping statistics for 192.168.100.100:
        Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
    
    C:\>ping 192.168.100.101
    
    Pinging 192.168.100.101 with 32 bytes of data:
    
    Request timed out.
    Request timed out.
    Request timed out.
    Request timed out.
    
    Ping statistics for 192.168.100.101:
        Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
    
    C:\>
    ```
## VLAN間通信（L3スイッチ）
異なるVLAN間通信する場合、L3スイッチのVLANインターフェイス（SVI）を設定しルーティングを有効化します
### Workspaceに配置
今回は、下記の構成で試してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/e9bb2c2c-6976-49eb-8f18-f773006ebf5b.png)


|分類|ノード|設定項目|設定内容|備考|
|:--|:--|:--|:--|:--|
|L3SW|Switch0|hostname|SW0|
|||vlan No|100|
|||vlan name|vlan100|
|||vlan ip|192.168.100.1|
|||vlan No|200|
|||vlan name|vlan200|
|||vlan ip|192.168.200.1|
|||FastEthernet0/1|VLAN100に所属||
|||FastEthernet0/2|VLAN100に所属||
|||FastEthernet0/3|VLAN200に所属||
|||FastEthernet0/4|VLAN200に所属||
|VLAN100|PC0|hostname|PC0|
|||IPv4|192.168.100.100|
|||Subnet Mask|255.255.255.0|
|||Default Gateway|192.168.100.1|
||PC1|hostname|PC1||
|||IPv4|192.168.100.101|
|||Subnet Mask|255.255.255.0|
|||Default Gateway|192.168.100.2|
|VLAN200|PC2|hostname|PC2|
|||IPv4|192.168.200.100|
|||Subnet Mask|255.255.255.0|
|||Default Gateway|192.168.200.1|
||PC3|hostname|PC3|
|||IPv4|192.168.200.101|
|||Subnet Mask|255.255.255.0|
|||Default Gateway|192.168.200.2|

### スイッチ（Switch0）の設定
#### VLAN間ルーティング有効化
スイッチのIPルーティングを有効化します

1. 現在の設定を確認します。（ありません）
    ```
    SW0#show running-config | include routing
    SW0#
    ```
1. 設定します
    ```bash
    SW0#configure terminal 
    Enter configuration commands, one per line.  End with CNTL/Z.
    SW0(config)#ip routing 
    SW0(config)#exit
    ```
1. 変更後を確認します
    ```bash
    SW0#show running-config | include routing
    ip routing
    SW0#
    ```

#### VLANインターフェイスの作成
1. VLAN100とVLAN200にIPアドレスを設定します
    ```bash
    SW0(config)#interface vlan 100
    SW0(config-if)#
    %LINK-5-CHANGED: Interface Vlan100, changed state to up
    
    %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan100, changed state to up
    
    SW0(config-if)#ip add
    SW0(config-if)#ip address 192.168.100.1 255.255.255.0
    SW0(config-if)#no shutdown
    SW0(config-if)#exit
    SW0(config)#interface vlan 200
    SW0(config-if)#
    %LINK-5-CHANGED: Interface Vlan200, changed state to up
    
    %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan200, changed state to up
    
    SW0(config-if)#ip address 192.168.200.1 255.255.255.0
    SW0(config-if)#no shutdown
    SW0(config-if)#exit
    SW0(config)#
    ```

1. IPアドレスが、振られたことがわかります
    ```bash
    SW0#show ip interface brief
    Interface              IP-Address      OK? Method Status                Protocol 
    FastEthernet0/1        unassigned      YES unset  up                    up 
    FastEthernet0/2        unassigned      YES unset  up                    up 
    FastEthernet0/3        unassigned      YES unset  up                    up 
    FastEthernet0/4        unassigned      YES unset  up                    up 
    FastEthernet0/5        unassigned      YES unset  down                  down 
    FastEthernet0/6        unassigned      YES unset  down                  down 
    FastEthernet0/7        unassigned      YES unset  down                  down 
    FastEthernet0/8        unassigned      YES unset  down                  down 
    FastEthernet0/9        unassigned      YES unset  down                  down 
    FastEthernet0/10       unassigned      YES unset  down                  down 
    FastEthernet0/11       unassigned      YES unset  down                  down 
    FastEthernet0/12       unassigned      YES unset  down                  down 
    FastEthernet0/13       unassigned      YES unset  down                  down 
    FastEthernet0/14       unassigned      YES unset  down                  down 
    FastEthernet0/15       unassigned      YES unset  down                  down 
    FastEthernet0/16       unassigned      YES unset  down                  down 
    FastEthernet0/17       unassigned      YES unset  down                  down 
    FastEthernet0/18       unassigned      YES unset  down                  down 
    FastEthernet0/19       unassigned      YES unset  down                  down 
    FastEthernet0/20       unassigned      YES unset  down                  down 
    FastEthernet0/21       unassigned      YES unset  down                  down 
    FastEthernet0/22       unassigned      YES unset  down                  down 
    FastEthernet0/23       unassigned      YES unset  down                  down 
    FastEthernet0/24       unassigned      YES unset  down                  down 
    GigabitEthernet0/1     unassigned      YES unset  down                  down 
    GigabitEthernet0/2     unassigned      YES unset  down                  down 
    Vlan1                  unassigned      YES unset  administratively down down 
    Vlan100                192.168.100.1   YES manual up                    up 
    Vlan200                192.168.200.1   YES manual up                    up
    SW0#
    ```
### スイッチ（PC0〜PC3）の設定
各PCのデフォルトゲートウェイを設定します。

#### PC0
1. デフォルトゲートウェイにVLAN100のIP「192.168.100.1」を設定します
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/6d2d489d-1863-4123-a60b-abddeefc21e5.png)

#### PC1
1. デフォルトゲートウェイにVLAN100のIP「192.168.100.1」を設定します
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/ac7fede1-7868-4724-96c2-2cf02da4cdca.png)

#### PC2
1. デフォルトゲートウェイにVLAN200のIP「192.168.200.1」を設定します
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/a91c15cd-95e9-416a-956b-c2c66afc81af.png)


#### PC3
1. デフォルトゲートウェイにVLAN200のIP「192.168.200.1」を設定します
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/cc2ec155-49f0-4c16-a100-9c87b25ccb12.png)


### 疎通
#### 同一VLAN内（PC0→PC1）
1. これは想定通りつながる。（VLANのルーティング設定前から）
    ```powershell
    C:\>ping 192.168.100.101
    
    Pinging 192.168.100.101 with 32 bytes of data:
    
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    
    Ping statistics for 192.168.100.101:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 0ms, Average = 0ms
    
    C:\>
    ```
1. ブロードキャストします。101に加えてVLAN100のアドレスも返されます
    ```powershell
    C:\>ping 192.168.100.255
    
    Pinging 192.168.100.255 with 32 bytes of data:
    
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.1: bytes=32 time<1ms TTL=255
    Reply from 192.168.100.101: bytes=32 time=1ms TTL=128
    Reply from 192.168.100.1: bytes=32 time<1ms TTL=255
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    Reply from 192.168.100.1: bytes=32 time<1ms TTL=255
    Reply from 192.168.100.101: bytes=32 time<1ms TTL=128
    
    Ping statistics for 192.168.100.255:
        Packets: Sent = 4, Received = 7, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 1ms, Average = 0ms
    
    C:\>
    ```

#### 異なるVLAN間（PC0→PC2、3）
1. 繋がりました！
    ```powershell
    C:\>ping 192.168.200.100
    
    Pinging 192.168.200.100 with 32 bytes of data:
    
    Reply from 192.168.200.100: bytes=32 time<1ms TTL=127
    Reply from 192.168.200.100: bytes=32 time=20ms TTL=127
    Reply from 192.168.200.100: bytes=32 time<1ms TTL=127
    Reply from 192.168.200.100: bytes=32 time=1ms TTL=127
    
    Ping statistics for 192.168.200.100:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 20ms, Average = 5ms
    
    C:\>ping 192.168.200.101
    
    Pinging 192.168.200.101 with 32 bytes of data:
    
    Reply from 192.168.200.101: bytes=32 time<1ms TTL=127
    Reply from 192.168.200.101: bytes=32 time<1ms TTL=127
    Reply from 192.168.200.101: bytes=32 time<1ms TTL=127
    Reply from 192.168.200.101: bytes=32 time=22ms TTL=127
    
    Ping statistics for 192.168.200.101:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 22ms, Average = 5ms
    
    C:\>
    ```
1. ブロードキャストを試します。デフォルトゲートウェイ（VLAN100のインターフェイス）からIPが返されました
    ```powershell
    C:\>ping 192.168.200.255
    
    Pinging 192.168.200.255 with 32 bytes of data:
    
    Reply from 192.168.100.1: bytes=32 time<1ms TTL=255
    Reply from 192.168.100.1: bytes=32 time<1ms TTL=255
    Reply from 192.168.100.1: bytes=32 time<1ms TTL=255
    Reply from 192.168.100.1: bytes=32 time<1ms TTL=255
    
    Ping statistics for 192.168.200.255:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 0ms, Average = 0ms
    
    C:\>
    ```


# 考察
今回、Cisco Packet Tracerを使ってVLAN（アクセスポート）の基本設定を試してみました。最初はVLANを設定せず、スイッチにPCを接続した状態で通信を確認し、その後、VLANを作成して通信を制御する手順を実施しました。
次回は、トランクポートをためしてみｍ


# 参考

https://qiita.com/zumax/items/282acb1700a562a87fbe

https://qiita.com/zumax/items/1824d50cfe0892534501

https://e-words.jp/w/%E3%82%B3%E3%83%AA%E3%82%B8%E3%83%A7%E3%83%B3%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3.html

https://www.cisco.com/c/ja_jp/support/docs/switches/catalyst-4000-series-switches/24064-171.html

https://www.cisco.com/c/ja_jp/support/docs/lan-switching/8021q/17056-741-4.html