今回は、VLAN(Virtual LAN)の構成に挑戦する。VLANとは何か、構成例、その方法を学んでいく。それではまず、次の問題を考えてほしい。
今回の問題
Q1) 次のうち、VLANを作成するメリットで正しいものはどれですか。
- A: コリジョンドメインを分割する
- B: ブロードキャストドメインを分割する
- C: 全二重モードを利用できる
- D: MACアドレスベースのセキュリティをかけることができる
Q2)次のうち、Catalyst 1900でポートにVLANを割り当てるコマンドはどれか。
- A: port vlan
- B: vlan
- C: vlan-membership
- D: set vlan
VLANとは?
VLANとは、同一スイッチに接続されているステーションを、あたかも別々のスイッチに接続されているかのように見せ掛ける機能のことである。これだけでは分かりにくいと思うので、図1を使って解説しよう。
図1では、左側の2台のPCはVLAN 1として割り当てたポートに、右側の2台のPCはVLAN 2として割り当てたポートに接続されている。この場合、左側の2台のPCと、右側の2台のPCは、別々のスイッチに接続しているのと同じ扱いとなる。つまり、左側のPC同士や右側のPC同士の通信はできるが、左側のPCと右側のPCの通信はできない。
VLANを作成する最大の理由は、ブロードキャストドメインを分割することにある。スイッチは、コリジョンドメイン、すなわち同一帯域幅を共有しコリジョンが発生する範囲を分ける機能を持っている。しかし、ブロードキャストドメイン、すなわちブロードキャストフレームやマルチキャストフレームが到達する範囲を分けることはできない。そこで、ブロードキャストドメインを分けたいときにVLANを構成する。
なお、スイッチの接続には、アクセスリンクとトランクリンクの2種類ある。アクセスリンクとは、単一のVLANに所属する接続で、主にPC(サーバを含む)を接続する。トランクリンクは、複数のVLANにまたがったフレームを伝播する接続をいう。トランクリンクを構成すると、別のスイッチかつ同一ブロードキャストドメインとなるVLANを構成できる。この点については、次の図2を参照してほしい。
ここでは、すべての接続をアクセスリンクとして構成し、左側のPCをVLAN 1に、右側のPCとスイッチ同士を結ぶ接続をVLAN 2に割り当てた。○で囲んだ部分が通信できる範囲である。この図のような構成の場合、VLAN 1に割り当てられたインターフェイスに接続しているPC同士も通信できない。もちろん、スイッチ同士の接続をもう1本追加し、この接続をVLAN 1に割り当てることでVLAN 1に割り当てられたインターフェイスに接続しているPC同士の通信が可能になる。ただし、この方法だと、仮にVLANが10個存在するとスイッチ同士の接続にさらに10本必要となり、あまり現実的ではない。そこで、スイッチ同士の接続をトランクリンクに構成する。次の図3を見てほしい。
今度は、スイッチ同士の接続をトランクリンクに構成した。それ以外は、先ほどの図2とまったく同じ構成である。トランクリンクは複数のVLANのフレームを伝播できるので、VLAN 1に割り当てたインターフェイスに接続されたPC同士も、VLAN 2に割り当てたインターフェイスに接続されたPC同士も通信できる。しかもVLANが増えたとしてもスイッチ同士の接続は1本で済む。このように、スイッチにまたがったブロードキャストドメインを作成する場合、トランクリンクでの構成が欠かせない。
ただし、VLANを構成しただけではVLANをまたがった通信はできない。なぜなら、VLANはその性質上、異なるVLAN同士の通信を禁止しているからである。そこで、別にルータを用意してこれに接続し、VLAN間ルーティングを構成する(図4)。
図3のネットワークにルータを追加して接続した。このとき、ルータとスイッチの間も、トランクリンクに構成する。こうすることで、ルータ経由で別々のVLAN同士の通信が可能になる。例えば、VLAN 1からVLAN 2へ通信する場合を考えてみよう。データは、VLAN 1からトランクリンクを経由してルータに到達する。ルータは、送信先のあて先(IPアドレスなどのソフトウェアアドレス)からどのVLANかを判断してデータを転送する。データは、トランクリンクを経由して目的のVLANに到達する。この場合、VLANの数が増えてもルータは1台で済む。
では、実際にVLANを使ったネットワークを構築してみよう。今回は、シスコリモートラボ「Catalyst 1900スイッチでのVLAN、VTP、およびSTPパラメータの設定」を利用した。Catalyst 1900は、最初に次のようなメニュー画面が現れるので、「K」を選択する。
VLANの構築方法
VLANを使ったネットワークの構築方法だが、基本的に次の順番で行っていく。
(1)VTPの設定
シスコのスイッチでは、複数のスイッチのVLANを管理できる仕組みとして、VTP(VLAN Trunk Protocol)がある。VTPを利用すれば、1台のスイッチからVLANの追加、削除、それに名前の変更ができるだけでなく、シスコ全体のスイッチにその情報を伝達し、その構成が反映される。今回はVTPの設定は割愛するが、最初にVTPに関する構成を行う(VTPドメイン名の指定とVTPモードの選択)。
(2)トランクリンクの構成
次に、スイッチ同士が接続されているポートをトランクにする。実際にポートをトランクにするコマンドは、インターフェイスコンフィグモードからtrunk onを利用する。FastEthernet0/26をトランクにする構成例は、次のとおりである。
switch1(config)#interface fastethernet0/26
switch1(config-if)#trunk on
switch1(config-if)#
トランクリンクの構成が終わったら、正しく構成できているか確認する。コマンドは、特権モードからshow trunkを利用する。FastEthernet0/26の構成を確認するには、次のように行う。
switch1#show trunk a
DISL state: On, Trunking: On, Encapsulation type: ISL
switch1#
上記のように、Trunking: Onと表示されると正しく構成されたことになる。show trunkコマンドの入力で気を付けてほしいのは、FastEthernet0/26を確認するときはshow trunk aでいいが、FastEthernet0/27を確認するときはshow trunk bと入力する。
(3)VLANの作成
トランクリンクの構成が終わったら、VLANを作成する。コマンドは、グローバルコンフィグモードからvlanと入力する。次は、VLAN 2とVLAN 3を作成する場合の構成例である。
switch1(config)#vlan 2 name SalesVLAN
switch1(config)#vlan 3 name HumanResourceVLAN
VLANを作成したら、正しく作成できたかどうかを確認する。コマンドは、特権モードからshow vlanを利用する。このコマンドを実行すると、次のような画面が表示されるはずだ。
シスコのスイッチは、デフォルトの状態ですべてのポートがVLAN 1に所属するように構成されている。なお、VLAN 1とVLAN 1002〜1005は、工場出荷時の状態から存在するVLANで、削除できない。画面の構成は、この後に紹介するポートへのVLANの割り当てを終えてしまっているため、Ethernet0/1がVLAN 2に、Ethernet0/2がV LAN 3に割り当てられている。
(4)ポートへのVLANの割り当て
最後にVLANをポートに割り当てる。コマンドは、インターフェイスコンフィグモードからvlan-membershipを使用する。次は、Ethernet0/1にVLAN 2を、Ethernet0/2にVLAN 3を割り当てる構成の例である。
switch1(config)#interface ethernet0/1
switch1(config-if)#vlan-membership static 2
switch1(config-if)#interface ethernet0/2
switch1(config-if)#vlan-membership static 3
構成を終了したら、正確に構成ができたかどうかを確認する。この場合は、コマンドは、特権モードからshow vlan-membershipを利用する。このコマンドを利用すると、画面のように表示される。この構成では、Ethernet0/1にVLAN 2を、Ethernet 0/2にVLAN 3を、それぞれ静的に割り当てたことが分かる。
今回の問題の解答
Q1: B
Q2: C
次回解説する予習問題
Q1) 次のうち、ディスタンスベクター型に該当するルーティングプロトコルはどれですか。
- A:RIP
- B:IGRP
- C:OSPF
- D:BGP
Q2) 次のうち、RIPを構成するコマンドはどれですか。
- A:Router(config)#interface ethernet 0
Router(config-if)#ip rip - B:Router(config)#interface ethernet 0
Router(config-if)#rip - C:Router(config)#router rip
Router(config-router)#network ethernet 0 - D:Router(config)#router rip
Router(config)#network 10.0.0.0
Copyright © ITmedia, Inc. All Rights Reserved.