NEC IXシリーズルーターでポートVLANとタグVLANをVLANスイッチ的に併用する

Pocket

この記事では、 GE0, GE1 の 2つの "デバイス" を持つ NEC の IX2105 ルーターを例に、1カ所のスイッチングハブ用のデバイスの中で ポートVLAN と タグVLAN を併用し、スイッチングハブのトランクポートやアクセスポートのように使う方法について説明する。

はじめに

国内の中規模オフィス向けのルーターとして、 Yamaha や Cisco がよく知られているが、 NEC も UNIVERGE IXシリーズ を提供している。

Yamaha の RTXシリーズ と価格帯が近いものの、 NEC の IXシリーズ には、 Yamaha と比べてもわりと柔軟な構成を行える利点がある。

一方で Yamaha と比べた場合、 NEC の IXシリーズ の設定方法を調べるのは少し…いや、だいぶ難しい。
書籍や Web 記事、公式マニュアルなど、ドキュメントや設定例の全てに於いて、 Yamaha と比べて著しく情報が少ないためだ。

そんな IXシリーズ を使って、ポートVLAN と タグVLAN を併用する方法について紹介しよう。
(この併用も、Yamaha の RTX で同一ポート内で実現するのは難しい機能のひとつだ)

なお、同じ UNIVERGE でも LTE や Wi-Fi などのワイヤレス機能を持った WAシリーズ では、 VLAN 周りのコマンド体系が異なるため、このページの方法は使えない。

設定例として挙げている IX2105 は 2019年9月30日をもって販売を終了 しているが、マイナーバージョンこそ Ver.10.2 までに留まるものの不具合修正は続いている。
(例えば後継の IX2106 だと 10.2系 は Ver.10.2.26 までで終了し、最新版は Ver.10.8.21 となっている)
中古ならヤフオク等で二束三文で手に入るし、最新 FW (ソフトウェア) も NEC に "UNIVERGE IXシリーズ ソフトウェアダウンロードサイトへの接続申請書" を出せば手に入るので、練習機としてはもってこいだ。

ゴール

以下のような構成を行う。

  • 既定ではスイッチングハブとなっている、 GE1 デバイスの4つの物理ポートを、以下の3つに分割する
    • タグ付き通信を行う(即ちトランクポートとなる)1番ポート
      • 但し、管理VLAN 的に使うため、 untag のフレームも受け付ける
    • VLAN100 の通信を untag で行う(即ちアクセスポートとなる)2番ポート
    • VLAN200 の通信を untag で行う(即ちアクセスポートとなる)3, 4番ポート
  • 各 VLAN それぞれで DHCP サーバによる異なるセグメントの IP アドレスの割り当てを行う
  • GE0 デバイスでは NAT (NAPT) を行い、 GE1 デバイスの各セグメントからのルーティングも受け付ける

先に最終的な構成を載せておくと、以下のようになる。

ip ufs-cache enable
ip dhcp enable
ip access-list web-http-acl permit ip src any dest 192.168.99.1/32
!
!
!
!
! ブリッジの有効化
bridge irb enable
!
!
!
! GE0 から DNS サーバーを自動取得し DNSプロキシー を実行
proxy-dns ip enable
proxy-dns interface GigaEthernet0.0 priority 254
! Webコンソールを管理ポートの 192.168.99.1 として開始
http-server ip access-list web-http-acl
http-server ip enable
!
!
!
! 各サブネットごとに、自身をDNSサーバーと通知するDHCPプロファイルを作成
ip dhcp profile dhcp-profile-99
  dns-server 192.168.99.1
!
ip dhcp profile dhcp-profile-120
  dns-server 192.168.120.1
!
ip dhcp profile dhcp-profile-130
  dns-server 192.168.130.1
!
device GigaEthernet0
! GE1 ポートに ポートベース VLAN グループを設定
device GigaEthernet1
  vlan-group 2 port 2
  vlan-group 3 port 3 4
! GE0 は WAN 側として、 IPアドレスを DHCP から自動取得し、 NAPT を有効化
interface GigaEthernet0.0
  description WAN1
  ip address dhcp receive-default
  ip napt enable
  ip napt hairpinning
  no shutdown
! GE0 の グループ N/A (ポート1番) のアドレスと DHCP の設定
interface GigaEthernet1.0
  description LAN1
  ip address 192.168.99.1/24
  ip dhcp binding dhcp-profile-99
  no shutdown
! GE0 の グループ N/A (ポート1番) の VLANID 222 の VLAN タグ付きの設定 (BVI20とブリッジ)
interface GigaEthernet1.2
  description VLAN222
  encapsulation dot1q 222 tpid 8100
  auto-connect
  no ip address
  bridge-group 200
  no shutdown
