🍭

VLAN 間ルーティングの練習

2022/12/25に公開

本エントリについて

Dynagen、Dynamips、vpcs を使って、VLAN 間ルーティングを練習します。
Dynagen、Dynamips、vpcs の利用環境はすでに整っているものとします。

環境について

VLAN10の端末からVLAN11の端末に対して ping 疎通できるようにします。

[pc0] .1 (vlan10) fa1/0 [sw01] fa1/14 === fa0/0 [r1]
[pc1] .2 (vlan10) fa1/1 
[pc2] .1 (vlan11) fa1/4
[pc3] .2 (vlan11) fa1/5
vlan vlan name nw address default g/w
vlan10 vlan0010 10.2.0.0/24 10.2.0.254
vlan11 vlan0011 10.2.1.0/24 10.2.1.254
Dynagen 設定ファイル抜粋
    [[ROUTER sw01]]
        model = 3725
        slot1 = NM-16ESW
        f1/0 = nio_tap:tap0
        f1/1 = NIO_udp:30000:127.0.0.1:20000
        f1/4 = NIO_udp:30001:127.0.0.1:20001
        f1/5 = NIO_udp:30002:127.0.0.1:20002
        f1/14 = r1 f0/0
    [[ROUTER r1]]
        model = 3725
        f0/0 = sw01 f1/14
PC address 備考
pc0 10.2.0.1/24 tap0
pc1 10.2.0.2/24 vpcs
pc2 10.2.1.1/24 vpcs
pc3 10.2.1.2/24 vpcs
startup.vpc
1
ip 10.2.0.2 10.2.0.254 24
2
ip 10.2.1.1 10.2.1.254 24
3
ip 10.2.1.2 10.2.1.254 24
4
5
6
7
8
9
1

基本設定

vlan 作成・ポート割り当て

所定のVLANを作成し、各ポートに割り当てます。
手順については割愛します。

sw01#show vlan-switch

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa1/8, Fa1/9, Fa1/10, Fa1/11
                                                Fa1/12, Fa1/13, Fa1/14, Fa1/15
10   vlan0010                         active    Fa1/0, Fa1/1, Fa1/2, Fa1/3
11   vlan0011                         active    Fa1/4, Fa1/5, Fa1/6, Fa1/7
1002 fddi-default                     act/unsup
1003 token-ring-default               act/unsup
1004 fddinet-default                  act/unsup
1005 trnet-default                    act/unsup

VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
1    enet  100001     1500  -      -      -        -    -        1002   1003
10   enet  100010     1500  -      -      -        -    -        0      0
11   enet  100011     1500  -      -      -        -    -        0      0
1002 fddi  101002     1500  -      -      -        -    -        1      1003
1003 tr    101003     1500  1005   0      -        -    srb      1      1002
1004 fdnet 101004     1500  -      -      1        ibm  -        0      0
1005 trnet 101005     1500  -      -      1        ibm  -        0      0

疎通確認

vlan10同士、vlan11同士では ping が到達しますが、vlan10、vlan11の間では到達しません。

VPCS[1]> ping 10.2.0.1
10.2.0.1 icmp_seq=1 ttl=64 time=0.317 ms
10.2.0.1 icmp_seq=2 ttl=64 time=0.110 ms
10.2.0.1 icmp_seq=3 ttl=64 time=0.211 ms
10.2.0.1 icmp_seq=4 ttl=64 time=0.115 ms
10.2.0.1 icmp_seq=5 ttl=64 time=0.121 ms


VPCS[2]> ping 10.2.1.2
10.2.1.2 icmp_seq=1 ttl=64 time=0.067 ms
10.2.1.2 icmp_seq=2 ttl=64 time=0.117 ms
10.2.1.2 icmp_seq=3 ttl=64 time=0.185 ms
10.2.1.2 icmp_seq=4 ttl=64 time=0.130 ms
10.2.1.2 icmp_seq=5 ttl=64 time=0.102 ms

VPCS[2]> ping 10.2.0.2
host (10.2.1.254) not reachable

ルータを利用したVLAN間ルーティング

NW間のルーティングをするためには、ルーティングに対応したデバイスと接続する必要があります。
複数のアクセスポートを使ってルータと接続し、VLAN間通信をすることもできますが、VLANの数だけルータ側のポートが必要になります。
ルータを利用してVLAN間ルーティングを実現する場合、ルータ側ではサブインタフェースを利用することで、一つのポートで複数のVLANの処理を実施することが可能になります。

まずスイッチ側では、ルータに接続する fa1/14 ポートを trunk ポートに設定します。

sw01(config-if)#int fa1/14
sw01(config-if)#switchport mode trunk
sw01(config-if)#switchport trunk encapsulation dot1q

