2009年10月30日金曜日

VirtualServer2005でNAT(NAPT)でゲストを接続、理論を(Hyper-Vで)実践編

前回の理論編で展開したVirtualServer2005でのゲストNAT(NAPT)接続について、どうせ全く同じことなのでWindowsServer2008R2+Hyper-Vの環境でやってみた。
まあ、WindowsServer2003+VirtualServer2005での環境がちょっとすぐに用意できなかったからともいう。
 
ちなみに用語がめんどくさいので、以降親パーティション=ホスト、仮想はゲストで。
 
 

要点をさっとおさらい


実践編はほぼ作業手順になっちゃうので要点だけおさらい。

  1. ホストにLoopBackAdapterを追加、ゲストとはそれで接続しローカルネットワークを形成

  2.  
  3. ホストにRRASをインストール、ルータとしてセットアップ

  4.  
  5. 物理NICを外部用、LoopBackを内部用にルーティング+NAPTで完成

  6.  

 

ではやってしまおう。
 
 

ホストの準備


RRASをインストールする、役割追加の「ネットワークポリシーとアクセスサービス」から。
 
[caption id="attachment_1531" align="alignnone" width="540" caption="画像:RRASの役割追加"]画像:RRASの役割追加[/caption]
 
 

LoopBackAdapterをインストールする、2003ならハードウェア追加と削除、2008はデバイスマネージャの「操作」からレガシハードウェアの追加(※PCを選んでないと出てこない)をする。
 
[caption id="attachment_1532" align="alignnone" width="540" caption="画像:LoopBackAdapter追加"]画像:LoopBackAdapter追加[/caption]
 

追加できたらIPアドレスを振っておく、あくまでプライベートネットワーク用なので、外用とサブネットが被らないように。
 
[caption id="attachment_1533" align="alignnone" width="400" caption="画像:内部ネットワークのゲートウェイ"]画像:内部ネットワークのゲートウェイ[/caption]
 
 



ゲストが使うネットワークの設定


Hyper-V管理から、LoopBackAdapterを外部ネットワークとして構成する。
※これはVirtualServer2005でも出来るように合わせているだけで、Hyper-Vなら多分LoopBackの代わりは最初からついておりそちらを使ってもOK。
 
[caption id="attachment_1534" align="alignnone" width="300" caption="画像:仮想ネットワーク追加"]画像:仮想ネットワーク追加[/caption]
 


じゃあゲストにさっきのLoopBackをあてがおう。
 
[caption id="attachment_1535" align="alignnone" width="300" caption="画像:ゲストが使うNIC選択"]画像:ゲストが使うNIC選択[/caption]
 

ゲストの準備はこれでいいので、起動しておこう。
 
 


ゲスト⇔ホスト間の疎通を確認する


ゲストを起動し、ホストでLoopBackに当てたサブネットで適当なIPアドレスを振り、通信できるか試してみる。
 

PINGを打ったらFireWall切リ忘れで応答無かったので、telnet80 で疎通確認、OK。
 
[caption id="attachment_1536" align="alignnone" width="300" caption="画像:内部疎通確認"]画像:内部疎通確認[/caption]
 


では外部にPingが飛ばないことを確認しておく、現段階ではwww.google.comにpingを送ることが出来ない。
 
[caption id="attachment_1537" align="alignnone" width="300" caption="画像:届かないPING"]画像:届かないPING[/caption]
 


あとはマスカレードするだけだ。
 
 

RRASにNAPT付きルータのセットアップ


ホストに戻ってルーティング。
ウィザードで超簡単、2003だとどうだったかな?ウィザード無くても簡単には違いないが。
 


まずNATをえらんで、
 
[caption id="attachment_1538" align="alignnone" width="588" caption="画像:RRASその1"]画像:RRASその1[/caption]
 



最初にインターネットにつながっている側のインターフェイスを選択する。
LoopBackじゃないほうね。
 
[caption id="attachment_1539" align="alignnone" width="588" caption="画像:RRASその2"]画像:RRASその2[/caption]
 


次に内部のネットワークに接続されたインターフェイス、ここではもちろんLoopbackを選択と。
 
[caption id="attachment_1540" align="alignnone" width="588" caption="画像:RRASその3"]画像:RRASその3[/caption]
 


そのあと内部的にDHCPを有効にするか聞かれる。正直どっちでもいいがDHCPのほうがちょっと楽かな。。
 
[caption id="attachment_1541" align="alignnone" width="588" caption="画像:RRASその4"]画像:RRASその4[/caption]
 


以上でRRASがルータになった、ちょっと見てみよう。
 
[caption id="attachment_1542" align="alignnone" width="300" caption="画像:RRASセットアップ完了"]画像:RRASセットアップ完了[/caption]
 
まあ状況が判るくらいだけど。
 
 


ゲストよNATで出て行こう


さあ、仮設DHCPを有効にしたので、早速ゲストからrenew、DHCP discover だ。
 
[caption id="attachment_1543" align="alignnone" width="300" caption="写真:ゲストにIPアドレス自動付与"]写真:ゲストにIPアドレス自動付与[/caption]
 
IPもらえたー、これはまさにVirtulaPCでやるときのNATモード
 
 

ではGoogleにPING、
 
[caption id="attachment_1544" align="alignnone" width="300" caption="画像:届くPING"]画像:届くPING[/caption]
 
OK.
 

ちなみにデフォだと名前解決できなかったな、FireWallかなあ。
面倒なのでDNSだけ手動で入力。
 

で、WEBへ。
 
[caption id="attachment_1545" align="alignnone" width="480" caption="画像:幾重ものWindowに囲まれ、WEB表示"]画像:幾重ものWindowに囲まれ、WEB表示[/caption]
 
 

はいお粗末さまでしたー
 
 



おわりに


RRASはServer向けのWindowsにしかついてないかと思いきや、ちゃんとクライアントのXPやらにも付いている。
ただGUIがなくて、netshで頑張って設定しなきゃならないみたいだが。。
 
 


さてこれでIPが一個ありゃゲストの面倒はなんとかなるというのが確認できた。
ポートフォワードも出来るのでサーバとしての役割もバッチリ。
 

で、それだけでなく、グローバルIPの付与はホストに全部やって必要ポートだけゲストに渡す、という考え方もあるんだよね。
IPフィルタの一元管理、トラフィックのモニタリングと結構使いでがあったり。
 
 


この記事ではHyper-Vでやっちゃったけど、構成を理解すればVirtualServer2005でも同じことが出来るはずなので是非やってみよう。