rabbit51

it's since Nov.30 2005
May.29 2014, transferred from broach

Netgear JGS524E GS116E GS308EのミラーポートとタグVLAN パケットのキャプチャ

2021-09-19 16:00:00 | ネットワーク
Dynabook SS RX2/T7H (Win7)上のWiresharkでVLAN tag capture設定」でVLAN tagフィールドをキャプチャ出来るようになった。「Netgear JGS524E GS116E GS308EのVLANネットワークとBuffalo L2SWトラブル」でVLANパケットをキャプチャするときのミラーポート設定によってVLAN tagフィールドがキャプチャ出来なかったので調べてみた。
Port20(VLAN#03/PVID#03/UNTAG)は、ひかり電話 HGW PR-600MIのLAN(#4)が接続されている。Port10は、デフォルトVLAN(VLAN#01/PVID#01/UNTAG)とVLAN#02〜#08(VLAN#02-#08/TAG)が設定され、VLAN非対応のBuffalo LSW3-GT-5EPを中継しVLAN対応のGS308Eと接続されている。Port1(VLAN#100/PVID#100/UNTAG)は、Wiresharkが接続されているミラー専用ポート。ミラー元パケットだけ反映される。


(1)ミラーポートのリンク速度
ミラーポートのリンク速度が10Mbps/100Mbpsに設定されるとミラー元ポートのリンク速度も同じになる。

Dynabook SS RX2とイーサ・スイッチのミラーポート

(2)VLANメンバーシップとPVID
ミラーされるパケットは、VLANメンバーシップ処理後(ポート出力)とPVID処理前(ポート入力)のパケットとなる。

Port20(VLAN#03/PVID#03/UNTAG)のミラーパケットにVLAN tagが含まれない。VLAN#03からUNTAGメンバーシップで出力される。
Wiresharkのcapture filterで「VLAN 3」を指定するとキャプチャされない。

Port10のミラーパケットは、VLAN#03からTAGメンバーシップで出力されるので「VLAN ID=03」のVLAN tagが含まれる。
Wiresharkのcapture filterで「VLAN 3」を指定すると「VLAN ID=03」のVLAN tagを持つパケットだけがキャプチャされる。

Port10のミラーパケットは、VLAN#07からもTAGメンバーシップで出力されるので「VLAN ID=07」のVLAN tagが含まれる。
Wiresharkのcapture filterで「VLAN 3 OR VLAN 7」と指定すると「VLAN ID=03」のVLAN tagを持つパケットだけがキャプチャされる。
Vlan capture setup - Capture filters
capture filter with multiple vlans
Man page of PCAP-FILTER

VLAN#03とVLAN#07のDHCPパケットをキャプチャするには、
Wiresharkのcapture filterで「port 67 or port 68」または「portrange 67-68」でDHCPパケットだけをキャプチャする
ポート指定するとVLANフィールドの先にポート番号があるのでVLANフィールド無しのパケットが対象となる
「vlan and portrange 67-78」としてVLANフィールドを持つポート番号67-68のパケットを指定する
(ポート指定しなければ、VLAN指定は不要。また、VLANフィールドより前にあるether host指定ではVLAN指定不要)
display filterで「vlan.id == 3 OR vlan.id == 7」


 


コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Netgear JGS524E GS116E GS308EのVLANネットワークとBuffalo L2SWトラブル

2021-09-17 09:00:00 | ネットワーク
Netgear JGS524E GS116E GS308E GBT スイッチでVLAN」ネットワークを構成している。ひかり電話HGWのIPv4 DHCPサーバーにブリッジ経由のVLAN間接続した時に発生したトラブルを分析してみた。
ひかり電話 HGW PR-600MIのLAN(#4)は、JGS524Eのポート#20(VLAN#03/PVID#03/UNTAG)に接続。このVLAN#03には、NVR510のWAN、NVR500のWAN、OpenWrtのWAN、Debian10のenp3s0(それぞれPVID#03/UNTAG)が接続され、ポート#10(VLAN#01/PVID#01/UNTAG, VLAN#02-08/TAG)からBuffaloのL2SW(LSW3-GT-5EP)を介してGS308Eのポート#08に接続(トランク接続)されている。GS308Eのポート#08(VLAN#01/PVID#01/UNTAG, VLAN#02-08/TAG)のVLAN#03は、ポート#04(VLAN#03/PVID#03/UNTAG)でVAIO Pro13のDebian10端末に接続されている。Debian10端末は、DHCPクライアント機能でPR-600MIのDHCPサーバーからIPv4アドレスを得る事が出来る。

Debian10サーバーのブリッジポートbr1(enp6s0, enp7s0)経由で接続する設定を加えたところDHCP接続が出来なくなった。

(1)ブリッジポートbr1経由のDHCP接続設定
GS308Eのポート#07(VLAN#07/PVID#07/UNTAG)にVAIO Pro13を接続
GS308Eのポート#08からJGS524Eのポート#10 にトランク接続(途中にLSW3-GT-5EP)
JGS524Eのポート#07(VLAN#07/PVID#07/UNTAG)でDebian10のenp7s0に接続
JGS524Eのポート#05(VLAN#03/PVID#03/UNTAG)でDebian10のenp6s0に接続
JGS524Eのポート#20(VALN#03/PVID#03/UNTAG)でPR-600MIのLAN(#4)に接続(DHCPサーバー)

VAIO Pro13のDHCPクライアントでIPv4アドレスが取得できなくなった

(2)トラブル確認
・JGW524Eのポート#10でVLAN#03/TAGをoffするとトラブル解消
・Buffalo LSW3-GT-5EPを外し、直接ケーブルで接続するとトラブル解消
・Buffalo LSW3-GT-5EPをLSW4-GT-5EPLに変更してもトラブル
・Buffalo LSW3-GT-5EPを外し、JGS524Eのポート#13,15(VLAN#01-08/PVID#01/TAG)とLAG接続されたGS116Eのポート#14(VLAN#01/PVID#01/UNTAG, VLAN#02-08/TAG)とGS308Eポート#08と接続するとトラブル解消

・JGS524Eのポート#10でパケットキャプチャするとDHCP request(VLAN#03,07)ブロードキャストを確認(トラブルの有無に無関係)
・JGS524Eのポート#10でパケットキャプチャするとDHCP ack(VLAN#07)ユニキャストを確認(トラブルの有無に無関係)

・GS308Eのポート#08でパケットキャプチャするとDHCP request(VLAN#03,07)ブロードキャストを確認(トラブル時)
・GS308Eのポート#08でパケットキャプチャするとDHCP ack(VLAN#07)ユニキャストを確認出来ない(トラブル時)

Buffalo LSW3-GT-5EPがDHCP ack(VLAN#07)ユニキャストを転送しない

(3)トラブル原因を分析
Buffalo LSW3-GT-5EPは、VLAN未対応機種である。VLAN tagの有無に関わらずホスト間の通信を転送してくれる。
GS308Eポート#08とLSW3-GT-5EPポート#05、ポート#01とJGS524Eポート#10が接続されているので、LSW3-GT-5EPのポート#01,05間で転送される。
GS308Eのポート#07に接続されたVAIO-PCからVLAN#07でDHCP request(ブロードキャスト)が送信される
(MAC TABLE) PORT#07 VLAN#07 SOURCE:VAIO-PC DEST:BroadCast

LSW3-GT-5EPのポート#05で受けたパケットを全ポートにブロードキャストする
(MAC TABLE) PORT#05 SOURCE:VAIO-PC DEST:BroadCast

JGS524Eポート#10で受けたVLAN#07のブロードキャストパケットは、ブリッジポートbr1でVLAN#03にブロードキャストされる
JGS524Eポート#20のPR-600MIは、DHCP Requestに応答し、VAIO-PCに向けポート#05(VLAN#03)へユニキャスト応答する
JGS524Eポート#05は、ブリッジポートbr1でVAIO-PCに向け、ポート#07(VLAN#07)へユニキャスト応答する
JGS524Eポート#10は、VAIO-PCからVLAN#03へのブロードキャストとVAIO-PC宛のVLAN#07ユニキャストを転送する

LSW3-GT-5EPのポート#01で受けた
VAIO-PCからのVLAN#03へのブロードキャストを転送する(全ポートに)
(MAC TABLE) PORT#01 SOURCE:VAIO-PC DEST:BroadCast

VAIO-PC宛のVLAN#07ユニキャストパケットをMAC TABLEに従い転送する
先に受けたVLAN#03宛のブロードキャストでMAC TABLEが書き替えられているのでポート#05のGS308Eでなく、ポート#01のJGS524Eへ戻されてしまう。ループはしていない。Buffaloの最新機種は「ループ検出」を装備しているが、検出されないと思われる。

GS116EなどのVLAN対応機種であれば、MAC TABLEでVLAN ID識別がされるので、ポート#14からGS308Eのポート#08へ転送される
(MAC TABLE) PORT#14 VLAN#07 SOURCE:VAIO-PC DEST:BroadCast
(MAC TABLE) PORT#15,16LAG VLAN#03 SOURCE:VAIO-PC DEST:BroadCast

(4)対策
VLAN構成のネットワークでは、出来る限りVLAN対応のL2スイッチを利用するのが良い。
トラブル時は、VLAN非対応機を外して状況を確認する。


 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Dynabook SS RX2/T7H (Win7)上のWiresharkでVLAN tag capture設定

2021-09-01 09:00:00 | PC
DynaBook SS RX2/T7H(2009年1月)[Core 2 Duo U9300@1.2GHz] (Windows 7 Pro)をWireshark専用機として利用している。Netgear L2スイッチVLAN上でDHCP IP取得ができない事象を調べるため、VLAN tagを含めてパケットキャプチャを試みたが出来ない。Linux OSの機種では、VLAN tagがキャプチャ出来る。
Wiresharkサイトの「VLAN capture setup Windows機」にchipメーカー毎の解説がある。SS RX2は、Intel 82567Vが使用されているのでIntelの「My Sniffer Isn't Seeing VLAN, 802.1q, or QoS Tagged Frames」を参照して設定してみた
(Googleで「MonitorModeEnabled Intel」すると日本語のサイトもいくつか出てくる)。


Intelサイトによれは、Adaptor Driverのファイル名プレフィックスが「e1y」なので、「MonitorModeEnabled=(dword) 1」をRegistoryに設定すれば良いようだ。
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\00nn
複数ある「{4D36E972-E325-11CE-BFC1-08002BE10318」をスクロールし「(設定)」が「Network Adaptors」を探す。

「Network Adaptors」下位項目の「00nn」をスクロールし「DriverDesc」が「Intel 82567V」を調べる。「00nn」が「0007」である事を確認(この機械は0007)し、「MonitorModeEnabled」を設定し、再起動、WiresharkのVLAN tagを確認して設定終了。となるはずだったが変化なし。
設定失敗例を参考に再確認するも該当せず。。。
ドライバーが最新か確認。「10.1.17.0(2011/10/20)」で最新のようだ。古過ぎて遥か昔。。。
Intelサイトの注意書きを再度確認してみる
ControlSet001 might need to be Current Control Set or another 00x number.
とある。
Registoryを確認してみると「ControlSet001/002/003」と3個存在する。。。

「001」が「CurrentControlSet」に反映していないようだ。「001」に「MonitorModeEnabled」を設定しても「CurrentControlSet」に反映しない。「002」「003」と順番に設定してみる。「002」に「MonitorModeEnabled」を設定すると「CurrentControlSet」に反映される。
「ControlSet002」に「MonitorModeEnabled」を設定し、「CurrentControlSet」を確認する
ControlSet002

CurrentControlSet

反映されている。
再起動して、WiresharkでVLAN tagがcaptureされているか確認

VLAN tag フィールドがキャプチャーされている。

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする