1.Vlan
1.Vlan
s◇1-1~1-3s◇1-1~1-3
複数SWにわたってVLANを構成するときにトランクポートを使うとよい。
Ciscoに依存しないプロトコルがIEEE802.1Q。
Type/Lengthの間に下記のようにタグを挟む。
6 6 4 2 46-1500 4
|宛て先MAC|送信元MAC| タグ |T/L| データ | FCS |
タグの構成: | TPID |Priority|CFI| VOD |
TPID: Tag Protocol Identifier。タグが入ったフレームですよと明示
Priority:フレームの優先度を決める
CFI: Canonical Format Indicator : MACアドレスの標準形式かどうか。
VID:VLAN Identifier:フレームが該当するVLAN番号
・Native Vlanの挙動:
トランク同士のリンクで、両端のN-VLAN番号が一致していれば
タグなしフレームを送受信できる。
------------------------------------------------------------------------------------
vlan2, 3を作成して、fa0/2をvlan2、fa0/3~6までを
vlan3のアクセスポートにしたいとき。
SW#en
SW(config)#vlan 2
SW(config-vlan)#name VL2
SW(config-vlan)#exit ←exitして初めてV-lanが作成される
SW(config)#vlan 3
SW(config-vlan)#exit
SW(config)#interface fastethernet 0/2
SW(config-if)#switchport mode access
SW(config-if)#switchport access vlan 2
SW(config-if)#interface range fastethernet 0/3 - 6 ←fa0/1のifの設定から範囲設定に移るとき
SW(config-if-range)#switchport mode access
SW(config-if-range)#switchport access vlan 3
SW(config-if-range)#end
★上記状態で#show vlanすると…
★ports部分は、shutdownだろうがSTPのブロッキングポートだろうがアクセスポートとして認識されているものが全部表示される。
VLAN Name Status Ports
--------------------------------------------------------------------------
1 default active Fa0/1, Fa0/7, Fa0/8....以下略。
2 VL2 active Fa0/2
3 VLAN0003 active Fa0/3, Fa0/4, Fa0/5 Fa0/6 ★トランクポートの場合はifとして表示されず。
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
★sh vlanの後半部分に、MTUやSTPの状態が表示される。
ちなみにこの部分はsh vlan briefだと省略される。
-------------------------------------------------------------------------------------------------
1 enet 100001 1500 - - - - - 0 0
2 enet 100002 1500 - - - - - 0 0
3 enet 100003 1500 - - - - - 0 0
1002 fddi 101002 1500 - - - - - 0 0
1003 tr 101003 1500 - - - - - 0 0
1004 fdnet 101004 1500 - - - ieee - 0 0
1005 trnet 101005 1500 - - - ibm - 0 0
Remote SPAN VLANS
--------------------------
Primary Secondary Type Ports
----------------------------------------------------------------------------------------------------------
★スイッチポートの情報
#show interfaces fastethernet 0/2 switchport
Name: Fa0/3
Switchport: Enabled
Administrative Mode: Static access ★ここがdynamic autoで
Operational Mode: Static access ここがstatic accessであるとかもアリ。Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 2 ★割り当てられたV-lan id
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled
★トランクポートだと(PKTオリ設定)
Switch#show interfaces GigabitEthernet0/1 switchport
Name: Gig0/1
Switchport: Enabled
Administrative Mode: trunk
Operational Mode: trunk
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: dot1q
Negotiation of Trunking: Off
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 99 (Inactive)
Voice VLAN: none
Administrative private-vlan host-association: none
(中略)----
Operational private-vlan: none
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: 2-1001
Capture Mode Disabled
Capture VLANs Allowed: ALL
Protected: false
Appliance trust: none
〇Rev トランクポートの設定とネゴシエーション
・DTPってなんだっけ:Dynamic Trunking Protocol... Cisco独自プロトコル。
アクセス/トランクの切り替えや、
汎用規格IEEE802.1Q/独自規格ISLの切り替えが動的にできる。
コマンド:(config-if)#switchport mode dynamic desirable / dynamic auto
dynamic desirable / dynamic autoの2種のオプションで設定。
desirableだと積極的にトランクポートになるよう働きかけ、
対向がdesirable/auto/trunkだとこちらもトランクになる。
autoだと消極的になりこちらからは働きかけない。
対向がtrunkかdesirableだとトランクになり、
対向がaccessかautoだとアクセスになる。
・DTPを使わないスタティックな設定はこう。
SW(config)#interface fastethernet 0/2
SW(config-if)#switchport trunk encapsulation dot1q ★IEEE802.1QとISLをどっちもサポートしている場合のみ
SW(config-if)#switchport mode trunk
SW(config-if)#switchport nonegotiate ★明示的にトランクにしているのでDTPは使わない。
※スタティックに片方をtrunk、もう片方をaccessにした時の動作
VLAN1\ /VLAN1
SW1(access)→→→(trunk)SW2
VLAN2/ \VLAN2
アクセスポートから発射されるフレームにはタグがない。
タグがないフレームは、トランクポートで受信されるとNative Vlanとして扱われる。 →つまり、SW1のアクセスから発射されたフレームがSW2のトランクポートのNative Vlanと同じVlan-idのものなら通信が成立するが、
それ以外のVlanのものを発射してもトランクポートで破棄されてしまう。
〇Rev Native-Vlanの設定方法
(config-if)#switchport trunk native vlan 99
★Trunking Vlan Enabledを限定したい::trunk allowed vlan
例えば、fa0/x同士をトランクで繋げたSW1、SW2があって、
SW1ではVLAN1,2,3 SW2ではVLAN1,2があり、 各Vlan用に2個ずつ
Faが割り当てられてその先に1台ずつ端末があるというケースで
SW1のVlan3のある端末からARPリクエストがブロキャされたとしよう。
・フレームはSW1のVlan3のその端末が繋がるポートで受信された後どうなるか。
ブロキャドメインはVlanごとに区切られるから、
ブロキャの飛んでいく先はまず SW1 Vlan3の残りのポートである。
これはいいとして、実はSW1のトランクポートにもフレームが飛んでいき、
VLAN3のタグでSW2まで転送されてしまう。
当然、SW2にはVlan3用のポートがなく、フレームは破棄される。
結局、トランクから送信したフレームは無駄なのであった。
→こういうのを防ぎたい。
SW1とSW2のトランクリンクはVlan1,2だけで必要十分なのだし。
→トランクポートの設定時、SW1,SW2の両方で、
最初から以下のようにコマンドを打つがよい。
SW(config)#interface fastethernet fa0/x
SW(config-if)#switchport mode trunk
SW(config-if)#switchport nonegotiate
SW(config-if)#switchport trunk allowed vlan1,2 ・・・★ここが肝。
もしtrunkの許可Vlanを追加でenabl/removりたければ、
両SWで下記のようなコマンドを打ってみるがよい。
SW(config-if)#switchport trunk allowed vlan add 30
★1,2に加えて30が追加で許可される。
SW(config-if)#switchport trunk allowed vlan except 30
★30以外全部許可されることになる
SW(config-if)#switchport trunk allowed vlan remove 2
★vlan2が許可リストから外される。
SW(config-if)#switchport trunk allowed vlan all
★全部(1~4094まで)のvlan-idがトランクで許可される。
★トランクポートの状態を確認しよう(PKTオリ設定:roasのとき)
Switch#show interfaces trunk
Port Mode Encapsulation Status Native vlan
Gig0/1 on 802.1q trunking 99
Port Vlans allowed on trunk
Gig0/1 1-1005
Port Vlans allowed and active in management domain
Gig0/1 1,10,20 ★トランク通っていいVlanリスト
Port Vlans in spanning tree forwarding state and not pruned ※
Gig0/1 1,10,20
※ちなみに、VTPプルーニングだと、上記のtrunk allowed vlanを自動で設定できる…。マジかよ。
◇1-4 VTP
VTPとは:「トランクポート」間で、Vlan情報を共有できる。
どのポートに割り当てたかまでは共有されないがかなり設定を省力化可能
・リビジョン番号は大きいほうに統一される。
その場合、更新があった方のリビジョン番号が増え、そっちに設定がマージされる。
知らなかったこと:
(conf)#vtp pruning
:前述の #switchport trunk allowed vlan xxxxxxxのコマンドを勝手にやる。
使わないvlan情報が落ちてくれる。
(conf)#vtp mode transparent
:自身のリビジョン番号は増えず、
更新もされないがvtp情報の転送だけしてくれる。-1
(conf)#vtp mode off:完全に機能をoffにする。
・vtpのバージョンについて
デフォルト:ver1
トークンリング環境で使いたい:ver2
VLAN ID 1006-4094も使いたい:ver3
・vlan とvtpの情報を消したい:
→#delete startup-config
#delete vlan.dat もしくは #delete flash:vlan.dat
※vlan.datはNVRAMでなくflashメモリ上にある
vlan.datにはパスが予め通っているので名前指定だけでflashと判断してくれる。
◇1-5音声VLAN
・要するに:access portなのにvoice vlanでは複数のvlanを扱うことができる。
switchport access voice vlan 20 などしてVLAN-IDを専用のidを設定しておき、
CDPでスイッチがIP電話を検出+VLAN-ID通知すると、
IP電話は802.1Qタグを付けてフレームを送る。
→トランクポートのようにスイッチが音声VLANのフレームを識別してくれる。
データVLANと音声VLANという腑分け。
◇1-6 VLAN間ルーティング
★Roasでわかってないこと
あるサブifのVLANをネイティブVLAN1にしたとき:encapsulation dot1q 1 nativeコマンドが必要
物理ifをネイティブVLANにしたとき:上記オプションは不要。
・・・なんで????
注:ISLをサポートしている:Catalyst2970, 6500
dot1qのみ:2940,2950,2955, 4000-
dot1qのみのSWはencapsulation dot1qオプション自体必要ないはずだが…
★L3SWでVLAN間ルーティングする時のポイント
→物理ポートと仮想ポートを設定する。
物理ポートはトランクでL2SWのトランク同士と繋げる。
仮想ポートは、各VLANのデフォルトゲートウェイとなり、
Roasで言うところのサブインターフェイスと同等のもの。
SVI:switch virtual interfaceをつくるとはどういうことなのか。
→要するに,vlanを作っておいて
(conf)#interface vlan 1
(conf-if)#ip address 192.168.1.254 255.255.255.0
(conf-if)#no shutdown
とすればよい。 こうするとvlanに設定したipが
仮想i/fかつvlanのデフォルトゲートウェイとして機能する。
ルーティングを有効にする
(conf)#ip routing
あとはL3SWとアクセス層の各SWをトランクでつないで、
アクセス層の各SWの端末へのポートをアクセスポートにして
vlanを割り当てていけばよい。
★アクセス層の各SWには、他ネットワークからリモートで入れるように
・管理VLAN:vlan1の仮想i/fにipアドレスを設定
・ip default-gateway で DGWを設定しておくのがよい。
----------------------------------------------------------------
コマンドたちよ
★MACアドレスを知りたい:
show mac address-table (interface ...)
★トランクとかアクセスとか滅茶苦茶細かくポートの状態を知りたい:
show interface switchport