ずいぶん前に格安で転がっていたのでIYHしたDGS-3100とDGS-1224ですが、お仕事先の事務所にて使わずに置物になっていました。画像はIYHしたときの画像です。Catalyst 3750Gと思った?残念!D-Linkちゃんでしt(ry まあもういろんな人に渡してしまったので、手元には1台しかありませんが。
しかしここに来てVLANを切って欲しいという依頼があり、そのときに色々ハマったのでメモです。メモというか苦労話というか愚痴話というか。
持ってる人以外には全く関係ないので好きな人だけ読んでくださいwかなり長いですw
構成図
同VLAN内では通信が出来るが、VLAN1とVLAN2は通信が出来ず、ルーターへのみ両VLANからアクセスできる、と言う特に変哲のない普通のVLANです。問題は、ルーター側がタグ付きVLANを喋れないということで、UntaggedなVLANを作らないといけないという点です。えっ、と思うかもしれませんが、お仕事先はインフラ屋さんではないので事務所のルーターは普通の民生ルーターなのです。
さて、見識者であればあれこれ設定方法が浮かぶと思いますが、自分も以前CentreCom 9424T/SPで同じ事をやったのでadd vlan group=uplink的な事が出来ればいいと思い調べてみました。
しかし、元々スイッチに入っていたファームが2.x系だったので古くて方法が見つからず悩んでいました。しかし、マニュアルを読むと3.x以降で導入されたAsymmetric VLANを利用することによって可能というようなことが書いてあったので、D-Linkの日本法人のページを見るとファームはR3.60.B37が最終らしくそれを入れました。
第一の難関 ファームの差違
D-Linkのページにある、CLIマニュアル R3.6(英語版)だとasymmetric_vlanのコマンドがenable asymとdisable asymしか無いのですが、日本法人から配布されているB37だと
config asymmetric_vlan shared_vlan [VLAN ID] comminucate_vlan [VLAN ID]
というコマンドがあり、ここではまりました。何故かワールドワイドで配布されているファームは3.60.28が最終で、確かにこのファームだとconfig asymがありませんでした。
この差に気がつくまでに半日かかりました。大体のパターンとして、日本法人は更新をサボって(失礼)古いファームしか公開していないけど、本家はそれよりも新しいファームを持っている、と言うパターンなので、逆のパターンにあうとは思っていませんでした。
第二の難関 アレなマニュアル
WEB GUIマニュアル R3.6(英語版)ではこう書いてあるので、vlan aにport1-8,24をuntaggedで属させ、vlan bにport 9-16,24をunttagedで属させれば両方のVLANの間で疎通はとれなくても、port 24を通じてWANにアクセスできる!
と、思うじゃん?
違うんですよこれが。
しかもマニュアルを読んでみれば分かりますが、書いてある情報が少なすぎる上に、必要な情報が載っていない(少なくとも見つけられなかった)のでひたすら試行錯誤しました。
B37版で追加されたconfigure asymmetric_vlan sharedコマンドで
vlan a port untagged 1-8,24
vlan b port untagged 9-16,24
vlan c port untagged 24
と言う構成にして、vlan cを共有VLANにして、aとbをセパレートにする、と言うような内容でconfigを入れてみてもポート24の先にあるサーバーへはアクセスできず。あまりにも意図した動きをしないので実装されていないのではないかというレベルでした。
手探りでConfigを入れつつGoogleで検索をしていると、海外のフォーラムでgvrpコマンドからport vlan idを設定しろみたいな事例が。マニュアルと話が違う件…。確かにちょろっとPVIDが必要とか書いてありましたが。と言うかGVRPってそう使うものなんですか…。
そしてそこから更に試行錯誤した結果、無事に動くようになりました。
Config Walkthrough
ポート1-8とポート9-16をわけ、ポート22-24を共有ポートとして両VLANからアクセス可能にするコンフィグです。一応28と37のファームで動きました。
UserName:
//ログイン
DGS-3100#
//混乱回避のためデフォルトVLANから全ポートを削除
DGS-3100# config vlan default del all
01-Jan-2000 01:09:14 %LINK-W-Down: Vlan 1
Success
//ポート1-8用のVLAN
DGS-3100# create vlan a
Success.
//9-16用のVLAN
DGS-3100# create vlan b
Success.
//アップリンク用VLAN
DGS-3100# create vlan c
Success.
//一つのポートが複数のUntaggedVLANに属せられるようにする
DGS-3100# enable asymmetric_vlan
Success.
//vlan aにUntaggedなポートを設定
DGS-3100# config vlan a add untagged 1-8,22-24
01-Jan-2000 01:20:40 %LINK-I-Up: Vlan 2
Success.
//vlan bにUntaggedなポートを設定
DGS-3100# config vlan b add untagged 9-16,22-24
01-Jan-2000 01:20:52 %LINK-I-Up: Vlan 3
Success.
//vlan cで上流に抜けられるポートを設定
DGS-3100# config vlan c add untagged 1-16,22-24
01-Jan-2000 01:21:19 %LINK-I-Up: Vlan 4
Success.
//vlan a内で疎通がとれるようにする
DGS-3100# conf gvrp 1-8 pvid 2
Success.
//vlan b内で疎通がとれるようにする
DGS-3100# conf gvrp 9-16 pvid 3
Success.
//vlan cをアップリンクとして両VLANから抜けられるようにする
DGS-3100# conf gvrp 22-24 pvid 4
Success.
//現在の設定の確認
DGS-3100# show vlan
VID : 1 VLAN Name : default
VLAN TYPE : other
Member ports :
Static ports :
Untagged ports :
Forbidden ports :
VID : 2 VLAN Name : a
VLAN TYPE : static
Member ports : 1:(1-8,22-24)
Static ports : 1:(1-8,22-24)
Untagged ports : 1:(1-8,22-24)
Forbidden ports :
VID : 3 VLAN Name : b
VLAN TYPE : static
Member ports : 1:(9-16,22-24)
Static ports : 1:(9-16,22-24)
Untagged ports : 1:(9-16,22-24)
Forbidden ports :
VID : 4 VLAN Name : c
VLAN TYPE : static
Member ports : 1:(1-16,22-24)
Static ports : 1:(1-16,22-24)
Untagged ports : 1:(1-16,22-24)
Forbidden ports :
Total Entries : 4
//PVIDの確認
DGS-3100# show gvrp
Global GVRP : Disabled
Port PVID GVRP Ingress Checking Acceptable Frame Type
----- ---- -------- ---------------- ---------------------
1:1 2 Disabled Enabled All Frames
1:2 2 Disabled Enabled All Frames
1:3 2 Disabled Enabled All Frames
1:4 2 Disabled Enabled All Frames
1:5 2 Disabled Enabled All Frames
1:6 2 Disabled Enabled All Frames
1:7 2 Disabled Enabled All Frames
1:8 2 Disabled Enabled All Frames
1:9 3 Disabled Enabled All Frames
1:10 3 Disabled Enabled All Frames
1:11 3 Disabled Enabled All Frames
1:12 3 Disabled Enabled All Frames
1:13 3 Disabled Enabled All Frames
1:14 3 Disabled Enabled All Frames
1:15 3 Disabled Enabled All Frames
1:16 3 Disabled Enabled All Frames
1:17 1 Disabled Enabled All Frames
1:18 1 Disabled Enabled All Frames
1:19 1 Disabled Enabled All Frames
1:20 1 Disabled Enabled All Frames
1:21 1 Disabled Enabled All Frames
1:22 4 Disabled Enabled All Frames
1:23 4 Disabled Enabled All Frames
1:24 4 Disabled Enabled All Frames
Total Entries : 24
//今のコンフィグをインポート可能形式で吐き出し
DGS-3100# show configuration running
!----------------------------------------------------------------------
!
! DGS-3100-24 Gigabit stackable L2 Managed Switch
! Configuration
!
! Firmware: Build 3.60.37
! Copyright(C) 2008 D-Link Corporation. All rights reserved.
!----------------------------------------------------------------------
! BASIC
! SNMP
disable snmp
create snmp community ******* view DefaultSuper read_write
create snmp community ****** view Default read_only
! AUTHENTICATION
! NETWORK MONITORING
! LINK AGGREGATION
! PORT
! VLAN
enable asymmetric_vlan
config vlan default delete 1:(1-24)
create vlan a tag 2
create vlan b tag 3
create vlan c tag 4
config vlan a add untagged 1:(1-8,22-24)
config vlan b add untagged 1:(9-16,22-24)
config vlan c add untagged 1:(1-16,22-24)
config gvrp 1:(1-8) pvid 2
config gvrp 1:(9-16) pvid 3
config gvrp 1:(22-24) pvid 4
! FORWARDING TABLE
! BROADCAST STORM CONTROL
! PORT MIRRORING
config mirror target 1:1 source 1:17 direction both
! QOS
! MULTIPLE SPANNING TREE
! IGMP SNOOPING
! 802.1X
! SNTP
! SSH
! SSL
! BASIC IP
config ipif System ipaddress 10.90.90.90/8 vlan default
! ROUTING TABLE
! ARP
! LACP
! PORT SECURITY
! STACK
! POE
! TRAFFIC SEGMENTATION
! ACCESS CONTROL LIST
! HISTORY
! SAFEGUARD
! DOWNLOAD
! LLDP
! MLD SNOOPING
! VOICE VLAN
config voice_vlan oui-table add 0001e3 description siemens_phone___________
config voice_vlan oui-table add 00036b description Cisco_phone_____________
config voice_vlan oui-table add 00096e description Avaya_phone_____________
config voice_vlan oui-table add 000fe2 description Huawei-3COM_phone_______
config voice_vlan oui-table add 0060b9 description nec-philips_phone_______
config voice_vlan oui-table add 00d01e description pingtel_phone___________
config voice_vlan oui-table add 00e075 description veritel_phone___________
config voice_vlan oui-table add 00e0bb description 3Com_phone______________
!----------------------------------------------------------------------
//保存する
DGS-3100#save
という設定をコマンドを一つ一つ入れながらどう応答が変わるのか確認して作っていたのですが、設定が終わったあとにこれを見つけて泣きたくなりました。DGS-3100は直接出てきませんがこの通りでいけます。最初からこれを参照しろと書いておいてくれと…
この手のマニュアルを読む度、日立のGRのマニュアルはよくできてると実感します。ドキュメントは非常に重要ですね…。
ツイート
コメントを書く
必要事項とコメントを入力して下さい。