VLAN

VLAN(Virtual Local Area Network)とはスイッチ(L2)の技術の一つです。スイッチ部でネットワークを仮想的に分けることができます。

  • 端末の物理的な配置に依存せずネットワークを構築できます。
  • ブロードキャストドメインを分割できます。
  • セキュリティ対策になります。
  • 宛先MACアドレスがMACアドレステーブルに登録されていない場合、受信したポートと同じVLANに属する全ポート(受信ポートは除く)から転送する
【VLANの作成】

(config)#vlan <vlan-id>
(config-vlan)#name <vlan-name> …省略可能
(config-vlan)#exit …このタイミングで作成完了
【スッチポートにVLANの割り当てる】

(config)#interface FastEthernet 0/1
(config-if)#switchport access vlan <vlan-id>

VLAN ID

  • デフォルトVLAN(1、1002〜1005)は削除したり、名前変更することができない

<VLAN IDの範囲>

ID
範囲
説明
0、4095
予約
システム内部で使用
1
標準
シスコのイーサネットのデフォルトVLAN
2〜1001
標準
イーサネット用の標準VLAN
1002〜1005
標準
FDDIおよびトークンリング用のデフォルトVLAN
1006〜4094
拡張
イーサネット用の拡張VLAN

アクセスポート

  • 一つのVLANに所属しているポートをアクセスポートといいます。
  • アクセスポートに繋がっているリンクのことはアクセスリンクといいます。
  • デフォルトでVLAN1を転送する

アクセスポートとして動作させる

switchport mode access

トランクポート

  • 複数のVLANに所属しているポートをトランクポートといいます。
  • トランクポートに繋がっているポートをトランクリンクといいます。
  • トランクリンクではIEEE 802.1Qを使用して、VLAN情報を識別します。

トランクポートは、1本の物理リンク上で複数のVLANトラフィックを伝送するための技術です。同じVLANが複数のスイッチにまたがって構成されるケースで使用することで、スイッチ間の接続リンク数を減らすことができるため、通常は複数の同じVLANを持つスイッチ間を接続するリンクはトランクポートで接続します。

VLANの割り当てには、手動のポートベースVLAN(スタティックVLAN)と自動のダイナミックVLANがあります。

DTP

  • ポートのネゴシエーションは DTP(Dynamic Trunking Protocol)によって行われます。
  • Cisco独自
  • 30秒ごとにマルチキャストドメイン宛にフレームを送信する。
  • DTPはVTPドメインが一致している場合にのみ利用する
モード動作
trunkトランクポートになります!
accessアクセスポートになります!
dynamic desirableできればトランクがいいです‥
dynamic auto何が都合がいい?交渉ないならアクセスになります
trunkaccessdynamic desirabledynamic auto
trunktrunkaccesstrunktrunk
accessaccessaccessaccessaccess
dynamic desirabletrunkaccesstrunktrunk
dynamic autotrunkaccesstrunkaccess

【スイッチポートモード変更(DTPの設定)】

(config-if)#switchport mode {access | trunk | dynamic {auto | desirable}}

【DTPの無効化】

(config-if)#switchport nonegotiate

トランキングプロトコル

  • トランキングプロトコルにはIEEE802.1QISLの2つがあります。
  • トランクリンクの両サイドで、トランキングプロトコルを合わせておく必要があります。

IEEE802.Q

  • IEEE802.Qはトランクポート上でフレームにタグと呼ばれる情報を挿入し、VLANを識別します。
  • 最大通信速度が10Mbpsのインターフェースを使用することができます。
  • IEEE802.Qではタグを挿入するため、FCSの再計算が必要になります。
  • IEEE802.QではネイティブVLANをサポートしています。ネイティブVLANはタグは付加されません。(ネイティブVLANのVLAN IDは、トランクリンクの両端で同じにする必要があります。)
  • 1522バイト

ISL

  • Cisco独自
  • ISLではISLヘッダ(26バイト)新しいFCS(4バイト)を付けてカプセル化する。
  • 1548バイト

プロトコルの設定

(config-if)#swichport trunk encapsulation { isl | dot1q | negotiate }
*negotiate …デフォルト

ネイティブVLAN

  • IEEE802.QではトランクポートごとにひとつだけネイティブVLANを設定できる
  • ネイティブVLANはタグは付加されない
  • ネイティブVLANは、管理トラフィック(CDP)を通す
  • スイッチ間(トランクポート間)でネイティブVLANを合わせておく必要があります
  • ネイティブVLANが一致していないとVLANホッピングと呼ばれる攻撃(VLANを越える攻撃)に悪用される危険性がある
  • デフォルトのネイティブVLANはVLAN1になっている
ネイティブVLANの変更

