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 | 何が都合がいい?交渉ないならアクセスになります |
trunk | access | dynamic desirable | dynamic auto | |
---|---|---|---|---|
trunk | trunk | access | trunk | trunk |
access | access | access | access | access |
dynamic desirable | trunk | access | trunk | trunk |
dynamic auto | trunk | access | trunk | access |
【スイッチポートモード変更(DTPの設定)】
(config-if)#switchport mode {access | trunk | dynamic {auto | desirable}}
【DTPの無効化】
(config-if)#switchport nonegotiate
トランキングプロトコル
- トランキングプロトコルにはIEEE802.1QとISLの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.1Q | ISL |
---|---|---|
規格 | IEEEによって標準化 | シスコ独自 |
方式 | タギング方式 | カプセル方式 |
ネイティブV LAN | サポート | なし |
フレームの増加幅 | 4バイト | 30バイト (ヘッダ:26、FCS:4) |
最大フレームサイズ | 1,522バイト | 1,548バイト |
FCSの処理 | 再計算 | フィールドの増加 |
VLAN ID | 12ビット | 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スイッチといいます。複数の層の情報を制御できる機器をマルチスイッチといいます。
- レイヤ3EtherChannel は、レイヤ3スイッチのルーテッドポートで行います。物理インターフェイスをno switchportコマンドでルーテッドポー トに変更する
- 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
Port | Mode | Encapsulation | Status | Native 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 |
- トランクポートとして動作しているポート名
- 設定しているスイッチポートのモード(固定のtrunkの場合「on」、accessの場合「off」
- トランクプロトコルのタイプ(DTPによって動的に選択された場合「n-802.1q」)
- 現在のトランク状況(非トランクの場合は「non trunking」)
- ネイティブVLAN
- トランクで許可されてるVLAN(デフォルトではすべてのVLANを許可)
- ⑥で表示されたVLANのうちアクティブなもの
- ⑦で表示された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以外許可