$Date: 2024/09/26 18:57:27 $
VLAN間フィルターは、その名の通りVLAN間のフィルタリングをする機能です。インターフェース間の通信を許可または遮断することができます。フィルタリング対象となるインターフェースはLAN分割インターフェース、Native VLANインターフェース(タグVLANを使用しないLANインターフェース)およびタグVLANインターフェースです。
例えば、VLAN間フィルターでは次のようなことが実現できます。
図1 部署間の通信を制御する構成の例
図2 マンション型インターネットの構成例
これらのような構成はIPフィルターでも実現できますが、複数のIPフィルターが必要であり、設定が複雑化するのが問題でした。また、インターフェースを追加するとIPフィルターの設定も追加・変更が必要で、トラブルの元でした。
それをコマンド一つで実現できるようにしたのが「VLAN相互接続インターフェースグループ」です。使用するコマンドはvlan interconnect groupコマンドで、設定が非常に分かりやすく管理も容易になります。
例えば、Nativ VLANインターフェース(lan1)とタグVLANインターフェースを3つ(lan1/1, lan1/2, lan1/3)使用しているときに、これらすべてのインターフェース間の通信を遮断する場合、IPフィルターで実現するには次のような設定が必要です。フィルターに関する設定はip secure filterコマンドとip filterコマンドで17行になっています。
ip lan1 address 192.168.100.1/24 ip lan1 secure filter in 600000 600001 600002 6000012 vlan lan1/1 802.1q vid=101 name=VLAN101 ip lan1/1 address 192.168.101.1/24 ip lan1/1 secure filter in 600003 600004 600005 6000012 vlan lan1/2 802.1q vid=102 name=VLAN102 ip lan1/2 address 192.168.102.1/24 ip lan1/2 secure filter in 600006 600007 600008 6000012 vlan lan1/3 802.1q vid=103 name=VLAN103 ip lan1/3 address 192.168.103.1/24 ip lan1/3 secure filter in 600009 600010 600011 6000012 ip filter 600000 reject 192.168.100.0/24 192.168.101.0/24 ip filter 600001 reject 192.168.100.0/24 192.168.102.0/24 ip filter 600002 reject 192.168.100.0/24 192.168.103.0/24 ip filter 600003 reject 192.168.101.0/24 192.168.100.0/24 ip filter 600004 reject 192.168.101.0/24 192.168.102.0/24 ip filter 600005 reject 192.168.101.0/24 192.168.103.0/24 ip filter 600006 reject 192.168.102.0/24 192.168.100.0/24 ip filter 600007 reject 192.168.102.0/24 192.168.101.0/24 ip filter 600008 reject 192.168.102.0/24 192.168.103.0/24 ip filter 600009 reject 192.168.103.0/24 192.168.100.0/24 ip filter 600010 reject 192.168.103.0/24 192.168.101.0/24 ip filter 600011 reject 192.168.103.0/24 192.168.102.0/24 ip filter 600012 pass * *
本機能を使用すると、フィルターの設定はvlan interconnect groupコマンドのみとなり、たった一行の設定で実現できます。
ip lan1 address 192.168.100.1/24 vlan lan1/1 802.1q vid=101 name=VLAN101 ip lan1/1 address 192.168.101.1/24 vlan lan1/2 802.1q vid=102 name=VLAN102 ip lan1/2 address 192.168.102.1/24 vlan lan1/3 802.1q vid=103 name=VLAN103 ip lan1/3 address 192.168.103.1/24 vlan interconnect group lan1 none
本ドキュメントではVLAN相互接続インタフェースグループを使用したVLAN間フィルターについて説明します。
ヤマハルーターでは以下の機種およびファームウェアで、VLAN相互接続インターフェースグループによるVLAN間フィルターをサポートしています。
| 機種 | ファームウェア |
|---|---|
| RTX3510 | Rev.23.01.02以降 |
| RTX1300 | Rev.23.00.12以降 |
| RTX1220 | Rev.15.04.07以降 |
| RTX830 | Rev.15.02.31以降 |
| NVR510 | Rev.15.01.26以降 |
| NVR700W | Rev.15.00.25以降 |
図3 フィルタリング出来ない通信の例
VLAN間フィルターは、vlan interconnect groupコマンドで「VLAN相互接続インターフェースグループ」を設定することにより実現します。
[書式]
PHYS_LANにフィルタリングの対象とする物理LANインターフェースを指定します。ここで指定した物理LANインターフェースに従属するLANインターフェース間の通信をフィルタリングできます。
GROUPにはPHYS_LANに指定した物理LANインターフェースに従属するLANインターフェースのグループを指定します。相互に通信を許可するインターフェースをグループとすることで、以下の制御が可能です。
VLAN相互接続インターフェースグループを設定していない状態、すなわち初期状態では物理LANインターフェースに従属するすべてのLANインターフェース間の通信が許可されています。
ここでは目的に応じたグループの設定方法を説明します。
相互に通信を許可するインターフェースのグループを設定する場合は、GROUPにお互いの通信を許可したいインターフェースをカンマ区切りで列挙します。
GROUPはスペース区切りで複数指定することができ、同じグループ内のインターフェース間の通信は許可され、異なるグループ間の通信は遮断されます。
例えば、タグVLANインターフェースを4つ(lan1/1, lan1/2, lan1/3, lan1/4)使用しているとします。
図4 2つのグループを設定した例のイメージ図
このようにフィルタリングする場合は「lan1/1,lan1/2」と「lan1/3,lan1/4」の二つのグループを指定します。具体的なコマンドは次のようになります。
# vlan interconnect group lan1 lan1/1,lan1/2 lan1/3,lan1/4
あるインターフェースと複数のグループ間の通信を許可するには、共通のインターフェースを複数のグループに所属させます。
図5 両方のグループと通信を許可するインターフェースのグループ設定
このようにフィルタリングする場合は次のように設定します。
# vlan interconnect group lan1 lan1/1,lan1/2 lan1/1,lan1/3
lan1/1が一つ目のグループと二つ目のグループの両方に所属しています。lan1/1はどちらのグループとも通信が可能です。
グループに設定されていないインターフェースは、どのグループにも所属せずに独立した状態となります。
例えば、タグVLANインターフェースを4つ(lan1/1, lan1/2, lan1/3, lan1/4)とNative VLANインターフェース(タグVLANを使用しない lan1)を使用しているとき、lan1/1とlan1/2の間の通信を許可する設定をしたとします。
# vlan interconnect group lan1 lan1/1,lan1/2
このときlan1/1とlan1/2以外のインターフェース間の通信は遮断された状態になります。
図6 グループに設定されていないインターフェースのイメージ図
タグVLANインターフェースを使用しているときに、LAN分割インターフェースのグループを設定すると、タグVLANインターフェースとNative VLANインターフェースはどのクループにも所属せず独立した状態になります。すなわち、タグVLANインターフェース(Native VLANインターフェースを含む)間の通信はすべて遮断されます。逆に、LAN分割インターフェースを使用しているときに、タグVLANインターフェースのグループを設定すると、LAN分割インターフェース間の通信は遮断されます。なお、タグVLAN機能とLAN分割機能は同時に使用できないため、タグVLANインターフェースとLAN分割インターフェースをグループに含めた場合、コマンドはエラーになります。
連続する仮想インターフェースは「-」(ハイフン)を使うことで簡略化して表現することができます。
LAN分割インターフェースの場合、「vlan1,vlan2,vlan3,vlan4」は「vlan1-4」と表現できます。
# vlan interconnect group lan1 vlan1,vlan2,vlan3,vlan4
これは次のように書くことができます。
# vlan interconnect group lan1 vlan1-4
タグVLANインターフェースの場合、「lan1/1,lan1/2,lan1/3,lan1/4」は「lan1/1-4」と表現できます。
# vlan interconnect group lan1 lan1/1,lan1/2,lan1/3,lan1/4
これは次のように書くことができます。
# vlan interconnect group lan1 lan1/1-4
なお、連続したインターフェース番号を「-」で指定する場合は、昇順で指定してください。例えば「vlan4-1」はエラーになります。
vlan interconnect groupコマンドの設定値は、入力値のまま設定に反映されます。
対象物理LANインターフェースに従属するすべてのインターフェースとの通信が可能なインターフェースを設定するには、すべてのLANインターフェースとのペアをGROUPに設定することになります。すべてのLANインターフェースとのペアは「$」(ドルマーク)を使って表します。
二つの例で説明します。
一つ目の例は、タグVLANインターフェースを4個(lan1/1~lan1/4)とNative VLANインターフェース(タグVLANを使用しない lan1)を使用しているとき、Native VLANインターフェースのみに他のすべてのタグVLANインターフェースとの通信を許可する場合です。この場合、GROUPはlan1を軸にした「lan1,lan1/1」「lan1,lan1/2」「lan1,lan1/3」「lan1,lan1/4」の4つのグループを指定することになります。
| グループ1: | lan1,lan1/1 |
| グループ2: | lan1,lan1/2 |
| グループ3: | lan1,lan1/3 |
| グループ4: | lan1,lan1/4 |
図7 すべてのインターフェースとの通信を許可する場合のインターフェースグループのイメージ図
具体的なコマンドは次のようになります。
# vlan interconnect group lan1 lan1,lan1/1 lan1,lan1/2 lan1,lan1/3 lan1,lan1/4
この4つのグループをまとめて「lan1$」(「軸になるインターフェース」+「$」)と表現できます。これを用いると次のように書くことができます。
# vlan interconnect group lan1 lan1$
二つ目の例は、LAN分割インターフェースを6個(VLAN1~VLAN6)使用しているとき、VLAN2インターフェースのみが他のすべてのLAN分割インターフェースとの通信を許可する場合です。この場合は、GROUPにはvlan2を軸にした「vlan2,vlan1」「vlan2,vlan3」「vlan2,vlan4」「vlan2,vlan5」「vlan2,vlan6」の5つのグループを指定する必要がありますが、これを「vlan2$」と簡略化して指定することができます。
# vlan interconnect group lan1 vlan1,vlan2 vlan2,vlan3 vlan2,vlan4 vlan2,vlan5 vlan2,vlan6
この設定は次のように書くことができます。
# vlan interconnect group lan1 vlan2$
なお、「$」が設定されている状態で、新たにインターフェース(ネットワーク)を追加したときは、当コマンドを再設定しなくても、追加したインターフェースと対象インターフェースとのペアもグループに追加されます。
図8 「$」設定のとき追加されたインターフェースの扱い
GROUPに「$」を使わずに「$」と同等の設定をした場合でも、「$」を使った表現への最適化は行われず、コンフィグには設定したままの値が保存されます。「$」を使用した表現に置換されることはありません。
対象物理LANインターフェースに従属するすべてのLANインターフェース間の通信を許可する場合は、GROUPに「all」を指定します。
vlan interconnect groupコマンドを設定していないときは、「all」を指定しているのと同じ動作になります。つまり、初期状態では物理LANインターフェースに従属するすべてのLANインターフェース間の通信が許可されています。
例えば、タグVLANインターフェースを2つ(lan1/1, lan1/2)とNative VLANインターフェース(タグVLANを使用しない lan1)を使用しているとき、これらすべてのインターフェース間の通信を許可する場合は次のように設定します。
# vlan interconnect group lan1 all
これは、使用しているすべてのLANインターフェース(lan1, lan1/1, lan1/2)が1つのグループに所属している状態です。
図9 すべて許可する場合のインターフェースグループのイメージ図
なお、「all」が設定されている状態で、新たにインターフェース(ネットワーク)を追加したときは、当コマンドを再設定しなくても、追加したインターフェースとの間の通信も許可されます。
図10 「all」設定のとき追加されたインターフェースの扱い
対象物理LANインターフェースに従属するすべてのLANインターフェース間の通信を遮断する場合は、GROUPに「none」を指定します。
例えば、タグVLANインターフェースを2つ(lan1/1, lan1/2)とNative VLANインターフェース(タグVLANを使用しない lan1)を使用しているとき、これらすべてのLANインターフェース間の通信を遮断する場合は次のように設定します。
# vlan interconnect group lan1 none
これは、使用しているすべてのLANインターフェース(lan1, lan1/1, lan1/2)がどのグループにも所属せずに独立している状態です。
図11 すべて遮断する場合のインターフェースグループのイメージ図
なお、「none」が設定されている状態で、新たにインターフェース(ネットワーク)を追加したときは、当コマンドを再設定しなくても、追加したインターフェースとの間の通信も遮断されます。
図12 「none」設定のとき追加されたインターフェースの扱い
vlan interconnect logコマンドを設定することでフィルタリングのログを記録することができます。
SYSLOGのレベルとフォーマットは以下の通りです。
| レベル | フォーマット |
|---|---|
| NOTICE | (対象物理LAN) Passed at VLAN INTERCONNECT: (入力インターフェース) (送信元アドレス) > (出力インターフェース) (宛先アドレス) |
| NOTICE | (対象物理LAN) Rejected at VLAN INTERCONNECT: (入力インターフェース) (送信元アドレス) > (出力インターフェース) (宛先アドレス) |
#show log 2024/06/06 16:49:40: LAN1 Passed at VLAN INTERCONNECT: LAN1 192.168.100.10 > LAN1/1 10.0.1.2 2024/06/06 16:49:50: LAN1 Rejected at VLAN INTERCONNECT: LAN1 192.168.100.10 > LAN1/2 10.0.2.2
IPフィルターなど他のフィルター機能と併用した場合、VLAN間フィルターより前に他のフィルターでパケットが破棄された場合は、VLAN間フィルターのログは出力されません。フィルターの処理順序に関しては4-3. VLAN間フィルターと他のフィルターを併用するを参照ください。
VLAN間フィルターは、IPフィルターやDPIフィルターなど既存のフィルター機能と併用可能です。適用しているすべてのフィルターで通信が許可されたパケットがインターフェース間を通過できます。
既存のフィルター機能は、イーサネットフィルター、IPフィルター、URLフィルター、DPIフィルターがあり、各フィルターは受信インターフェースと送信インターフェースのそれぞれで処理されます。下図は各フィルターの処理順序を示しています。VLAN間フィルターより前段のフィルターでパケットが破棄された場合は、VLAN間フィルターのログは出力されません。
図13 フィルターが評価される順序
WebGUIを搭載している機種では、[詳細設定]のメニュー[VLAN]-[VLAN間フィルター]からVLAN間フィルターの設定をすることができます。
図14 Web GUIのVLAN間フィルター設定ページ
本機能に対応する前のファームウェアでは、LANマップのタグVLANページからVLAN間フィルターを設定することができました。
LANマップの「全遮断」と本機能の全遮断である「インターフェース間の通信をすべて遮断する」の動作には以下の違いがあります。
| LAMマップの全遮断 | 本機能の全遮断 | |
|---|---|---|
| 実現方法 | IPフィルター | vlan interconnect groupコマンド |
| 動作 | 遮断する対象のインターフェースにNative VLANインターフェースは含まない | 遮断する対象のインターフェースにNative VLANインターフェースも含まれる |
LANマップの全遮断と同じ動作をさせたい場合は、VLAN間フィルターの設定ページで「LAN1のすべてのインターフェースとの通信を許可するインターフェースを指定する」にチェックを入れ、インターフェースにLAN1を選択してください。
図15 LANマップの「全遮断」と同じ動作をさせる設定
これは、Native VLANインターフェースのみに他のすべてのタグVLANインターフェースとの通信を許可する設定です。つまり次の設定と同じです。
# vlan interconnect group lan1 lan1$
VLAN間フィルターの設定ページは、LANマップの「全遮断」の設定(IPフィルターによる全遮断の設定)がある状態でも正しく設定を解釈して表示できます。LANマップの「全遮断」の設定がある状態でVLAN間フィルターの設定ページを開くと、「LAN1のすべてのインターフェースとの通信を許可するインターフェースを指定する」でLAN1を選択している状態として表示されます。LANマップの「全遮断」と本機能における「LAN1 の各インターフェース間の通信をすべて遮断する」はイコールではないことに注意してください。
図16 IPフィルターによる全遮断の設定があるときのVLAN間フィルター設定ページの表示
LANマップの「全遮断」の設定がある状態で、VLAN間フィルターの設定ページからVLAN間フィルターを設定しなおした場合、IPフィルターによる全遮断の設定は削除され、vlan interconnect groupコマンドが設定されます。
物理 LAN インターフェースごとに、相互に接続可能な LAN インターフェースのグループを設定する。
仮想 LAN インターフェース( LAN 分割インターフェース、または、タグ VLAN インターフェース)を使用する場合、初期状態では物理 LAN インターフェースとの間の通信、および、すべての仮想 LAN インターフェースとの間の通信が可能であるが、本コマンドによって相互に通信を許可する LAN インターフェースのグループを任意に指定できる。
GROUP に all を指定した場合は、PHYS_LAN_INTERFACE に従属するすべての LAN インターフェースの相互接続が可能となる(全開放)。GROUP に none を指定した場合は、PHYS_LAN_INTERFACE に従属するすべての LAN インターフェースが互いに遮断され、相互接続ができなくなる(全遮断)。ただし、none を指定した場合でも、PHYS_LAN_INTERFACE に指定した物理 LAN インターフェースには従属しない他の物理 LAN インターフェース、および、仮想 LAN インターフェースへの通信は遮断されない。なお、all / none の指定は本コマンド実行後に作成した仮想 LAN インターフェースに対しても有効になるため、仮想 LAN インターフェースを増やす度に本コマンドを実行する必要はない。
相互接続を許可するグループを任意に設定する場合は、グループごとに複数の物理 LAN インターフェース名、および、仮想 LAN インターフェース名を「-」(ハイフン)または「,」(カンマ)で連結した LAN インターフェース群を GROUP に指定する。
「$」(ドルマーク)を使用すれば、すべての LAN インターフェースとのペアを簡略化して表現することができる。例えば、LAN 分割インターフェース 6 個(VLAN1~VLAN6)を使用しているとき、VLAN2 インターフェースのみが他のすべての LAN 分割インターフェースとの相互接続を可能とする場合、GROUP は「vlan1,vlan2 vlan2,vlan3 vlan2,vlan4 vlan2,vlan5 vlan2,vlan6」のように 5 個のグループを指定する必要があるが、これを「vlan2$」と簡略化して指定することができる。「$」はすべての LAN インターフェースと個別にペアになった複数のグループへ展開されることを意味する。同様に、タグ VLAN インターフェース 10 個(LAN1/1~LAN1/10)を使用しているとき、lan1/1 インターフェースのみが他のすべてのタグ VLAN インターフェースおよび Native VLAN インターフェース(タグ VLAN を使用しない LAN1 インタ―フェース)との相互接続を可能とする場合、GROUP は「lan1,lan1/1 lan1/1,lan1/2 lan1/1,lan1/3 lan1/1,lan1/4 lan1/1,lan1/5 lan1/1,lan1/6 lan1/1,lan1/7 lan1/1,lan1/8 lan1/1,lan1/9 lan1/1,lan1/10」のように 10 個のグループを指定する必要があるが、これを「lan1/1$」と簡略化して指定することができる。「$」も all / none の指定と同様に、本コマンド実行後に作成した仮想 LAN インターフェースに対しても有効になるため、仮想 LAN インターフェースを増やす度に本コマンドを実行する必要はない。
本コマンドに似た機能として LAN 分割拡張機能のポート分離機能があるが、ポート分離機能は同一の仮想 LAN インターフェース内の通信(内蔵スイッチングハブ内で折り返される通信)を制御する機能であり、複数の仮想 LAN インターフェースをまたぐ通信は制御できない。本コマンドは複数の仮想 LAN インターフェースをまたぐ通信を制御できる。
LAN インターフェースと LAN インターフェース以外のインターフェース( PP インターフェースや TUNNEL インターフェースなど)との間の通信、および、複数の物理 LAN インターフェースをまたぐ通信は本コマンドによる制御の対象外である。
IP フィルター機能と併用する場合は、OUT 側 IP フィルターのチェック処理の後で本コマンドによる通信制御処理が行われ、IP フィルター機能と本コマンドの両方で通信が許可されているパケットがインターフェース間を通過できる。
# vlan interconnect group lan1 all
# vlan interconnect group lan2 none
# vlan interconnect group lan1 vlan1-3 vlan2-4
# vlan interconnect group lan1 vlan2$
# vlan interconnect group lan2 lan2/1-3,lan2/18
# vlan interconnect group lan2 lan2$ lan2/1$
| 設定値 | 説明 |
| pass | 相互接続が許可されたインターフェース間の通信に関するログを記録する |
| reject | 相互接続が許可されていないインターフェース間の遮断された通信に関するログを記録する |
VLAN 相互接続インターフェースグループによる通信制御のログを記録するか否かを設定する。
本コマンドを設定した場合、VLAN 相互接続インターフェースグループで通信制御が行われた際に NOTICE レベルの syslog を出力する。
IP フィルター機能と VLAN 相互接続インターフェースグループによる通信制御を併用する場合は、先に IP フィルターのチェック処理が行われる。そのため、IP フィルターでパケットが破棄された場合は、本コマンドによるログは出力されない。