編集 私が投稿した最初のバージョンの手順は、VMware が vmnet8 に配置したネームサーバーとゲートウェイと競合しました。このバージョンでは問題が修正されています。
ソフトウェアのバージョン:
- MAC OS X バージョン 10.6.3
- VMware Fusion バージョン 3.1.0 (261058)
- Ubuntu 10.04 LTS
私がしたこと:
-
VM の作成中に、ネットワークを NAT に設定します。
-
Linux ゲストの場合: ifconfig を実行して、ハードウェア アドレス
HWaddr
を取得します。 、ブロードキャスト アドレスBcast
、IPv4 インターネットアドレスinet addr
、マスクMask
UbuntuGuest$ifconfig eth0 Link encap:Ethernet HWaddr 00:0c:29:53:bf:e5 inet addr:192.168.213.129 Bcast:192.168.213.255 Mask:255.255.255.0 <snip>
-
Linux ゲストの場合: ネームサーバー情報を検索する
UbuntuGuest$cat /etc/resolv.conf nameserver 192.168.213.2 domain localdomain search localdomain
-
Linux ゲストの場合: ゲートウェイ アドレスを検索します。
UbuntuGuest$route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.213.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 192.168.213.2 0.0.0.0 UG 100 0 0 eth0
-
OS X ホストの場合:
dhcpd.conf
を編集しますvmnet8
のファイル (NAT 仮想スイッチ) を使用して、静的 IP アドレスを Linux ゲストに割り当てます。 (4 行目で任意のエディターを使用してください)OSXHost$cd /Library/Application\ Support/VMware\ Fusion/vmnet8/ OSXHost$sudo chmod u+w dhcpd.conf OSXHost$sudo cp dhcpd.conf dhcpd.conf.bak.20100619 OSXHost$sudo emacs dhcpd.conf
-
OS X ホストの場合: ファイルは次のように始まります:
# Configuration file for ISC 2.0 vmnet-dhcpd operating on vmnet8. # # This file was automatically generated by the VMware configuration program. # See Instructions below if you want to modify it. # # We set domain-name-servers to make some DHCP clients happy # (dhclient as configured in SuSE, TurboLinux, etc.). # We also supply a domain name to make pump (Red Hat 6.x) happy. # ###### VMNET DHCP Configuration. Start of "DO NOT MODIFY SECTION" ##### # Modification Instructions: This section of the configuration file contains # information generated by the configuration program. Do not modify this # section. # You are free to modify everything else. Also, this section must start # on a new line # This file will get backed up with a different name in the same directory # if this section is edited and you try to configure DHCP again. # Written at: 12/26/2009 10:35:10 allow unknown-clients; default-lease-time 1800; # default is 30 minutes max-lease-time 7200; # default is 2 hours subnet 192.168.213.0 netmask 255.255.255.0 { range 192.168.213.128 192.168.213.254; option broadcast-address 192.168.213.255; option domain-name-servers 192.168.213.2; option domain-name localdomain; default-lease-time 1800; # default is 30 minutes max-lease-time 7200; # default is 2 hours option routers 192.168.213.2; } host vmnet8 { hardware ethernet 00:50:56:C0:00:08; fixed-address 192.168.213.1; option domain-name-servers 0.0.0.0; option domain-name ""; option routers 0.0.0.0; } ####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######
注意事項:
-
subnet
セクションは、Linux ゲストで収集された IP 情報と一致する必要があります。inet addr
range
以内になります 、netmask
Mask
に一致します 、option broadcast-address
Bcast
に一致します 、option domain-name-servers
とoption domain-name
cat /etc/resolv.conf
で収集された情報と一致します とoption routers
Gateway
に一致しますroute -n
から コマンド。 -
OS X ホストの
hosts
にエントリを追加できるように、静的 IP アドレスを割り当てたいと考えています。 ファイル。アドレスはsubnet
以内でなければなりません 定義されています。割り当てられないアドレスは、range
内のものです。 サブネット セクションでは、ブロードキャスト アドレス、fixed-address
host vmnet8
の場合 、DNS サーバー、およびゲートウェイ。また、サブネットに等しいアドレスは許可されていないと思います。この例では、サブネットは192.168.213.0
です したがって、利用可能な宛先は192.168.213.1 to 192.168.213.255
からです 以下192.168.213.128 to 192.168.213.245
(範囲)192.168.213.255
未満 (ブロードキャスト)192.168.213.1
未満 (ホスト vmnet8)192.168.213.2
未満 (ゲートウェイと DNS サーバー)。ネットは192.168.213.3 to 192.168.213.127
に対応しています 利用可能です。
-
OS X ホストの場合: 新しい
host
を作成します DO NOT MODIFY SECTION の下のエントリ .このエントリは、静的 IP を Linux ゲストに割り当てます。hardware ethernet
HWaddr
に一致する必要がありますifconfig
から Linux ゲストで。fixed-address
の利用可能な静的アドレスを選択してください .option broadcast-address
、option domain-name-servers
、option domain-name
とoption routers
subnet
で指定されたオプションと一致する必要がありますdhcpd.conf
のセクション . (Linux ゲストで収集された情報と照合済みです。) この例では、ホスト エントリは次のとおりです。####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" ####### host serpents-hold { hardware ethernet 00:0c:29:53:bf:e5; fixed-address 192.168.213.3; option broadcast-address 192.168.213.255; option domain-name-servers 192.168.213.2; option domain-name localdomain; option routers 192.168.213.2; }
-
OS X ホスト上
dhcpd.conf
を保存 エディターを閉じます。 -
OS X ホストとすべてのゲストの場合: すべての VM と VMware をシャットダウンします。
-
OS X ホストの場合: VMware サービスを再起動します:
OSXHost$cd /Library/Application\ Support/VMware\ Fusion/ OSXHost$sudo ./boot.sh --restart
-
OS X ホストの場合:
Activity Monitor
を見てくださいvmnet-dhcpd
という名前の 2 つのプロセスがあることを確認します。 走っている。 (1 つはvmnet8
用です 、NAT ネットワーク、もう 1 つはホスト オンリー ネットワーク用です。) 両方が表示されない場合は、おそらくvmnet8/dhcpd.conf
に問題があります。 OS X ホスト上のファイル。それを修正して、VMware サービスの再起動を繰り返してください。 -
OS X ホストの場合: VMware と Linux ゲスト VM を起動します。
-
Linux ゲストの場合 ゲスト VM で、設定が期待どおりであることを確認します:
UbuntuGuest$ifconfig eth0 Link encap:Ethernet HWaddr 00:0c:29:53:bf:e5 inet addr:192.168.213.3 Bcast:192.168.213.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe53:bfe5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:103 errors:0 dropped:0 overruns:0 frame:0 TX packets:71 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:10961 (10.9 KB) TX bytes:9637 (9.6 KB) lo <snip> UbuntuGuest$cat /etc/resolv.conf nameserver 192.168.213.2 domain localdomain search localdomain UbuntuGuest$route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.213.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 0.0.0.0 192.168.213.2 0.0.0.0 UG 100 0 0 eth0 UbuntuGuest$
-
Linux ゲストの場合: 外の世界に到達できることを確認してください:
UbuntuGuest$ping google.com PING google.com (72.14.213.104) 56(84) bytes of data. 64 bytes from pv-in-f104.1e100.net (72.14.213.104): icmp_seq=1 ttl=128 time=47.6 ms 64 bytes from 2.bp.blogspot.com (72.14.213.104): icmp_seq=2 ttl=128 time=48.7 ms 64 bytes from 2.bp.blogspot.com (72.14.213.104): icmp_seq=3 ttl=128 time=48.2 ms ^C --- google.com ping statistics --- 4 packets transmitted, 3 received, 25% packet loss, time 3093ms rtt min/avg/max/mdev = 47.687/48.223/48.714/0.491 ms UbuntuGuest$
-
OS X ホストの場合: ホスト名のマッピングを
hosts
に追加します ファイル:OSXHost$cd /etc OSXHost$sudo emacs hosts
上記で割り当てた Linux ゲストのホスト名と IP アドレスを使用して、hosts ファイルの末尾に行を追加します。
192.168.213.2 serpents-hold
-
OS X ホストの場合: ファイルを保存して emacs を終了します。
-
OS X ホストの場合: Linux ゲストがホスト名で到達可能であることをテストします:
OSXHost$ping serpents-hold PING serpents-hold (192.168.213.3): 56 data bytes 64 bytes from 192.168.213.3: icmp_seq=0 ttl=64 time=0.169 ms 64 bytes from 192.168.213.3: icmp_seq=1 ttl=64 time=0.244 ms ^C --- serpents-hold ping statistics --- 2 packets transmitted, 2 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 0.169/0.207/0.244/0.037 ms OSXHost$
元の質問に対するワンステップの答えは、次のコマンドを実行することです:
<ブロック引用>$ sudo apt-get install libnss-mdns
このパッケージをインストールすると、機能がすぐに有効になります。その後、your-vm-hostname.local
で VM にアクセスできます .これは、VM のローカル ネットワーク内でのみ機能します。これは、仮想化ソフトウェアでの構成方法によって異なります。
この機能は、Apple では Bonjour と呼ばれ、他の人では Zeroconf と呼ばれています。 OS X と iOS に組み込まれています。 Windows で入手する最も簡単な方法は、iTunes for Windows をインストールすることです。
Avahi を使用して zeroconf を構成できます。これにより、クライアントは DNS 登録なしでネットワーク上で自分自身を識別できるようになります。