! GE0 の グループ N/A (ポート1番) の VLANID 333 の VLAN タグ付きの設定 (BVI30とブリッジ)
interface GigaEthernet1.3
  description VLAN333
  encapsulation dot1q 333 tpid 8100
  auto-connect
  no ip address
  bridge-group 300
  no shutdown
! GE0 の グループ 2 (ポート2番) の untag の設定 (BVI20とブリッジ)
interface GigaEthernet1:2.0
  no ip address
  bridge-group 200
  no shutdown
! GE0 の グループ 3 (ポート3番&4番) の untag の設定 (BVI30とブリッジ)
interface GigaEthernet1:3.0
  no ip address
  bridge-group 300
  no shutdown
! VLANID 222 向けのブリッジインタフェースのアドレスと DHCP の設定
interface BVI20
  ip address 192.168.120.1/24
  ip dhcp binding dhcp-profile-120
  bridge-group 200
  no shutdown
! VLANID 333 向けのブリッジインタフェースのアドレスと DHCP の設定
interface BVI30
  ip address 192.168.130.1/24
  ip dhcp binding dhcp-profile-130
  bridge-group 300
  no shutdown
!
interface Loopback0.0
  no ip address
!
interface Null0.0
  no ip address
!
メモ:

なお、このページのコンフィグ例では、 IX2105 や IX2106, IX2107 のように GigaEthernet1 デバイスがスイッチングハブであることを前提としている。
IX2215 や IX2235 のように GigaEthernet2 デバイスなどがスイッチングハブとなっている場合、適宜読み替えて設定して欲しい。

前提知識

ひとつひとつ、細かく解説していこう。

まず前提として理解しておかなくてはならないのは、 IXシリーズの設定の考え方に於いて タグVLAN と ポートVLAN は全く異なる機能 であり、独立した設定となっている、という点だ。

タグVLAN

タグVLAN は、

  1. ある GigaEthernet1.0 といった "基本インタフェース" に対して、 GigaEthernet1.2 のような "サブインタフェース" を作成し… 1
  2. 各サブインタフェースに VLAN ID を割り当てると…
  3. 基本インタフェース側では IEEE 802.1Q VLANタギング でカプセル化されたフレームが流れる

という仕組みだ。

すなわち、基本インタフェース GigaEthernet1.0 内にて、各サブインタフェース GigaEthernet1.1, GigaEthernet1.2 が、 VLANタギング によってトンネリングされていると見做せる。

基本インタフェースも各サブインタフェースも、それぞれに IP アドレスを割り当てれば、各々がルーティングの対象となる。

メモ:

IXルーター上でトンネリングを行う仕組みとしては、似たようなもので他にも Tunnelインタフェース が存在する。

Tunnelインタフェース では、カプセル化後が (L3 の) IP パケットとなるようなモノを対象とするため、カプセル化後のパケットはルーティングされる。

一方、サブインタフェースでは、 VLANタギング や PPPoE といった、カプセル化後が (L2 の) Ethernet フレームとなるようなモノを対象としているため、カプセル化後のフレームは親となる基本インタフェース(と後述するブリッジ先)にしか流れない、といった仕組みの違いがある。

ポートVLAN

一方で ポートVLAN は、

  1. スイッチハブ機能を持つデバイス (IX2105 なら GigaEthernet1) を
  2. 複数のサブネット (グローバルキャストドメイン) に分割&グループ化し
  3. GigaEthernet1:2.0, GigaEthernet1:3.0 のような「ポートベース VLAN グループ番号」が異なる独立したインタフェースを作成する 1

という仕組みだ。

すなわち、 グループなし GigaEthernet1.0 や、ポートベース VLAN でグループ化された GigaEthernet1:2.0, GigaEthernet1:3.0 などは、それぞれ L2 (レイヤー2) 的に互いに独立していると見做せる。

もちろん、各ポートVLANグループにそれぞれ IP アドレスを割り当てれば、各々がルーティングの対象となる。

ブリッジ

独立した タグVLAN と ポートVLAN を紐づけるためには、複数のインタフェースをひとつのサブネット(グローバルキャストドメイン)にまとめる ブリッジ機能 を活用する。

インタフェースにブリッジ機能を割り当てると、そのインタフェースでは L3 のネットワーク層の情報が機能しなくなるため、IPアドレスや DHCP の設定など L3 に関する機能が使用できなくなる。 2

このため、ブリッジしたインタフェース上でルーティングや IPアドレスの設定などを行う場合、 BVIインタフェース という仮想インタフェースを作成してブリッジに加え、これに IPアドレス などの L3 に関する機能を割り当てる必要がある。