Administrative Modetrunk になっていることを確認します。

sw01#show int fa1/14 switchport
Name: Fa1/14
Switchport: Enabled
Administrative Mode: trunk
Operational Mode: trunk
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: dot1q
Negotiation of Trunking: Disabled
Access Mode VLAN: 0 ((Inactive))
Trunking Native Mode VLAN: 1 (default)
Trunking VLANs Enabled: ALL
Trunking VLANs Active: 1,10-11
Protected: false
Priority for untagged frames: 0
Override vlan tag priority: FALSE
Voice VLAN: none
Appliance trust: none
sw01#show int trunk

Port      Mode         Encapsulation  Status        Native vlan
Fa1/14    on           802.1q         trunking      1

Port      Vlans allowed on trunk
Fa1/14    1-4094

Port      Vlans allowed and active in management domain
Fa1/14    1,10-11

Port      Vlans in spanning tree forwarding state and not pruned
Fa1/14    1,10-11

fa1/14 が up/up になっていなければ、shut/no shut します。

sw01#show ip int bri

FastEthernet1/14           unassigned      YES unset  up                    up

次にルータ側で、サブインタフェースの設定をします。
カプセル化タイプ(dot1a)、VLAN番号を指定し、アドレスを割り当てます。

r1(config)#int fa0/0.10
r1(config-subif)#encapsulation dot1Q 10
r1(config-subif)#ip addr 10.2.0.254 255.255.255.0
r1(config-subif)#no shut

r1(config-subif)#int fa0/0.11
r1(config-subif)#encapsulation dot1Q 11
r1(config-subif)#ip addr 10.2.1.254 255.255.255.0
r1(config-subif)#no shut

実インタフェース、サブインタフェースとも up/up になっていなければ、shut/no shut します。

r1#show ip int bri
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            unassigned      YES manual up                    up
FastEthernet0/0.10         10.2.0.254      YES manual up                    up
FastEthernet0/0.11         10.2.1.254      YES manual up                    up
FastEthernet0/1            unassigned      YES manual administratively down down

ルーティングテーブルを確認します。

r1#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     10.0.0.0/24 is subnetted, 2 subnets
C       10.2.0.0 is directly connected, FastEthernet0/0.10
C       10.2.1.0 is directly connected, FastEthernet0/0.11

VLAN10 から VLAN11 に対して疎通確認をします。

VPCS[1]> ping 10.2.0.254
10.2.0.254 icmp_seq=1 timeout
10.2.0.254 icmp_seq=2 ttl=255 time=1.771 ms
10.2.0.254 icmp_seq=3 ttl=255 time=8.381 ms
10.2.0.254 icmp_seq=4 ttl=255 time=4.124 ms
10.2.0.254 icmp_seq=5 ttl=255 time=9.868 ms

VPCS[1]> ping 10.2.1.254
10.2.1.254 icmp_seq=1 ttl=255 time=1.741 ms
10.2.1.254 icmp_seq=2 ttl=255 time=8.555 ms
10.2.1.254 icmp_seq=3 ttl=255 time=6.174 ms
10.2.1.254 icmp_seq=4 ttl=255 time=8.279 ms
10.2.1.254 icmp_seq=5 ttl=255 time=0.792 ms

VPCS[1]> ping 10.2.1.1
10.2.1.1 icmp_seq=1 timeout
10.2.1.1 icmp_seq=2 ttl=63 time=16.017 ms
10.2.1.1 icmp_seq=3 ttl=63 time=18.734 ms
10.2.1.1 icmp_seq=4 ttl=63 time=18.405 ms
10.2.1.1 icmp_seq=5 ttl=63 time=10.469 ms

同様に VLAN11 からも VLAN10 に対して疎通確認をしてみます。

VPCS[3]> ping 10.2.1.254
10.2.1.254 icmp_seq=1 ttl=255 time=9.780 ms
10.2.1.254 icmp_seq=2 ttl=255 time=8.831 ms
10.2.1.254 icmp_seq=3 ttl=255 time=10.438 ms
10.2.1.254 icmp_seq=4 ttl=255 time=6.924 ms
10.2.1.254 icmp_seq=5 ttl=255 time=9.027 ms

VPCS[3]> ping 10.2.0.254
10.2.0.254 icmp_seq=1 ttl=255 time=1.250 ms
10.2.0.254 icmp_seq=2 ttl=255 time=7.036 ms
10.2.0.254 icmp_seq=3 ttl=255 time=9.668 ms
10.2.0.254 icmp_seq=4 ttl=255 time=5.080 ms
10.2.0.254 icmp_seq=5 ttl=255 time=8.707 ms