(config-if)#switchport trunk native vlan { vlan-ID }
全てのVLANにタグを付加

(config)#vlan dot1q tag native

ISLフレーム(Cisco独自)

トランクプトコルIEEE802.1QISL
規格IEEEによって標準化シスコ独自
方式タギング方式カプセル方式
ネイティブV LANサポートなし
フレームの増加幅4バイト30バイト
(ヘッダ:26、FCS:4)
最大フレームサイズ1,522バイト1,548バイト
FCSの処理再計算フィールドの増加
VLAN ID12ビット10ビット
サポートするVLAN数4,096(2の12乗)1,024(2の10乗)

VLANタギング

フレームにタグフィールドを付加することによって、対向の機器がフレームのVLAN番号を識別できるようにする技術

  • 1つのインターフェースで複数のVLANを扱うための方法
  • トランクポートを使用する
  • アクセスポートから送信するフレームにVLANタグは付きません。

ダブルタギング

送信するフレームにVLANタグを2つ付加することで通常はアクセスできないほかのVLANにアクセスする攻撃。予防策としてネイティブVLANに未使用のVLANを割り当てることでセキュリティを強化できる

ルータオンナスティック(Router on a Stick)

ルータオンナスティック(Router on a Stick)の時、必要なルータの設定

  • ルータとスイッチ間はトランクリンク
  • VLANごとのサブインターフェースを作成
  • ルータにはサブインターフェイスを設定する。(IPアドレスの設定
  • スイッチとサブインターフェイス間のトランキングプロトコル(カプセル化の種類)を一致させる必要があります。

各PCのデフォルトゲートウェイは、サブインターフェイスのIPアドレスになります。

【ルータに必要なコマンド】
(config)#interface < interface-id >.<subinterface number >
(config-subif)#encapsulation dot1q < vlan-id >
(config-subif)#ip address < ip-address > < subnet >
【スイッチに必要なコマンド】
(config)#interface < interface-id >
(config-if)#switchport mode trunk

【サブインターフェースの作成】

(config)#interface {インターフェース} . [サブインターフェース番号]
インターフェース ・・・自身に搭載している物理インターフェースを指定「FastEthernet 0/0」など
サブインターフェース番号 ・・・任意の番号を指定

【VLANカプセル化方式の指定とVLAN IDの指定】

(config-subif)#encapsulation dot1q {VLAN番号}

L3スイッチ

レイヤ3の情報(IPアドレス)を基に転送処理を行うスイッチをレイヤ3スイッチといいます。複数の層の情報を制御できる機器をマルチスイッチといいます。

  1. レイヤ3EtherChannel は、レイヤ3スイッチのルーテッドポートで行います。物理インターフェイスをno switchportコマンドでルーテッドポー トに変更する
  2. IP アドレスの設定は EtherChannel の設定を行った後に作成された Port-channel インターフェイス上で行います。
  • マルチレイヤスイッチはルーティング機能が無効になっているのでルーティング作業を有効にする必要かあります。
  • VLANのデフォルトゲートウェイはSVI(Switch Virtual Interface)を設定します。

レイヤ 3 スイッチにはスイッチポート、ルーテッドポート、SVI の 3 つのポートが 存在します。それぞれの役割について整理しておきましょう。

スイッチポート

レイヤ 2 スイッチのポートと同様に、アクセスポートやトランクポートの設定を行 う物理ポートです。レイヤ 3 スイッチの物理ポートはデフォルトでスイッチポート として動作していますが、一度ルーテッドポートに変更したポートを再度レイヤ 3EtherChannel は、レイヤ 3 スイッチのルーテッドポートで行います。 ポートに戻すには、該当ポートで (config-if)#switchport コマンドを実行します。

ルーテッドポート

物理ポートをルータのインターフェイスとして動作させるポートです。IP アドレス の設定や ACL の設定など、ルータのインターフェイスと同様の設定が可能になり ます。スイッチポートからルーテッドポートに切り替えて動作させるには、該当 ポートで(config-if)#no switchportコマンドを実行します。

SVI

SVI(Switch Virtual Interface)はスイッチ内部に存在する仮想インターフェイスで、各 VLAN に紐づく内部のスイッ チと接続するルータのインターフェイスとして動作します。ルーテッドポートと同 様に、IPアドレスの設定やACLの設定などが可能です。SVIを作成するには、 (config)#interface vlan <VLAN番号>コマンドを実行します。

VTP

  • VLAN trunking Protocol
  • トランクリンクで接続された複数のスイッチ間でVLAN情報を共有する
  • シスコ独自のプロトコル
  • VTPドメイン名が同じスイッチ間で同期が行われる

  • サーバモート(デフォルト)…VLAN作成・変更・削除し、他のスイッチにアドバタイズ(通知できる)モードです。また他から受信したVTPアドバタイズに基づいてVLAN情報を同期します。
  • クライアントモード…VLANの作成・変更・削除はできないモードです。他から受信したVTPアドバタイズに基づいてVLAN情報を同期し、転送します。
  • トランスペアレントモードトランクリンクを介して受信したVTPアドバタイズを他に転送するモードです。
モード作成、変更、削除同期アドバタイズメント転送
サーバ
クライアント××
トランスペアレント××

VTPリビジョン番号

VTPリビジョン番号は、VLANの設定があるたびに1つずつ増えていく数値です。リビジョン番号が一番大きいものが最新として同期させます。

VTPプルーニング

ブロードキャストの宛先VLANが存在しない(使われていない)スイッチへはフレームを送らないようにする技術は、VTPプルーニングです。

音声VLAN

  • 1つのアクセスポートに混在しているIP PhoneとPCのデータを別々に識別する機能です。
  • Cisco IOSの独自機能
  • アクセスポートでありながら1つのポートで2つのVLANトラフィックを転送することができます。このようなポートをマルチVLANアクセスポートといいます。
  • フレームの優先度を表す値を、CoS(Class of Service)といいます。
  • パケットに優先順位をつけて通信品質を保証する技術を、QoS(Quality of Service)といいます。
  • 音声VLANを設定するポートではCDPを有効にしておく(CDPはデフォルトで有効になっているため、CDPの設定は必要ありません)音声VLANを設定するポートではCDPを有効にしておく(CDPはデフォルトで有効になっているため、CDPの設定は必要ありません)
  • 音声VLANを設定すると自動的にPortFastが有効になる

【音声VLANで使用する主なコマンド】

音声VLANを使用する場合、ポートはアクセスポートにします。
(config-if)#switchport mode access

音声用のVLANを指定します。ここで設定された音声用のVLANは、CDPによってCisco IP Phoneに通知されます。
(config-if)#switchport voice vlan {VLAN_ID}

PCデータ用のVLANを指定します。
(config-if)#switchport access vlan {VLAN_ID}

vSwitch

vSwitchとは、サーバ上のソフトウェアによって仮想的に作成するL2スイッチで、仮想サーバを接続するために使用します。

  • 仮想的に作成するL2スイッチ
  • 仮想サーバ同士を接続する
  • 仮想サーバと物理ネットワークを接続します。

コマンド

【コマンド スイッチポートにVLANを割り当てる】

(config-if)#switchport access vlan <vlan-id>

switchport modeで設定したモードと、実際の動作モードを確認

#show interfaces switchport

VLANと、VLANとポートのマッピングを確認

#show vlan

#show interfaces status

#show interfaces trunk

【インターフェイスのトランク設定を確認する】

show interfaces trunk

show interfaces swichport

Swich#show interfaces fastethernet 0/1 trunk enter

PortModeEncapsulationStatusNative vlan
Fa0/1‥①on‥②802.1q‥③trunking‥④1‥⑤
Port
Fa0/1
Vlans allowed on trunk‥⑥
1-4096
Port
Fa0/1
Vlan allowed and active in management domain‥⑦
1,10,20,30
Port
Fa0/1
Vlan in spanning tree forwarding state and not pruned‥⑧
1,10,20,30
  1. トランクポートとして動作しているポート名
  2. 設定しているスイッチポートのモード(固定のtrunkの場合「on」、accessの場合「off」
  3. トランクプロトコルのタイプ(DTPによって動的に選択された場合「n-802.1q」)
  4. 現在のトランク状況(非トランクの場合は「non trunking」)
  5. ネイティブVLAN
  6. トランクで許可されてるVLAN(デフォルトではすべてのVLANを許可)
  7. ⑥で表示されたVLANのうちアクティブなもの
  8. ⑦で表示されたVLANのうち、STPのフォワーディング状態でVTPプルーニングされたいないVLAN

【サブインターフェイスの作成】

Router(config)# interface gigabitethernet0/1.10
Router(config-subif)# encapsulation dot1q 10
Router(config-subif)# ip address 192.168.10.1 255.255.255.0

【トランクプロトコルとVLAN IDの指定】

(config-subif)#encapsulation dot1q <vlan-id> [ native ]

(ISLを使用する場合⇒escapsulation isl <vlan-id>

【サブインターフェイスにIPアドレスの割り当て】

(config-subif)#if address <ip-adress> <subnet-mask>

(ISLを使用する場合⇒escapsulation isl <vlan-id>

【トランクポートを通過できるVLANの変更】

(config-if)#switchport trunk allowed vlan [ add | remove | except ] [ VLAN番号 ]

add:許可、remove:拒否、except:指定したVLAN以外許可