具体的なコンフィグの開設

まず、 GE0 を NAPT する WAN側、 GE1 を DHCP と Webコンソールを有効にした LAN側 と見立てた、以下のようなコンフィグを入れてある状態とする。

ip ufs-cache enable
ip dhcp enable
ip access-list web-http-acl permit ip src any dest 192.168.99.1/32
!
proxy-dns ip enable
proxy-dns interface GigaEthernet0.0 priority 254
!
http-server ip access-list web-http-acl
http-server ip enable
!
ip dhcp profile dhcp-profile-99
  dns-server 192.168.99.1
!
interface GigaEthernet0.0
  description WAN1
  ip address dhcp receive-default
  ip napt enable
  ip napt hairpinning
  no shutdown
!
interface GigaEthernet1.0
  description LAN1
  ip address 192.168.99.1/24
  ip dhcp binding dhcp-profile-99
  no shutdown
!

タグVLANの構成

タグVLAN のトランクポートを扱うには、前述の「サブインタフェース」を作成する必要がある。

以下のように、 GigaEthernet1.0 に対応する各サブインタフェースにも IP アドレスや DHCP の設定を行うと、 GE1 の各ポートでは

  • タグなし: 192.168.99.1/24 の基本インタフェース
  • VLAN ID 222: 192.168.120.1/24 のサブインタフェース番号2
  • VLAN ID 333: 192.168.130.1/24 のサブインタフェース番号3

に割当たるようになる。

encapsulation dot1q コマンドを実行した場合は、その反映には端末の再起動が必要な点には注意。

ip dhcp profile dhcp-profile-120
  dns-server 192.168.120.1
!
ip dhcp profile dhcp-profile-130
  dns-server 192.168.130.1
!
interface GigaEthernet1.2
  description VLAN222
  encapsulation dot1q 222 tpid 8100
  auto-connect
  ip address 192.168.120.1/24
  ip dhcp binding dhcp-profile-120
  no shutdown
!
interface GigaEthernet1.3
  description VLAN333
  encapsulation dot1q 333 tpid 8100
  auto-connect
  ip address 192.168.130.1/24
  ip dhcp binding dhcp-profile-130
  no shutdown

encapsulation dot1q コマンドで tpid の値を省略してもデフォルト値 0x8100 が設定されるのだが、省略したか否かにかかわらず show running-configshow startup-config のダンプ結果には表示されるため、最初からコマンドに含めている。

上記の例では、説明のために敢えて サブインタフェース番号 2 に VLAN ID 222、等と異なる番号を割り当てているが、実際に設定するときはある程度揃えておいた方が分かりやすいだろう。
サブインタフェース番号の上限は 32 等と少なめ(機種による)なので、 VLAN ID と完全に一致させるのはなかなか難しいだろうが。

ポートVLANとブリッジの追加構成

前項の タグVLAN の構成だけでは、 GE1 のどの番号のポートもトランクポートへのアクセスとなるため、 untagged なフレームを VLAN 用のサブネットにスイッチングできない。

GE1 の 2番~4番ポートをアクセスポートのように扱うために、これらのポートにポートVLANのグループ設定を構成し、トランクポートとネットワークを分割する以下のコードを実行する。

device GigaEthernet1
  vlan-group 2 port 2
  vlan-group 3 port 3 4

"ポートベース VLAN グループ番号" 2 に、 GE1 の 2番ポートを、 グループ番号 3 に、 GE1 の 2番 & 4番 ポートを、それぞれ割り当てている。

なお、グループ番号は 1 からスイッチングハブスロット上のポート数以下の整数値 (IX2105 なら 4) を設定できる。

GE1 の 1番ポートをグループ化の対象としないことにより、1番ポートには GigaEthernet0.0 の タグVLAN トランクポートのフレームが引き続き流れ続ける。

一方で、単にポートVLANグループに分割しただけでは、2番~4番ポートに untagged のフレームはスイッチングされてこない。

そこで、 untagged なフレームが流れている タグVLAN の各サブインタフェースと、 ブリッジ させてしまおう。

configure
bridge irb enable
!
!
interface GigaEthernet1.2
  description VLAN222
  encapsulation dot1q 222 tpid 8100
  no ip address
  no ip dhcp binding dhcp-profile-120
  bridge-group 200
  no shutdown
!
interface GigaEthernet1:2.0
  no ip address
  bridge-group 200
  no shutdown
!
interface BVI20
  ip address 192.168.120.1/24
  ip dhcp binding dhcp-profile-120
  bridge-group 200
  no shutdown