VPCS[3]> ping 10.2.0.1
10.2.0.1 icmp_seq=1 timeout
10.2.0.1 icmp_seq=2 ttl=63 time=15.201 ms
10.2.0.1 icmp_seq=3 ttl=63 time=20.044 ms
10.2.0.1 icmp_seq=4 ttl=63 time=13.258 ms
10.2.0.1 icmp_seq=5 ttl=63 time=20.124 ms

L3機能を利用したVLAN間ルーティング

スイッチ内に仮想のルータを内蔵するL3スイッチでは、外部のルータを使わず、スイッチ単体でVLAN間ルーティングが可能になります。

スイッチ側で、先ほど利用していた fa1/14 は閉塞してしまいます。

sw01(config)#int fa1/14
sw01(config-if)#shut

sw01#show ip int bri fa1/14
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet1/14           unassigned      YES unset  administratively down down

vlan10 インタフェース、vlan11 インタフェースに IPアドレスを割り当てます。

sw01(config)#int vlan10
sw01(config-if)#ip addr 10.2.0.254 255.255.255.0

sw01(config-if)#int vlan11
sw01(config-if)#ip addr 10.2.1.254 255.255.255.0
sw01#sho ip int bri

Vlan10                     10.2.0.254      YES manual up                    up
Vlan11                     10.2.1.254      YES manual up                    up

ルーティングテーブルを確認します。

sw01#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     10.0.0.0/24 is subnetted, 2 subnets
C       10.2.0.0 is directly connected, Vlan10
C       10.2.1.0 is directly connected, Vlan11

VLAN10 から VLAN11 に対して疎通確認をします。

VPCS[1]> ping 10.2.0.254
10.2.0.254 icmp_seq=1 ttl=255 time=19.718 ms
10.2.0.254 icmp_seq=2 ttl=255 time=9.723 ms
10.2.0.254 icmp_seq=3 ttl=255 time=4.707 ms
10.2.0.254 icmp_seq=4 ttl=255 time=6.990 ms
10.2.0.254 icmp_seq=5 ttl=255 time=7.507 ms

VPCS[1]> ping 10.2.1.254
10.2.1.254 icmp_seq=1 ttl=255 time=8.529 ms
10.2.1.254 icmp_seq=2 ttl=255 time=10.610 ms
10.2.1.254 icmp_seq=3 ttl=255 time=2.803 ms
10.2.1.254 icmp_seq=4 ttl=255 time=7.472 ms
10.2.1.254 icmp_seq=5 ttl=255 time=7.695 ms

VPCS[1]> ping 10.2.1.1
10.2.1.1 icmp_seq=1 timeout
10.2.1.1 icmp_seq=2 ttl=63 time=14.029 ms
10.2.1.1 icmp_seq=3 ttl=63 time=18.806 ms
10.2.1.1 icmp_seq=4 ttl=63 time=18.762 ms
10.2.1.1 icmp_seq=5 ttl=63 time=17.101 ms

同様に VLAN11 からも VLAN10 に対して疎通確認をしてみます。

VPCS[3]> ping 10.2.1.254
10.2.1.254 icmp_seq=1 ttl=255 time=9.091 ms
10.2.1.254 icmp_seq=2 ttl=255 time=2.381 ms
10.2.1.254 icmp_seq=3 ttl=255 time=2.871 ms
10.2.1.254 icmp_seq=4 ttl=255 time=1.318 ms
10.2.1.254 icmp_seq=5 ttl=255 time=7.123 ms

VPCS[3]> ping 10.2.0.254
10.2.0.254 icmp_seq=1 ttl=255 time=9.514 ms
10.2.0.254 icmp_seq=2 ttl=255 time=9.878 ms
10.2.0.254 icmp_seq=3 ttl=255 time=7.725 ms
10.2.0.254 icmp_seq=4 ttl=255 time=10.291 ms
10.2.0.254 icmp_seq=5 ttl=255 time=10.217 ms

VPCS[3]> ping 10.2.0.1
10.2.0.1 icmp_seq=1 timeout
10.2.0.1 icmp_seq=2 ttl=63 time=20.222 ms
10.2.0.1 icmp_seq=3 ttl=63 time=10.961 ms
10.2.0.1 icmp_seq=4 ttl=63 time=12.002 ms
10.2.0.1 icmp_seq=5 ttl=63 time=11.427 ms

まとめ

Dynagen、Dynamips、vpcs を使って、VLAN 間ルーティングを練習しました。
機器が少なければ配線も設定も少なくてすみ、ミスが発生する箇所も限定されてきますね。
ルータを利用したVLAN間ルーティングのことを Router on a stick というそうです。以前は聞かなかったようなきがします。

GitHubで編集を提案

Discussion