■ポートミラーリング
WireSharkなどをいれたPCで、NW機器のパケットキャプチャをとりたい時にはミラーポートを使います。
Catalystだと"SPANポート"と呼ばれています。
端的に言うと、「送信元」で指定したポートまたはVLANを通過するパケットをコピーして、「宛先」で指定したポートから送信することでPC端末などでパケットの情報を確認できます。
■SPAN設定
・キャプチャを転送する宛先ポートにswitchport monitorの設定
SwitchA(config)# interface Ethernet1/33 #WireSharkなどを入れたPCをつなぐポートを指定
SwitchA(config-if)# switchport
SwitchA(config-if)# switchport monitor #モニター用の設定。SPAN専用ポートとなる。
SwitchA(config-if)# no shutdown
SPAN専用ポートではSPANセッションのトラフィック以外送受信はできなくなります。
なお、この宛先ポートに接続するPCにIPアドレスを割り振っていてもなくても問題なくパケットキャプチャができます。
・monitor sessionの設定
SwitchA(config)# monitor session 1 source interface port-channel1 both #キャプチャしたいポートを指定。双方向取得したい場合はbothを指定。片側のみであればrx/tx
SwitchA(config)# monitor session 1 destination interface Ethernet1/33 #転送先のポートを指定。
SwitchA(config)# end
port-channel1で送受信したパケットをコピーし、Eth1/33へ流します。
・確認
SwitchA# show monitor session 1
Session 1
———
Type : Local Session
Source Ports :
Both : Po1
Destination Ports: Eth1/33
Encapsulation : Native
Ingress : Disabled
※注意点
・送信元ポートを宛先ポートにできない
・宛先ポートを送信元ポートにできない
・宛先ポートはレイヤ2プロトコル(STP、VTP、CDP、DTP、PAgP)に参加できない
・宛先ポート(モニタリング用のポート)の状態は「up/down(monitoring)」になる
・送信元ポートにport-channelグループを指定できるが、宛先ポートには指定できない
・送信元はセッションごとにVLANまたは物理ポートのいずれかしか指定できない
・イーサチャネルのメンバーポートをSPANの宛先ポートに指定するとバンドルから外れる
あまり使いませんが、以下のようなSPANもあります。
■RSPAN
RSPAN
・RSPAN用に作成したVLANを使用する
⇒RSPAN用のVLANではMACアドレスの学習は行わないため、RSPAN用のVLANではすべてのパケットがフラッディングされます。
・キャプチャしたパケットはRSPAN用VLANでリモートスイッチに届ける
⇒RSPAN用のVLANはトランクポートを通って離れたスイッチまでキャプチャしたパケットを転送するためのものなので、アクセスポートに割り当てるとそのポートは無効化されます。
設定例:
SwitchAのFa0/6を通過するパケットを、SwitchBのFa0/13に接続したパケットキャプチャ用のPCでも受信可能にする。
SwitchA(config)# vlan 20
SwitchA(config-vlan)# remote-span
SwitchA(config-vlan)# exit
SwitchA(config)# monitor session 1 source interface FastEthernet 0/6
SwitchA(config)# monitor session 1 destination remote vlan 20
SwitchB(config)# vlan 20
SwitchB(config-vlan)# remote-span
SwitchB(config-vlan)# exit
SwitchB(config)# monitor session 1 source remote vlan 20
SwitchB(config)# monitor session 1 destination interface FastEthernet 0/13
■ERSPAN
ERSPAN
・ネットワーク(レイヤ3)を越えることが可能
・キャプチャしたパケットはGREでカプセル化してリモートスイッチに届ける
・一部の機種(Catalyst 6500など)で使用可能な機能
設定例:
SwitchAのFa0/6を通過するパケットをコピーして、レイヤ3を越えた先にあるSwitchBのFa0/12に接続したパケットキャプチャ用のPCでも受信可能にする。
SwitchA(config)# monitor session 1 type erspan-source
SwitchA(config-mon-erspan-src)# source interface Ethernet0/6
SwitchA(config-mon-erspan-src)# destination
SwitchA(config-mon-erspan-src-dst)# erspan-id 101
SwitchA(config-mon-erspan-src-dst)# ip address 10.2.2.2
SwitchA(config-mon-erspan-src-dst)# origin ip address 10.1.1.1
SwitchB(config)# monitor session 1 type erspan-destination
SwitchB(config-mon-erspan-dst)# destination interface Ethernet0/12
SwitchB(config-mon-erspan-dst)# source
SwitchB(config-mon-erspan-dst-src)# erspan-id 101
SwitchB(config-mon-erspan-dst-src)# ip address 10.2.2.2
ただ、基本的には設定もシンプルなローカルSPANを使うことが多いです。