!
!
interface GigaEthernet1.3
  description VLAN333
  encapsulation dot1q 333 tpid 8100
  no ip address
  no ip dhcp binding dhcp-profile-130
  bridge-group 300
  no shutdown
!
interface GigaEthernet1:3.0
  no ip address
  bridge-group 300
  no shutdown
!
interface BVI30
  ip address 192.168.130.1/24
  ip dhcp binding dhcp-profile-130
  bridge-group 300
  no shutdown
!

まず、ブリッジ機能を有効にするために bridge irb enable コマンドの実行が必要だ。
(このコマンドはグローバルコンフィグモードで実行する必要があるため、手前で configure コマンドを実行している)

ここで タグVLAN の サブインタフェース と、 グループ化したポートを ブリッジするのだが、 前述の通りブリッジ機能を使うと サブインタフェースに設定していた L3 の IP 関連の構成が機能しなくなる。
このため、 VLAN 毎に BVI インタフェースを作成してブリッジに加えたうえで、そちらに ip addressip dhcp binding の構成を移植する。

なお、タグVLAN で使用している "サブインタフェース番号" GigaEthernet1.2 と、ポートベース VLAN で使用している "グループ番号" GigaEthernet1:2.0 (、そして BVI インタフェース番号 BVI20 や bridge-group 200、 VLANID VLAN222) をある程度数字揃えてブリッジしているが、必ずしもこれら番号は揃えておく必要は無い。
見やすさやわかりやすさを重視しつつ、指定できる範囲内で設定するのが良いだろう。

動作確認

ここまでの設定が完了すると、4つのサブネット間でルーティングされ、GE1 デバイスの各ポートでは以下のような組み合わせで VLAN のイーサネットフレームが流れるようになる。

サブネットの設定 GE0 GE1
1番ポート 2番ポート 3, 4番ポート
GE0のDHCP自動取得 Untagged (NAT)      
192.168.99.1/24
interface GE1.0
  Untagged    
192.168.120.1/24
interface BVI20
  Tagged VLAN222
(interface GE1.2 経由)
Untagged
(interface GE1:2.0 経由)
 
192.168.130.1/24
interface BVI30
  Tagged VLAN333
(interface GE1.3 経由)
  Untagged
(interface GE1:3.0 経由)

試しに、GE1 の 2番ポート に繋いだ PC (192.168.120.2) から、 GE1 の 1番ポート に繋いだ PC (192.168.99.2) に、 ping を打ってみた所を、 GE1 の 1番ポート に繋いだ PC 側でパケットキャプチャしてみる。

192.168.120.1/24 のサブネットで ARP のブロードキャストされたフレームが、送信元 PC に繋いだ NIC の MACアドレス (Buffalo_f0:1X:XX) より VLANID 222 のタグ付きで 1番ポート へ届いていることがわかる。

一方、 ICMP の通信はルーティングされた上で 192.168.99.2/24 のサブネットへ届いているため、 IXルーター の MACアドレス (NECPlatf_4f:XX:XX) よりタグなしで 1番ポート へ届いていることがわかる。

おわりに

上記の設定では、VLANグループ間でスイッチングはされないが、サブネット同士で自由にルーティングされる。このため、L3スイッチで VLAN を分割しただけの場合とは異なり、 VLAN 間でも IPレイヤー の通信は行われる。実運用で VLAN 間の通信を制限したい場合は、適宜フィルタなどを追加して使う事になるだろう。
また、パスワードが設定されていないので、実運用では設定しておこう。

以上のように、VLAN スイッチなどでは単純にできるような設定でも、ルーターで実現するにはまぁまぁ大変であることがわかると思う。

とはいえ、ブリッジなどを駆使すれば、このような複雑な構成であってもルーターだけで構成できるのが IXルーター の強みとも言える。

上記の例では使用しなかったが、 GigaEthernet1:2.3 のように、"ポートベース VLAN グループ番号" に "サブインタフェース番号" をつけることもできるため、ポートベース VLAN グループに割り当てたポートに VLAN タグがついたフレームを流すことも可能だ。 3

参考: NEC IX2207 の VLAN 設定備忘録 | hyt adversaria


  1. IX2000シリーズ取扱説明書 の 【3 基本操作と各種説明 → モードについて → インタフェース表示の意味】 あたりを参照 

  2. IX2000/IX3000 シリーズ 機能説明書 の【■2.9 ブリッジの設定】より 

  3. UNIVERGE IXシリーズ 設定事例集 の 【19.2 ポートベース VLAN とタグ VLAN の併用】 あたりを参照 

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください