Адрес гостевой системы VMWare Fusion Linux по имени хоста?

У меня есть образ Ubuntu Server 9.04, настроенный в VMWare Fusion 3.0.0, с использованием опции NAT для сетевого подключения гостя. От хоста Mac я могу ssh к гостю linux просто отлично, используя его IP-адрес, но я хотел бы иметь возможность ссылаться на него по имени узла для удобства. то есть:

mac-host:~ ssh [email protected] 

У меня была аналогичная установка с использованием Parallels пару лет назад, но я не помню, как она была настроена. Возможно, это «просто сработало».

Любое предложение о том, как сделать эту работу?

EDIT Первая версия инструкций, которые я отправил, вызвала конфликты с сервером имен и шлюзом, которые VMware установила на vmnet8. Эта версия исправляет проблему.

Версия программного обеспечения:

  • MAC OS X Версия 10.6.3
  • Версия VMware Fusion 3.1.0 (261058)
  • Ubuntu 10.04 LTS

Что я наделал:

  • Во время создания виртуальной машины настройте сеть на NAT.

  • On Linux Guest: запустите ifconfig, чтобы получить аппаратный адрес HWaddr , широковещательный адрес Bcast , IPv4-адрес интернет- Bcast 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> 
  • On Linux Guest: найдите информацию о сервере имен

     UbuntuGuest$cat /etc/resolv.conf nameserver 192.168.213.2 domain localdomain search localdomain 
  • В гостевом компьютере Linux: найдите адрес шлюза: (В столбце Gateway строки с 0.0.0.0 в качестве адресата).

     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 
  • На dhcpd.conf OS X: отредактируйте файл dhcpd.conf для vmnet8 (виртуальный коммутатор NAT), чтобы назначить статический IP-адрес для пользователя Linux. (Используйте свой редактор выбора на четвертой строке)

     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 Host: файл начнет выглядеть примерно так:

     # 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 должен соответствовать информации IP, собранной на гостевом компьютере Linux. 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 .

  • Мы хотим назначить статический IP-адрес, чтобы мы могли добавить запись в файл hosts OS X Host. Адрес должен находиться в пределах 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 (host vmnet8) less 192.168.213.2 (шлюз и DNS-сервер). Сеть состоит в том, что доступны адреса 192.168.213.3 to 192.168.213.127 .


  • ON OS X Host: создайте новую запись 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 Host Сохраните dhcpd.conf и закройте редактор.

  • В OS X Host и все гости: выключите все виртуальные машины и VMware.

  • На хосте OS X: перезапустите службы VMware:

     OSXHost$cd /Library/Application\ Support/VMware\ Fusion/ OSXHost$sudo ./boot.sh --restart 
  • На vmnet-dhcpd OS X: посмотрите в Activity Monitor и убедитесь, что vmnet-dhcpd два процесса с именем vmnet-dhcpd . (Один для сети vmnet8 , NAT, другой для сети только для хоста.) Если вы не видите обоих, возможно, проблема vmnet8/dhcpd.conf с vmnet8/dhcpd.conf на vmnet8/dhcpd.conf OS X. Исправьте это и повторите перезапуск служб VMware.

  • На хосте OS X: запустите VMware и гостевую виртуальную машину Linux.

  • В гостевой гостевой системе 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$ 
  • On Linux Guest: убедитесь, что внешний мир доступен:

     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 Host: добавьте сопоставление имени хоста в файл hosts :

     OSXHost$cd /etc OSXHost$sudo emacs hosts 

    Добавьте строку в конец файла hosts, используя имя хоста Linux Guest и IP-адрес, назначенный выше.

     192.168.213.2 serpents-hold 
  • В OS X Host: сохранить файл и выйти из emacs.

  • В OS X Host: проверьте, что гостевой доступ 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 . Это будет работать только в локальной сети виртуальной машины, что зависит от того, как вы настроили ее в своем программном обеспечении для виртуализации.

Эта функция называется Bonjour от Apple и Zeroconf всеми остальными. Он встроен в OS X и iOS. Самый простой способ получить его в Windows – установить iTunes для Windows.

Вы можете настроить zeroconf с помощью Avahi, что должно позволить клиенту идентифицировать себя в сети без регистрации DNS.

Если вы просто хотите войти в систему через командную строку, почему бы не создать файл конфигурации ssh ? Я делаю что-то подобное для моего vm.

 # ~/.ssh/config Host linux-box Hostname localhost Port 8822 

То я могу

 mac-box:~ ssh linux-box 
  • Влияет ли VMWare Fusion на производительность системы?
  • Windows XP зависает при завершении работы в VMWare Fusion
  • Право на установку OEM-лицензии Windows 7 в VMWare Fusion?
  • Виртуальная машина хранится почти полностью, но Windows C диск говорит 29 ГБ бесплатно
  • Как преобразовать образ образа .vhd для работы с VMWare Fusion 2?
  • Boot Camp, Parallels, VirtualBox или Fusion?
  • Как использовать VPN-соединение в гостевой VMWare VM с хостом
  • Новая виртуальная машина не подключается к Интернету, какая настройка мне нужна в VMWare Fusion?
  • Давайте будем гением компьютера.