Virtualbox host only network что это
Настройка сети в VirtualBox
Оригинал: VirtualBox Networking
Автор: Robin Catling
Дата публикации: май 2012 г.
Перевод: Семененко В.
Дата перевода: 5 октября 2012 г.
Сетевые настройки VirtualBox
Для начала установите любую версию виртуальной машины VirtualBox, начиная с 3.0. И вы найдете в ней примерно одинаковые возможности по сравнению с теми, что описываются в данной статье.
В зависимости от потребностей, может понадобиться создание нескольких сетевых интерфейсов разных типов. Или же нескольких устройств одного типа, но с разными настройками. Это может потребоваться для использования на виртуальной машине как физических, так и виртуальных сетевых адаптеров. Все зависит от того, какие из них подключены.
Для моего web-сервера с запущенным на нем CMS WordPress дела обстоят несколько сложнее, поэтому идем дальше. Вкладка «Тип адаптера» отвечает за настройку виртуального аппаратного обеспечения. VirtualBox прекрасно справляется с ролью связующего звена между программной сетевой платой и тем физическим интерфейсом, который установлен на реальной машине (хосте). Откройте ссылку «Дополнительно» и вам будут доступны расширенные возможности сетевого адаптера. В этой статье я детально опишу все настройки в порядке их следования, начиная с установки типа адаптера.
Тип адаптера (Adapter Type)
Виртуальная машина VirtualBox имеет встроенную программную эмуляцию большинства наиболее распространенных типов сетевых карт, под которые созданы драйвера и протоколы. Карта PCnet-FAST III является выбором по умолчанию, однако в своей практике я часто выбираю Intel PRO/1000MT. Я поступаю так, если мне необходима наилучшая совместимость с «железом» от Intel, которое установлено на моем компьютере. Если у вас возникнут проблемы в настройке сетевого соединения, можно попробовать изменить тип адаптера, выбрав другой. Для наиболее древнего оборудования подойдет сетевая карта PCnet-FAST II.
Режим (Mode)
Довольно странно звучащий «Неразборчивый режим» (Promiscuous Mode) обычно применяется для работы VM в качестве виртуального маршрутизатора в локальных сетях; как сетевой мост или же хост. В этом режиме порт виртуальной машины способен принимать любые пакеты, отправляемые для других операционных систем; и даже для хоста. То есть, принимаются сетевые пакеты, предназначенные не только для этого адаптера, но и для других сетевых устройств. В 99% случаев обычным пользователям «Неразборчивый режим» не нужен. Он используется сетевыми администраторами для диагностики проблем, возникающих в сети.
MAC адрес (MAC Address)
Галочка напротив надписи «Кабель подключен» выполняет ту же роль, что и подключение или отключение физического кабеля в реальности. Эта настройка отвечает за подключение виртуального сетевого адаптера к сети. Не стоит путать ее с другой более важной настройкой «Включить сетевой адаптер», которая включает или выключает сам адаптер на виртуальной машине.
Кнопка «Проброс портов» открывает диалоговое окно, в котором производится настройка правил поведения трафика на конкретном адаптере; каким образом будет перемещаться трафик определенного типа между хостом и гостевой виртуальной машиной. Эти правила применяются к сетевым моделям, которые будут рассмотрены немного позже. Сами сетевые модели определяются на вкладке «Тип подключения». Эта настройка является наиболее сложным моментом в установке соединений в VirtualBox. Она доставила мне наибольшие проблемы в экспериментах.
«Подводные камни»
Типы подключения к сети
В VirtualBox имеются четыре готовые модели для подключения к сети:
Трансляция сетевых адресов (NAT)
Протокол NAT позволяет гостевой операционной системе выходить в Интернет, используя при этом частный IP, который не доступен со стороны внешней сети или же для всех машин локальной физической сети. Такая сетевая настройка позволяет посещать web-страницы, скачивать файлы, просматривать электронную почту. И все это, используя гостевую операционную систему. Однако извне невозможно напрямую соединиться с такой системой, если она использует NAT.
Принцип трансляции сетевых адресов заключается в следующем. Когда гостевая ОС отправляет пакеты на конкретный адрес удаленной машины в сети, сервис NAT, работающий под VirtualBox, перехватывает эти пакеты, извлекает из них сегменты, содержащие в себе адрес пункта отправки (IP-адрес гостевой операционной системы) и производит их замену на IP-адрес машины-хоста. Затем заново упаковывает их и отправляет по указанному адресу.
Например, в вашей домашней локальной сети хост и другие физические сетевые устройства имеют адреса в диапазоне, начинающемся с 192.168.х.х. В VirtualBox адаптеры, работающие по протоколу NAT, имеют IP-адреса в диапазоне, начинающемся с 10.0.2.1 и заканчивающемся 10.0.2.24. Такой диапазон называется под-сетью. Как правило, этот диапазон не используется для присвоения адресов устройствам в основной сети, поэтому такая система недоступна извне, со стороны хоста. Гостевая ОС может выполнять обновление программного обеспечения и web-серфинг, но остается невидимой для остальных «участников».
В руководстве VirtualBox этот момент описан более подробно:
«В режиме NAT гостевому сетевому интерфейсу присваивается по умолчанию IPv4 адрес из диапазона 10.0.х.0/24, где х обозначает конкретный адрес NAT-интерфейса, определяемый по формуле +2. Таким образом, х будет равен 2, если имеется только один активный NAT-интерфейс. В этом случае, гостевая операционная система получает IP-адрес 10.0.2.15, сетевому шлюзу назначается адрес 10.0.2.2, серверу имен (DNS) назначается адрес 10.0.2.3.» (Oracle Corporation, 2012, Глава 9).
Протокол NAT полезен в том случае, когда нет разницы в том, какие IP-адреса будут использовать гостевые ОС на виртуальной машине, поскольку все они будут уникальными. Однако, если потребуется настроить перенаправление сетевого трафика, или же расширить функциональность гостевой ОС, развернув на ней web-сервер (к примеру), то необходимы дополнительные настройки. В режиме NAT также недоступны такие возможности, как предоставление общего доступа к папкам и файлам.
Сетевой мост (Bridged)
В соединении типа «Сетевой мост» виртуальная машина работает также, как и все остальные компьютеры в сети. В этом случае адаптер выступает в роли моста между виртуальной и физической сетями. Со стороны внешней сети имеется возможность напрямую соединяться с гостевой операционной системой.
Адаптер в режиме «Сетевой мост» подключается, минуя хост, к устройству, которое распределяет IP-адреса внутри локальной сети для всех физических сетевых карт. VirtualBox соединяется с одной из установленных сетевых карт и передает пакеты через нее напрямую; получается работа моста, по которому передаются данные. Как правило, адаптер в модели «Сетевой мост» получает стандартный адрес из диапазона 192.168.х.х от роутера. Поэтому виртуальная машина в сети выглядит так, как будто это обычное физическое устройство, неотличимое от остальных.
На хосте могут быть активными одновременно несколько сетевых устройств; например, на моем ноутбуке имеется проводное подключение (называемое eth0 ) и беспроводное подключение (называемое wlan0 ). Поле «Имя» позволяет выбрать, какой из сетевых интерфейсов вы бы хотели использовать в качестве моста на VirtualBox.
Поэтому моему хосту назначен роутером IP-адрес 192.168.0.2. Виртуальной машине в режиме «Сетевой мост» присвоен адрес 192.168.2.6. При этом не имеет значения тот факт, что VirtualBox передает и получает трафик как бы «сквозь» хост, минуя его. В результате получается, что виртуальная машина становится просто еще одним компьютером в локальной сети. Если я пересчитаю свой компьютер и три виртуальные машины (VM), работающие в режиме «Сетевой мост», то у меня получиться четыре компьютера в физической локальной сети.
Протокол NAT полезен, потому что он защищает гостевые операционные системы со стороны Интернет. Но для того, чтобы получить доступ к ним извне (а на некоторых ОС у меня имеются установленные web-сервера), потребуется дополнительная настройка для перенаправления трафика. Тип подключения «Сетевой мост» позволяет получить доступ к ним, но системы в этом случае становятся незащищенными.
Если ваше сетевое устройство доступа (это может быть маршрутизатор, сетевой коммутатор или же настройки, предоставленные Интернет-провайдером) позволяет предоставлять только один IP-адрес для сетевого интерфейса, возможно, вам не удастся настроить «Сетевой мост».
Виртуальный адаптер хоста (Host-only)
Как правило, хост имеет свой собственный сетевой адрес, который используется для выхода в Интернет. Обычно это 192.168.0.101. В режиме «Виртуальный адаптер хоста» машина-хост также выступает в роли роутера VirtualBox и обладает IP-адресом по умолчанию 192.168.56.1. Создается внутренняя локальная сеть, обслуживающая все гостевые операционные системы, настроенные для режима «Виртуальный адаптер хоста» и видимые для остальной части физической сети. Адаптер vboxnet0 использует адреса из диапазона, начинающегося с 192.168.56.101. Но при желании можно изменить адрес по умолчанию.
Подобно адаптеру в режиме «Сетевой мост», в режиме «Виртуальный адаптер хоста» используются разные диапазоны адресов. Можно легко настроить гостевые системы для получения IP-адресов, используя для этого встроенный DHCP-сервер виртуальной машины VirtualBox.
В дополнение нужно сказать, что в режиме «Виртуальный адаптер хоста» созданная им сеть не имеет внешнего шлюза для выхода в Интернет, как для хоста, так и для гостевых операционных систем. Он работает только как обычный сетевой коммутатор, соединяя между собой хост и гостевые системы. Поэтому адаптер в режиме «Виртуальный адаптер хоста» не предоставляет гостевым машинам выход в Интернет; vboxnet0 по умолчанию не имеет шлюза. Дополнительные возможности для этого адаптера значительно упрощают настройку сети между хостом и гостевыми ОС, однако все же отсутствует внешний доступ или перенаправление портов. Поэтому может потребоваться второй адаптер в режиме «Виртуальный адаптер хоста» или «Сетевой мост», который подключается к гостевой операционной системе для получения полного доступа к ней.
Внутренняя сеть (Internal Network)
Если на практике вам потребуется настроить взаимосвязь между несколькими гостевыми операционными системами, работающими на одном хосте и могущими сообщаться только между собой, тогда можно воспользоваться режимом «Внутренняя сеть». Конечно, для этой цели можно использовать режим «Сетевой мост», но режим «Внутренняя сеть» обладает большей безопасностью. В режиме «Сетевой мост» все пакеты отправляются и получаются через адаптер физической сети, установленный на машине-хосте. В этом случае весь трафик может быть перехвачен (например, путем установки сниффера пакетов на машине-хосте).
Доступ к гостевой операционной системе
Во-первых, мне нужен доступ в Интернет из гостевой системы для установки обновлений, скачивания пакетов и других подобных задач. Мне также необходим доступ к Сети с машины-хоста. Но мне не нужно, чтобы сервер был доступен из внешней сети.
Оставляю выбранным по умолчанию сетевой адаптер в режиме NAT. Это позволит гостевым системам выходить в Интернет через настроенное соединение хоста, на котором установлены эти машины. Гостевые системы не видны извне в локальной сети; я также не имею доступа к любой из гостевых систем со стороны хоста; аналогично, гостевые системы не могут взаимодействовать между собой.
Настройка виртуального адаптера хоста
По умолчанию, адаптер vboxnet0 динамически получает IP адрес во время сессии подключения от DHCP-сервера. Для моего виртуального web-сервера WordPress необходимо, чтобы он имел статический IP-адрес. Поэтому на вкладке «DHCP сервер» я убрал галочку с надписи «Включить сервер». Таким образом, DHCP-сервер у меня отключен.
Добавление виртуального адаптера хоста
Я собираюсь добавить еще один сетевой адаптер (в режиме «Виртуальный адаптер хоста») к гостевой машине, что позволит создать самодостаточную частную виртуальную сеть. Эта сеть будет состоять только из хоста и любой гостевой операционной машины, настроенной в режиме «Виртуальный адаптер хоста».
Настройка гостевой системы
Мне необходимо, чтобы гостевой виртуальный сервер имел статический IP-адрес в сети, работающей в режиме «Виртуальный адаптер хоста». Иначе адрес сервера будет меняться от сессии до сессии, каждый раз при подключении. Я буду вынужден снова и снова решать задачу настройки, чтобы соединиться с хостом. Поэтому захожу в гостевую систему, открываю в ней терминал и ввожу в нем две следующие команды:
Однако, эти настройки являются временными. Если я произведу перезагрузку системы, все они бесследно пропадут. Для того, чтобы установить их постоянными, нужно добавить (используя учетную запись root) в файл /etc/network/interfaces следующие строки:
Присвоение имен
Так как я не слишком «дружу» с числами и IP-адресами, то для себя я всегда использую имена для гостевых систем вместо присвоения им IP-адресов. Для этого я редактирую файл /etc/hosts на машине-хосте и добавляю туда ссылки. Таким образом, я могу просматривать запущенные гостевые системы по их именам.
В файл /etc/hosts я добавляю строку:
Если я добавляю еще несколько гостевых систем с сеть, то мне достаточно отредактировать этот файл и дописать нужное количество строк. Благодаря такому приему я легко могу обратиться к любой из этих систем.
Альтернативный маршрут
Эксперты сетевых технологий могут заметить, что в моей конфигурации существует альтернативный маршрут для доступа к виртуальному серверу.
Используя адаптер по умолчанию, работающий по протоколу NAT, можно запустить дополнительную конфигурацию, которая позволит мне получить доступ к виртуальному серверу с хоста, не используя при этом сетевую настройку «Виртуальный адаптер хоста».
Используя панель настроек «Сетевой адаптер» в гостевой операционной системе, можно настроить проброс портов в виртуальной машине VirtualBox. Для этого переходим к настройкам адаптера NAT (кнопка внизу окна) для настройки перенаправления портов. При нажатии на нее откроется диалоговое окно, в котором настраиваются правила проброса для данного сетевого адаптера и гостевой системы.
Не мудрствуя лукаво, я назвал эти правила Apache и TCP, соответственно; оба используют TCP-протокол. Если говорить о привязке номеров портов, то порт 8888 на хосте перенаправляет трафик на гостевую систему для сервера Apache; порт 2222 на хосте перенаправляет трафик на порт 22, расположенный на гостевой операционной системе; такая настройка предоставляет мне доступ к гостевой системе для управления ее службами. Любой другой трафик будет отклонен виртуальной машиной, как не подпадающий под правила.
Это означает, что любые другие гостевые системы, которые я запущу на виртуальной машине, не смогут соединиться с виртуальным сервером, так как просто не существует сетевого маршрута под NAT.
Virtualbox host only network что это
Host-only networking can be thought of as a hybrid between the bridged and internal networking modes. As with bridged networking, the virtual machines can talk to each other and the host as if they were connected through a physical Ethernet switch. As with internal networking, a physical networking interface need not be present, and the virtual machines cannot talk to the world outside the host since they are not connected to a physical networking interface.
When host-only networking is used, Oracle VM VirtualBox creates a new software interface on the host which then appears next to your existing network interfaces. In other words, whereas with bridged networking an existing physical interface is used to attach virtual machines to, with host-only networking a new loopback interface is created on the host. And whereas with internal networking, the traffic between the virtual machines cannot be seen, the traffic on the loopback interface on the host can be intercepted.
Host-only networking is particularly useful for preconfigured virtual appliances, where multiple virtual machines are shipped together and designed to cooperate. For example, one virtual machine may contain a web server and a second one a database, and since they are intended to talk to each other, the appliance can instruct Oracle VM VirtualBox to set up a host-only network for the two. A second, bridged, network would then connect the web server to the outside world to serve data to, but the outside world cannot connect to the database.
To change a virtual machine’s virtual network interface to Host Only mode, do either of the following:
Alternatively, you can use the command line:
For host-only networking, as with internal networking, you may find the DHCP server useful that is built into Oracle VM VirtualBox. This can be enabled to then manage the IP addresses in the host-only network since otherwise you would need to configure all IP addresses statically.
Alternatively, you can use VBoxManage dhcpserver on the command line. See Section 7.42, “VBoxManage dhcpserver”.
On Linux and Mac OS X hosts the number of host-only interfaces is limited to 128. There is no such limit for Oracle Solaris and Windows hosts.
Copyright В© 2004, 2020 Oracle and/or its affiliates. All rights reserved. Legal Notices
Virtualbox host only network что это
As mentioned in Section 3.9, “Network Settings”, Oracle VM VirtualBox provides up to eight virtual PCI Ethernet cards for each virtual machine. For each such card, you can individually select the following:
The hardware that will be virtualized.
The virtualization mode that the virtual card operates in, with respect to your physical networking hardware on the host.
This chapter explains the various networking settings in more detail.
6.1. Virtual Networking Hardware
For each card, you can individually select what kind of hardware will be presented to the virtual machine. Oracle VM VirtualBox can virtualize the following types of networking hardware:
AMD PCNet PCI II (Am79C970A)
AMD PCNet FAST III (Am79C973), the default setting
Intel PRO/1000 MT Desktop (82540EM)
Intel PRO/1000 T Server (82543GC)
Intel PRO/1000 MT Server (82545EM)
Paravirtualized network adapter (virtio-net)
The PCNet FAST III is the default because it is supported by nearly all operating systems, as well as by the GNU GRUB boot manager. As an exception, the Intel PRO/1000 family adapters are chosen for some guest operating system types that no longer ship with drivers for the PCNet card, such as Windows Vista.
The Intel PRO/1000 MT Desktop type works with Windows Vista and later versions. The T Server variant of the Intel PRO/1000 card is recognized by Windows XP guests without additional driver installation. The MT Server variant facilitates OVF imports from other platforms.
The Paravirtualized network adapter (virtio-net) is special. If you select this adapter, then Oracle VM VirtualBox does not virtualize common networking hardware that is supported by common guest operating systems. Instead, Oracle VM VirtualBox expects a special software interface for virtualized environments to be provided by the guest, thus avoiding the complexity of emulating networking hardware and improving network performance. Oracle VM VirtualBox provides support for the industry-standard virtio networking drivers, which are part of the open source KVM project.
The virtio networking drivers are available for the following guest operating systems:
Linux kernels version 2.6.25 or later can be configured to provide virtio support. Some distributions have also back-ported virtio to older kernels.
For Windows 2000, XP, and Vista, virtio drivers can be downloaded and installed from the KVM project web page:
6.2. Introduction to Networking Modes
Each of the networking adapters can be separately configured to operate in one of the following modes:
Not attached. In this mode, Oracle VM VirtualBox reports to the guest that a network card is present, but that there is no connection. This is as if no Ethernet cable was plugged into the card. Using this mode, it is possible to pull the virtual Ethernet cable and disrupt the connection, which can be useful to inform a guest operating system that no network connection is available and enforce a reconfiguration.
NAT Network. A NAT network is a type of internal network that allows outbound connections. See Section 6.4, “Network Address Translation Service”.
Bridged networking. This is for more advanced networking needs, such as network simulations and running servers in a guest. When enabled, Oracle VM VirtualBox connects to one of your installed network cards and exchanges network packets directly, circumventing your host operating system’s network stack.
Internal networking. This can be used to create a different kind of software-based network which is visible to selected virtual machines, but not to applications running on the host or to the outside world.
Host-only networking. This can be used to create a network containing the host and a set of virtual machines, without the need for the host’s physical network interface. Instead, a virtual network interface, similar to a loopback interface, is created on the host, providing connectivity among virtual machines and the host.
Generic networking. Rarely used modes which share the same generic network interface, by allowing the user to select a driver which can be included with Oracle VM VirtualBox or be distributed in an extension pack.
The following sub-modes are available:
UDP Tunnel: Used to interconnect virtual machines running on different hosts directly, easily, and transparently, over an existing network infrastructure.
VDE (Virtual Distributed Ethernet) networking: Used to connect to a Virtual Distributed Ethernet switch on a Linux or a FreeBSD host. At the moment this option requires compilation of Oracle VM VirtualBox from sources, as the Oracle packages do not include it.
The following table provides an overview of the most important networking modes.
Table 6.1. Overview of Networking Modes
Mode |
---|