В двойку лидеров по известности среди продуктов VMware входит программа VMware Workstation.
Это весьма эффективное средство создания виртуальных машин на своей рабочей станции.
Продукт, в общем-то, довольно простой в использовании – особенно в недавно появившейся версии 8, где все основные действия вынесены на главный экран:
Рис. 1. Страница Home |
С этого экрана Home мы можем создать новую ВМ, подключиться к другой машине с Workstation, или к серверу ESXi или к vCenter – чтобы поработать из той же консоли с виртуальными машинами на этих удаленных серверах. Даже можно в пару кликов перенести ВМ между Workstation и ESXi.
Прямо отсюда можно запустить VMware Converter, чтобы физический сервер или ВМ в каком-то другом формате конвертировать в формат Workstation или d формат другого продукта VMware. (Однако, кнопка запуска конвертации есть всегда, но она не работает пока вручную не загрузить и не установить сам продукт VMware Converter, он бесплатный и запуск его установки произойдет при первом клике на пункт “Virtualize a Physical Machine”).
Ну а то, ради чего я вообще затеял этот пост – скрывается в настройках сетевого адаптера виртуальной машины и пункте Virtual Network Editor страницы Home – как настраивается сеть на VMware Workstation.
Вариантов у нас несколько, найти их мы можем зайдя в свойства ВМ и выбрав сетевой контроллер:
Рис. 2. Настройки сетевого адаптера виртуальной машины |
А настройки каждого типа сетевого подключения доступны как раз на странице Home –> Virtual Network Editor.
Пойдем по пунктам, но сначала нарисую картинку – как бы мне хотелось проиллюстрировать сеть для вашей физической машины, где установлен VMware Workstation.
Обычно, подключение к сети выглядит так:
Рис. 3. Иллюстрация как подключена к сети физическая машина |
Это компьютер, он через коммутатор подключен в сеть. Однако, если взглянуть с другой точки зрения, эту картинку картинку можно представить слегка по другому:
Рис. 4. Иллюстрация как подключена к сети физическая машина, чуток с другой т.зрения |
И я повторю эти же картинки но для другой конфигурации – когда наш компьютер подключен сразу к нескольким сетям. Очень характерный пример – ноутбук, у которого есть классическое сетевое подключение, и Wi-Fi.
Картинка раз:
Рис.5. Другая физическая машина подключена сразу к двум сетям. |
Рис. 6. Другой взгляд на подключение сразу к двум сетям |
Рис. 7. Иллюстрация задачи |
1) Чтобы ВМ была подключена к одной из физических сетей. Притом тут у нас два варианта
– чтобы она являлась полноправным участником физической сети (точно как физическая машина).2) Чтобы ВМ была подключена к внутренней сети, сети, существующей только “внутри” физической машины, между ВМ этой физической машины. Но тут опять два варианта
Это значит, например, что у ВМ должен быть IP адрес прямо физической сети.
Решение такой задачи – вариант Bridged.
- или чтобы ВМ имела доступ во внешнюю сеть, но не как ее явный участник.
Решение такой задачи – вариант NAT.
- к этой внутренней сети должна иметь доступ сама физическая машина.А вот теперь опишу эти решения.
Решение такой задачи – вариант Host-only.
- к этой внутренней сети не должна иметь доступ сама физическая машина.
Решение такой задачи – вариант Custom.
Вводная
Если в свойствах виртуальной машины выделить сетевой контроллер, выбрать вариант подключения Custom и вызвать выпадающее меню, то мы увидим следующую картинку:Рис. 8. Варианты подключения ВМ к сети |
Но эти виртуальные коммутаторы друг от друга отличаются некоторыми настройками (VMnet0, VMnet1 и VMnet8, как видно, даже в скобках подписаны – что за настройки у них по умолчанию). И вот эти настройки нас как раз и интересуют.
Поменять или увидеть из можно кликнув на странице Home –> Virtual Network Editor. Пройдя туда, мы увидим текущие настройки, у меня это настройки по умолчанию:
Рис. 9. Глобальные настройки сети Workstation |
Bridged
Если виртуальная машина подключена к сети (VMnet#, виртуальному коммутатору) типа Bridged, то это значит примерно следующее: с точки зрения внешней, физической сети эта виртуальная машина подключена к физической сети как будто “рядом” с физической машиной. См. рис 10 и сравните его с рисунком 3.Рис 10. Тут изображено одна и та же ситуация, просто слева отображен физический коммутатор, а справа нет |
Виртуальная машина разделяет с физической ее физическое подключение к физической сети. Мы должны настраивать виртуальную машину так, как если бы она была физической машиной, подключенной в эту сеть.
А что делать, если у нас ситуация как на рис. 5/6, т.е. физическая машина имеет несколько сетевых контроллеров, подключенных к разным сетям? Ведь одной сетевой картой ВМ бужет подключена только к одной физической сети, а к какой?
В этом случае, по умолчанию, Workstation пытается угадать, в какую сеть пытается получить доступ ВМ. Иногда ей это не удается, и мы можем помочь – как раз в глобальных настройках сети, Home –> Virtual Network Editor.
Рис. 11. В нижней части экрана – сетевые подключения Windows. В верхней – настройка к какому из них дает подключение виртуальный коммутатор VMnet0 |
NAT
Если ВМ подключена к VMnet, виртуальному коммутатору типа NAT, то иллюстрация такого подключения будет выглядеть примерно так:Рис.12. Иллюстрация подключения NAT |
Однако – если к этой внутренней сети подключена сама физическая машина – в чем это отражается? А отражается это вот в чем – если зайти в список сетевых котроллеров физической Windows, там мы увидим виртуальный сетевой контроллер, который был добавлен при установке Workstation:
Рис.13. Среди сетевых контроллеров физической ОС выделен виртуальный контроллер, через который физическая ОС имеет доступ к виртуальному коммутатору NAT |
На самом деле, их даже два по умолчанию – второй для сети Host-only, о нем потом.
Так вот, именно через этот виртуальный сетевой контроллер наша основная ОС подключена к виртуальному коммутатору VMnet8 типа NAT.
И что означает это название – NAT? Это означает, что у виртуальных машин сеть только внутренняя, в частности адреса IP другие, чем в физической сети, но если ВМ обратиться во внешнюю сеть – то у нее это получится. На физической машине работает специальная служба – NAT, которая перебрасывает запросы виртуальных машин во внешнюю сеть. Иллюстрация:
Рис.14. Иллюстрация работы NAT |
Настройки сервера DHCP можно увидеть и изменить в глобальных настройках:
Рис. 15. Настройки сервиса DHCP |
Впрочем, если, к примеру, вы хотите поднять в ВМ какое-то приложение, к которому надо обращаться извне, то это можно устроить. Допустим, вы подняли web-сервер в ВМ, и хотите обращаться извне на его дефолтный порт 80.
Надо настроить т.н. проброс портов, это свойство NAT, и настраивается одноименной кнопкой рядом с DHCP:
Рис. 16. Настройки проброса портов NAT |
И работать правило с рис.16 будет примерно так:
Рис. 17. Иллюстрация проброса портов NAT |
Host-Only
Сеть с говорящим названием “только внутри сервера” суть то же самое что NAT, только без NAT ;-).Рис. 18. Иллюстрация host-only сети |
Рис.19. Настройки host-only сети |
В сети Host-only так же можно задействовать DHCP сервер силами VMware Workstation.
Да, мощно задвинули! :)))
ОтветитьУдалитьИ тем не менее, Михаил, всё же не "bridgeT", a "bridgeD"...
С уважением,
Umlyaut.
спасибо, поправил.
ОтветитьУдалитьИнтересная статья буду штудировать - сейчас решаю проблему подключения медиаплеера к сети интернет. Вся загвоздка в том, что к интернет подключена WinXP на виртуалке. Вот и вопрос в том, как настроить сеть, что бы медиаплеер имел выход в интернет.Схема сети http://www.nicegoing.ru/zm1011/img_g76djmeor272ryzfnm1_30576.jpg
ОтветитьУдалитьМихаил, спасибо огромное, очень полезная статья!!!
ОтветитьУдалитьСтатья просто Супер!
ОтветитьУдалитьСпасибо, для меня было полезно. Качественно и наглядно.
ОтветитьУдалитьДочитал до конца в надежде узнать что есть "LAN Segment"... Не узнал. А очень хочется :)
ОтветитьУдалитьЗдравствуйте. Статья отличная, но подскажите пожалуйста как заставить работать nat и host-only без dhcp???
ОтветитьУдалитьУ меня не получается, отключил dhcp, настроил всё ручками так же как всё было при dhcp, пинги идут (на ya.ru), а интернета нет, даже по ip не ходит ни куда. Трассировка яндекса состоит из двух пунктов, виртуальный шлюз NAT 192.168.192.2 и сразу яндекс. Что не так сделал?
я попробовал отключить dhcp в сети nat и настроить гостю статичный IP - все работает. так что не знаю что вам посоветовать.
Удалитьhttps://3e471f5f-a-f797eb5c-s-sites.googlegroups.com/a/vm4.ru/vsphere/files/nat.jpg?attachauth=ANoY7co_nOE-FPrxx5pdypTu0nhBReGNXFyncL7G6zzMdH2P4vrfRWztUwZn3lJPUeVTmKDCv_4VL34r1_xH6Ark0hgewzPTB-XKwTiQ9YOidwEFwhuIbP3RbLtjGR0bS3JlctPbT9Rf6UnPQVUuBt_0iUclNrFgQQ4pCy7vt3b5llk6IyRx-fVtrftEgv5p3Gs_hycUQh_x&attredirects=0
Надо ещё упомянуть, что все внутренние сети должны иметь только диапазон из сетей класса С, т.е. 192.168.0.0/16. Из А и B не получится. Т.е. 10.0.0.0/8 не работает, 172.16.0.0/12 не работает. По крайней мере так было в предыдущих версиях VMware. Т.е. адреса из этих сетей вы можете назначать, но коммутироваться на внутренних коммутаторах они не будут. Пакетики не побегут.
ОтветитьУдалитьспасибо.
УдалитьПочему не побегут? Не помню, как было в 6-й версии, но начиная с "семерки" все прекрасно бегает. Вообще вы можете назначать какие угодно адреса, побегут или не побегут пакетики зависит только от того, что и как вы настроили.
УдалитьСпасибо за внятную и ясную информацию! Хорошая статья, автору респект!
ОтветитьУдалитьСпасибо за статью!
ОтветитьУдалитьПрошу объяснить, необходимо ли, чтобы NAT был включен в ту же сеть, что и хост ?
У меня следующая конфигурация физической сети:
ip=129.168.1.0 , gate=192.168.1.1- это модем. Адрес адаптера хоста 192.168.1.4.
Виртуальная сеть VMNet8 с NAT имеет параметры:
ip=192.168.80.0, gate=192.168.80.2
Адреса (по умолчанию) вирт. адаптеров на ВМ = 192.168.80.131 и на хосте = 192.168.80.1, этот адаптер можно и отключить.
Когда я выхожу в интернет с ВМ, то вижу следующее :
tracert yandex.ru
1 192.168.80.2 - это NAT
2 192.168.1.1 - это модем. Далее неинтересно.
Вопрос : каким же образом пакет из сети VMNet8 попадает в сеть хоста с другим диапазоном адресов?
Ведь в настройках VMNet8 и NAT адрес модема нигде не указан. А вирт. адаптер VMNet8 от хоста вообще можно отключить!
Что-то я в объяснениях пропустил.
>Вопрос : каким же образом пакет из сети VMNet8 попадает в сеть хоста с другим диапазоном адресов?
УдалитьВот "NAT" - это название той службы, которая занимается магией "пробрасывания" пакетов из одной сети в другую и обратно.
Эта служба получает пакет от ВМ, и передает его во внешнюю сеть - потому что сама служба работает в основной ОС, и использует ее сетевые параметры.
Адаптер VMNet8 действительно не при делах.
Спасибо! Полегчало.
ОтветитьУдалитьКак я понимаю, NAT - приложение, запущенное на хосте (аналогично броузеру). И использует сетевую карту хоста, через которую пакет при необходимости уходит уже непосредственно на шлюз (модем) физической сети.
Провел эксперимент с очевидным результатом : изменил для карты
хоста адрес для шлюза, и выход из ВМ в интернет прекратился.
Еще раз спасибо за статью! Успехов!
Михаил, здравствуйте! Спасибо Вам - хорошая статья! Михаил, что значит "подключениe виртуального адаптера хоста к этой сети"? Там галочку нужно ставить,а у меня не ставится.
ОтветитьУдалитьПонимаю что тема раскрыта, однако мне как новичку не понятно, что для меня применимо. Могли бы мне помочь с настройкой?
ОтветитьУдалитьНа физ.машину приходит белый IP, на виртуальной машине (vmware) стоит freepbx. Мне нужно сделать подключение извне по SSH к freebpx.