「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非対応機を外して状況を確認する。
ひかり電話 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非対応機を外して状況を確認する。