VMwareServer2.5+CentOS5.5でNAT接続を行う

仕事でローカルにVMwareServerをインストールしてテスト環境を作ろうとしたら、意外に手こずったのでメモ。
下記のようなことを実現したかった。

  • VMwareServerで作成した仮想マシン上のWebサーバにローカルからアクセスしたい
  • 固定のローカルIPを使いたいので、仮想マシンからのブリッジ接続を行わない(社内はDHCPの割り当てのみ)
  • でも調べた資料とかをコピペしたいので仮想マシンから外部に接続したい

そんなわけで少し調べてやってみた設定を書きます。

ホストマシンの設定(Windows7)

VMwareServerの設定
  1. 管理画面→Inventoryで対象のマシンを選択
  2. Summary→Hardware→Network Adapter 1→Edit→Network ConnectionをNATに変更
ネットワークの設定
  1. コントロールパネル→ネットワークと共有センター→ローカルエリア接続→プロパティ→共有タブを選択
  2. 『ネットワークのほかのユーザーに、このコンピュータのインターネット接続をとおしての接続を許可する(N)』にチェックを入れる
  3. ホームネットワーク接続でVMware Network Adapter VMnet8を選択する
  4. VMware Network Adapter VMnet8のIPアドレスが設定されるので記録する*1

仮想マシンの設定(CentOS5.5)

ネットワークの設定
  • /etc/resolv.confの編集
search localdomain       
nameserver 192.168.137.1  # VMnet8のIPアドレスを指定

例は今回VMnet8に割り当てられたIPアドレスです。
下記の例もそれに則って記述します。

  • /etc/sysconfig/network-scripts/ifcfg-eth0の編集
DEVICE=eth0
BOOTPROTO=static          # DHCPを使用しないよう設定
HWADDR=**::**:**:**:**
ONBOOT=yes
IPADDR=192.168.137.101    # 任意のIPアドレスを指定
NETMASK=255.255.255.0
NETWORK=192.168.137.0     # ネットワークアドレスを指定
GATEWAY=192.168.137.1     # デフォルトゲートウェイ=VMnet8のIPを指定
BROADCAST=192.168.137.255 # ブロードキャストアドレスを指定
PEERDNS=no                # DNSを手動設定するために指定
  • 設定の適用
# ifdown eth0
# ifup eth0

設定したらifconfigでIPアドレスがちゃんと取得できている事を確認します(例では192.168.137.101になります)

外部接続の確認

nslookupコマンドで名前解決できればOKです。

# nslookup www.yahoo.co.jp
Server:         192.168.137.1
Address:        192.168.137.1#53

Non-authoritative answer:
www.yahoo.co.jp canonical name = www.ya.gl.yahoo.co.jp.
Name:   www.ya.gl.yahoo.co.jp
Address: 124.83.139.191

*1:仮想マシンDNS設定で使用します