TechReport

技術者情報

ソリューション

2015年8月19日(水)公開

第183回

仮想ネットワークNVGREとWNVManagerの紹介

NVGREを使って簡単に仮想化ネットワークを構築

今回はWindows Server 2012 R2のHyper-Vで構成可能なネットワークの仮想化の一つ、NVGREの解説と、NVGREを使って簡単に仮想化ネットワークを構築するためのツール「WNVManager」をご紹介します。

記事INDEX

ネットワークの仮想化とは

 「ネットワーク 仮想化」というキーワードで調べてみると、いろいろな解説や定義が出てきます。その中に「ズバリこれ!」というものが見当たらなかったため、独断的になってしまいますが、SDN(Software-Defined Ntwork)の考え方の一つである、「ハードウェアに依存せず、ソフトウェアでネットワークを構成する考え方」という定義でお話ししたいと思います。



「ネットワークの仮想化」を構成する実装形態としては、


・NVGRE (Network Virtualization using Generic Routing Encapsulation)


・IP Rewrite


・VXLAN(Virtual eXtensible Local Area Network)


・STT (Stateless Transport Tunneling Protocol)


・OpenFlow


なとがあります。

ネットワークの仮想化の利点

 ネットワークの仮想化の利点の一つとしては、ネットワーク分離の簡略化が上げられます。例えば社内でいくつかのネットワークセグメントを構成してネットワークを分離する場合、これまではVLAN方式でスイッチングハブにVLANの設定を行い、それぞれのネットワークに割り振られたVLANIDを元にハードウェアにネットワークの通信を振り分けて分離するといったものでした。これには、ハードウェアの設定を行ったり、MACアドレスの管理などネットワーク管理者の作業が必要でしたが、「ネットワークの仮想化」の考え方によって、これらの煩雑な作業をソフトウェア設定だけで完了することができるようになります。


サービス提供者に対しても大きな利点があります。サーバー内、もしくは複数のサーバー間でIaaSとして仮想マシンのホスティングサービスを行う場合に、ユーザーごとに完全に独立したプライベートネットワークを簡単に提供することができるようになります。ユーザーごとに自由にIPアドレスを割り当てることも、サブネットを構成することも可能となります。



システム開発においても恩恵を受けることができます。テスト・開発環境を完全に切り離したネットワーク内で構築し、いざ本番となった場合、ソフトウェア的な変更のみですぐにサービスインすることが可能となります。これとは反対に、メンテナンスなど一時的にネットワークから切り離したい場合も、同様のオペレーションでメンテナンスモード、本番モードの切り替えができるのです。また、完全に独立したn階層アプリケーションの構築も可能です。



仮想ネットワークを用いることで、ネットワーク管理者の手を煩わせることもハードウェアなど大掛かりな設備投資もすることなく、最短の時間と最少のオペレーションで実現することができるのです。


NVGREとは

 Windows Server 2012 R2のHyper-Vでは、NVGREとIP Rewrite がサポートされています。今回ご紹介する「WNVManager」はNVGREに特化したツールとなっています。NVGREを用いることで、Windows Server間、Hyper-V サーバー間では、一つ物理ネットワークで複数の仮想ネットワークを構築することが可能となります。NVGREの仕組みは簡単に言うと、一つの物理ネット―ワーク内でそれぞれの仮想ネットワークの通信内容をカプセル化して、他の仮想ネットワークの通信内容と混在しないようにする方法です。サーバーとサーバーの間は、仮想ネットワークごとにトンネルが構築された状態で通信されています。Hyper-V自体が各仮想ネットワークのルーティングテーブルを持つ仕様となっており、特にネットワークコントローラーなどを配置する必要はありません。

NVGREの設定方法

 現在提供されているNVGREの設定方法は、Windows Server 2012 R2では3つあります。



1:PowerShellコマンドレッドによる方法


2:System Center Virtual Machine Manager(SCVMM)による方法


3:Windows Management Instrumentation(WMI)による方法




どの方法でもNVGREを設定するということに関しては可能なのですが、それぞれ一長一短があります。


PowerShellコマンドレッドはコマンドベースのインターフェース(CUI)のみなので、直感的な操作や現在の利用状況を分かりやすく表示するといった場面では少々使いづらい部分があり、NVGREを理解した熟練者向きの仕様となっています。



SCVMMはGUIベースでNVGREの設定が可能となっており、使いやすさでは問題ない仕様ですが、System Center自体の導入コストが高価なこともあり、簡単・手軽に利用するといった面では、なかなか敷居の高いものとなっています。



WMIはVisualStudioを使用した本格的なシステム開発者向けのAPIとなっており、サーバー管理者にはドキュメントやサンプルが少なくなかなか手を出しにくいものとなっています。

