[L2スイッチ+VLAN]ネットワーク仮想化入門 開発環境への仮想化導入ガイド

この記事を読むのに必要な時間:およそ 5.5 分

パケットをキャプチャできるようにする

管理用PCにはWiresharkを入れて,ネットワークをキャプチャできるようにしておきましょう。タグ付きハブにはすべてのVLANのブロードキャストが流れてくるので,これを見るだけでもネットワークの様子がかなりわかります。

初期設定だとVLANの様子がわかりにくいので設定を変更します。メニューの[Edit/Preferences...]から[User Interfaces/Columns]を開きます。⁠Add]でコラムを増やし,⁠Format]「802.1Q VLAN id」を選択すると,キャプチャ結果にVLANが表示されるようになります図12⁠。

フィルタのルールとして「vlan」と入力すると,タグ付きのパケットだけが表示されます。⁠vlan.id==番号」とすると,特定のVLANだけに絞り込めます。

試しにL2スイッチの設定で,Client NetworkをVLAN 100に設定し,ブロードキャストアドレスでpingを打ってみてください(ping 192.168.0.255など⁠⁠。管理用NICをキャプチャして,タグ付きのpingが届いているようであれば設定に成功しています注5⁠。

図12 WiresharkでVLANを表示する

図12 WiresharkでVLANを表示する

注5)
最近のNICは大抵VLANタグに対応していますが,OSがWindowsの場合,ドライバレベルでタグを外してしまって,キャプチャしても見えないことがあります。これを回避するにはレジストリでの変更が必要となります。詳しくはNICのマニュアルや,Wiresharkのドキュメントなどを参考にしてください。
⁠URL】http://wiki.wireshark.org/CaptureSetup/

ルータを仮想化する

仮想マシンを各VLANに接続する方法については先述の特集記事で取り上げました。今回は,VLAN間を結び付けるルータまで仮想化する方法を紹介して終わりにします。

ルータには接続するネットワークの数だけNICが必要となります。仮想マシンの場合,必要な数だけ仮想NICを作成するのも一つの手ですが,VLANタグをそのまま渡す方法もあります。

VMware ESXiでは,ネットワークのVLANとして4095を指定すると,ホスト機で受け取ったVLANタグがそのままゲストOSにまで渡るようになります。Linuxであれば,vconfigコマンドでVLANインタフェースを作成することにより,タグVLANを活用したルーティングが可能となります。

参考までに,Ubuntu ServerをVLAN間ルータにする設定をリスト1に示します。eth0はVLAN 4095としてVLANタグを受け取るようにしておき,eth1はストレージネットワークへと接続します。

リスト1 VLAN間ルーティングの設定

・/etc/network/interfacesでの設定
# Management Network (VLAN 1 = no tag)
auto eth0
iface eth0 inet static
address 192.168.254.254
network 255.255.255.0
# Storage Network (no tag)
iface eth1 inet static
address 192.168.253.254
netmask 255.255.255.0
# Client Network (VLAN 100)
auto eth0.100
iface eth0.100 inet static
address 192.168.0.254
netmask 255.255.255.0
gateway 192.168.0.1
vlan-raw-device eth0
# Server Network (VLAN 101)
auto eth0.101
iface eth0.101 inet static
address 192.168.1.254
netmask 255.255.255.0
vlan-raw-device eth0
# Backend Network (VLAN 201)
auto eth0.201
iface eth0.201 inet static
address 172.16.0.254
netmask 255.255.255.0
vlan-raw-device eth0

・/etc/sysctl.confでの設定
# ルーティングを有効にする
net.ipv4.ip_forward=1

最後に

ここまで設定できれば,あとは通常のネットワークと変わりありません。DHCPサーバやDNSサーバ,デフォルトゲートウェイなどを設定していけばネットワーク仮想化の完成です。

管理用PCからであれば,VLANやルータの設定をどのように変更しても,必ず仮想化機器にアクセスできるので安心できます。VLAN 1にはVPN経由でもアクセスできるようにしておくと,遠隔地からでも設定変更が行えるようになって便利です。

L2スイッチの設定は,慣れないうちは何かと戸惑いますが,本記事で紹介したように設定をパターン化してしまえば混乱もなくなります。図9に描いた標準系を基本として,性能が必要なところでは経路を分離したり,信頼性が必要なところでは冗長化を行うことで,ネットワークごとのニーズにも対応できるでしょう。本記事が皆さんのネットワーク設計の参考になりましたら幸いです。

著者プロフィール

西田圭介(にしだけいすけ)

COBOLコンパイラからVPNサーバ,ドライバ開発からWebアプリまで,必要とあらば何でも手掛けるフリーエンジニア。IPAの平成14年度未踏ユースにおけるスーパークリエータ。

バックナンバー

仮想化