2009年10月29日木曜日

VirtualServer2005でNAT(NAPT)でゲストを接続、理論編

VirtualServer2005の仮想NIC接続にはNATモードがない。
ここでいうNATモードは、とりあえずホストのIPでNAPT(Overload)し、外部接続を果たすという仕組みだ。
 

これが使えないということは、ゲストにIPアドレスを自由に振れない環境ではちと困る、そんな所でVS2005入れていいのかというのは置いといて。
で、そのNATモードをWindowsServerのRRASとLoopbackAdapterで疑似的にやってみようという試み。
構成を思いついて、ちょっと情報探してみて特に無かったので記事に。実は常識なのかもだが。。。
(追記:後で考えたら Hyper-Vでも同じ事ができそうだ)
 
 

VirtuaPC 2004/2007 でのNATモード


VirtualBoxとか、他の仮想化ソフトにもあるねNATモード。
外部との接続は下図のような感じになっている、大分はしょってはいるが概ねこんな感じだ。

[caption id="attachment_1527" align="alignnone" width="505" caption="画像:VirtualPC 2004/2007でのNAT接続のイメージ"]画像:VirtualPC 2004/2007でのNAT接続のイメージ[/caption]
 
この場合仮想に割り当てるIPはとりあえず気にしなくていい、内部の(これまた仮想)DHCPから適当に振られるから。
※ホストがゲストにIP経由でアクセスしたければ、LoopbackAdapterを追加するのがいい
 
 

VirtualServer2005でのよくある仮想NIC接続


VirtualServer2005になるとNATモードが無く、VirtualPCでも出来る下図のような接続形態になる。
[caption id="attachment_1528" align="alignnone" width="505" caption="画像:VirtualServer2005通常NIC接続のイメージ"]画像:VirtualServer2005通常NIC接続のイメージ[/caption]
 

これだと外部環境に接続するにはそのLANで有効なIPアドレスが必要だ。
DHCPサーバもない、IP勝手に振れない、またはグローバル環境だったりすると困るかな?困る。
 
「内部ネットワーク」っていう接続モードもあるが、外に出れない仮想スイッチにつながり、仮想PC同士が通信出来るだけで外部とつながるという目的は果たせない。
 
 




VirtualServer2005のための疑似NATモード


さて、本題の構成。
『疑似』としてるけど、至極真っ当にNAPTをやるので多分上手くいくと思うんだがなー
 

まずWindowsにもあるLoopBackAdapterをインストールする、やり方はMSサイトで。

 

そして標準で使えるルータ・ファイアウォール他のサービスRRAS(ルーティングとリモート アクセス サービス)をセットアップ。
 
 
したら下記のような環境が作れるはずなんだよね。
仮想PCが使うNICはホストでいうLoopBackAdapterになる、物理NICのほうは仮想にバインドしないので注意。
 

[caption id="attachment_1529" align="alignnone" width="505" caption="画像:RRASとLoopBackAdapterを使用した自前NAT"]画像:RRASとLoopBackAdapterを使用した自前NAT[/caption]
 

さて、これでIPやゲートウェイの設定を手動で入れてやれば、IPを複数貰うことなく仮想PCから外部に出ていけると思うんだが。。。
試せる環境が手持ちの資源で作れるようなら実践編へ続く