WNVManagerとは

 これらを踏まえ、手軽で簡単にNVGREを利用するためのツールとして、WNVManagerをご紹介しましょう。このツールは単体でNVGREを設定することが可能となっており、SCVMMなどミドルウェアは不要です。中小規模のHyper-V環境で利用するために最適化してありますので、NVGREを実際に設定して勉強してみたいなど、検証用ツールとしてもすぐにご利用いただけます。



PowerShellコマンドレットとは異なりGUIベースで直感的にわかりやすく、NVGREの設定はウィザード形式で行う仕様です。設定した内容もGUIで視覚化することで、一目で現状の設定状況を把握することが可能です。設定したNVGREの構成は、保存、読み込みが可能なので、何度でも簡単に再構築することができます。こちらのツールはHyper-Vコミュニティー「InvokeV」で無償ダウンロードすることこができます。



では、実際にWNVManagerの使い方を見てみましょう。


今回は2台のHyper-Vホスト間に作成した仮想マシンに対し、NVGREの設定を行い、Pingの疎通確認をして実際に仮想ネットワークが構成されたかを確認してみます。



一台のHyper-Vのホストマシン上にWNVManagerをダウンロードしておきます。



前提条件

Hyper-Vホスト 2012R2(ドメイン参加済み)


winsvr0019 172.10.10.119"
winsvr0020 172.10.10.120"


仮想マシン(VM)



RED1 192.168.5.191 255.255.255.0 (winsvr0019)
BLUE1 192.168.5.192 255.255.255.0 (winsvr0019)
RED2 192.168.5.201 255.255.255.0 (winsvr0020)
BLUE2 192.168.5.202 255.255.255.0 (winsvr0020)


注意

今回はGWの設定はありません。


SCVMMがインストールされている環境ではエラーが出る場合があります。



WNVManager.exeを管理者権限で起動します。


何も設定していない状態の初期画面です。



まずはNVGREで使用するサーバーを登録します。
「ServerList」ボタンを押してサーバー名とIPを登録します。


次にNVGREを設定するVMを登録します。「SetWiz」ボタンを押します。


ウィザード画面が起動するので、先ほど登録したサーバー一覧から、一つを選択して、
「Select」ボタンを押します。


Hyper-V上のVM一覧が表示されるので、該当VMを選択して「Select」ボタンを押します。


NVGREを設定するネットワークアダプタを選択して、「Select」ボタンを押します。


続いて、NVGREを設定する他のVMを登録するときは、「はい」を選択して、同様にVMを追加します。


VMの選択が完了したら、NVGREで仕様するIPAddressの範囲を設定します。
ドロップダウンボックスから選択するか、直接入力します。


次にNVGREのグループ名を決めます。こればVirtualSubnetIDに該当するもので、任意のグループ名を入力します。(GroupListボタンで編集可能)


「Set」ボタンを押して設定を完了します。


Top画面でVMが追加されています。


この状態で、RED1とRED2双方向にPingが通る状態です。(ファイヤーウォールでPingを許可しておきます)


同様にBLUE1、BLUE2も登録します。この時「GroupName」を別のグループ名にすることを忘れずに!


このように、4台のVMが登録されました。


「Detail」ボタンを押すと、詳細設定内容が確認できます。


同様の設定内容をPowerShellからも確認できます。


「TreeView」ボタンでグループごとの表示と、サーバーごとの表示に切り替え可能です。


TreeViewのアイコンを右クリックで、登録情報を削除することができます。
詳細表示時にデータグリッドのレコードを選択してDeleteキーでも削除可能です。


「SaveConfig」ボタンは現在の設定を保存します。「LoadConfig」ボタンは保存した設定を復元します。「DelConfig」は設定内容を削除します。

このように「WNVManager」はGUIで簡単にNVGREを構成することができるツールです。



まずNVGREを勉強してみたい、検証してみたいという方にはぴったりのツールとなっていますので、是非ダウンロードして、実際にNVGREの便利さを体験してみてください。




InvokeV
Open Source & Open Community for Hyper-V

*本文中に記載されている会社名および商品名・サービス名は、各社の商標 または登録商標です。

樋口 勝一

GMOインターネット株式会社

1999年6月GMOインターネットに入社。Windowsを用いたホスティング事業の立ち上げの際、サービス開発からその後の保守・運用まで1人で担当。2010年には「お名前.comWindowsデスクトップ」をリリースし、マイクロソフト社と強い信頼関係を構築。2007年から連続で「マイクロソフトMVPアワード」を受賞し、Windowsのスペシャリストとして活躍。

執筆者一覧