NVGRE
- どれだけの仮想ネットワークがあるのか
- どの仮想マシンがどのHyper-Vホスト上に存在しているのか
VMネットワークのルーティングに関して
VMネットワークのルーティングに関しては以下の形態があります。
- VMネットワーク内のサブネット間は自由にルーティング可能。”.1″のアドレスがゲートウェイとなる。
- VMネットワークをまたぐルーティング
-
- フォワーディング
-
- 単純にカプセル化する/ほどくによってルーティングする。VMネットワークと物理ネットワークが接続できる。
- VPN
-
- Site-to-Site
-
- サイトとサイトをVPNで結ぶことによってルーティングする。VMネットワーク上と物理ネットワーク上の両方にゲートウェイが必要となる。
- Remote Access(Point-to-Site)
-
- VMネットワークに対して1台のコンピューターからVPN接続をする。この時必要なゲートウェイはVMネットワーク側のみ。
- NAT/Load balancing
-
- プライベートネットワークからグローバルのネットワークへのアクセスと同じように、物理ネットワークとVMネットワーク間でNATする方式。1つの外部アドレスをVMネットワーク上の全てのVMで共有する形も、1つの外部アドレスに対して1つのVMを1対1でマッピングする形も、どちらも可能。
- フォワーディング
- Site-to-Site VPN
- NAT
- VMネットワーク毎にゲートウェイのIPアドレスを1つ使用
- ゲートウェイは独自のVirtual Subnetに配置する必要あり
- 同一のHyper-Vホストに複数のゲートウェイを配置可能だが、ゲートウェイを配置するホストにはゲートウェイ以外のVMを配置できない
設定画面
NAT
NVGRE Gatewayの構築
NVGRE Gatewayの構築は通常SCVMMのウィザードで実施します。その際にキーとなるのは「connection string」です。以下、いくつかのサンプルです。
パケットの流れ
パケットの流れを表すPPTが以下のサイトからダウンロード可能です。
パブリックIPアドレスの必要数
上記の記事がかなり良い感じでまとまっています。上記の記事によるとWAP+NVGREの環境と実際の物理環境とでの通信の方法には主に5つの方法があると紹介されています。
There are four common ways an organization will allow access from the Hyper-V Networked Virtualization environment within WAP out to the physical world. These are:
- Using a S2S IPSec Gateway
- Connecting via an MPLS Network (or equivalent)
- Offering Access via NAT
- Giving the VM a public IP address
- Remote Access VPN
以下、参照サイトから図を引用させてもらいながら簡単にまとめます。
IPSec Gatewayを使って接続する方法
上記がサイトとサイトをIPSec VPNで接続する形態ですね。Azure IaaSとのVPN接続と同じイメージなのでわかりやすいですね。この場合、インターネット経由を想定してるのでNVGREのゲートウェイにはパブリックIPが必要となります。
MPLS(その他同等のもの)を使って接続する方法
両方のネットワークに足を出してルーティングを有効にすればルーティングできるという当たり前の事がVNGREと実際のネットワークの間でも普通に構成可能であるという理解で良いと思います。
NAT経由でのアクセス
外部のNATデバイス経由でインターネットにアクセスさせる方法です。元ブログでは「仮想ネットワーク毎にNATの構成が必要で、仮想ネットワーク毎にパブリックIPアドレスが必要になる」と書かれています。NVGREゲートウェイはNATゲートウェイを使用するモードで構成されています。
VMにパブリックIPを割り当てる
構築手順(S2S/NAT)
VMネットワークに複数のパブリックIPを紐付ける方法
NVGREの外部アドレスをプライベートIPアドレスで構成するパターン
上記のようにNVGREゲートウェイの外部アドレスとしてプライベートIPアドレスを構成し、NATによって内外を接続する方式もきちんと動作した、という動作報告が以下のフォーラムにあがっています。
企業内での利用に関してはこのような接続形態が便利な気がしますね。プライベートIPでもグローバルIPでも動作は基本的に同じなので出来て当たり前なのですが、どこにも明示的に書かれていないのでこのパターンができるのかどうかちょっと不安におもっていましたが、動作したという内容を見つけて安心しました。
参考
- Software Defined Networking – Hybrid Clouds using Hyper-V Network Virtualization (Part 1) – Building Clouds Blog – Site Home – TechNet Blogs
- Software Defined Networking – Hybrid Clouds using Hyper-V Network Virtualization (Part 2) – Building Clouds Blog – Site Home – TechNet Blogs
- Software Defined Networking – Hybrid Clouds using Hyper-V Network Virtualization (Part 3) – Building Clouds Blog – Site Home – TechNet Blogs
- Success with Hybrid Cloud: Getting Deep – Hybrid Networking – In the Cloud – Site Home – TechNet Blogs
- Azure Pack / SCVMM NAT Rule Port Ranges – System Center Central
- Solving the cloud puzzles | Windows Azure Pack – Adding multiple public IP addresses
- Download Hyper-V Network Virtualization Packet Flow from Official Microsoft Download Center
- Public IP Address Requirements within a Windows Azure Pack environment – Building Clouds Blog – Site Home – TechNet Blogs
- Enable the forwarding function on Windows Server Gateway: a use case study – Microsoft Enterprise Networking Team – Site Home – TechNet Blogs
- Multiple external IP Address support per virtual network in WAP with HNV Gateway – Customer Feedback for Microsoft Azure
- NVGRE with NAT
Leave a Reply