Первый шаг — настройка сети в virtualbox. Виртуальная машина должна быть выключена. Идем в «Настройки -> Сеть», выбираем неиспользуемый адаптер, включаем его и выбираем тип подключения — «виртуальный адаптер хоста»:
Далее загружаем виртуальную машину и проверяем сеть.
В windows сеть можно проверить командой «ipconfig»:
На ОС Linux из терминала сеть можно проверить так:
ifconfig
В ответ вы должны увидеть работающие сетевые интерфейсы:
По ip можно догадаться, какой интерфейс отвечает за организацию локальной сети между компьютером и виртуальной машиной, по умолчанию (если вы сами не настраивали ip в virtualbox) такой ip должен выглядеть так: 192.168.56.* (вместо * обычно бывает 101 или 102 и т. д.).
Этот ip и нужно использовать для доступа к виртуальной машине.
По умолчанию ip выдается dhcp сервером virtualbox. Для удобства можно задать статический ip адрес в самой виртуальной машине. Например в windows это делается редактированием свойств сети. В интерфейсе linux все аналогично, а вот как это сделать в терминале, без графической оболочки, будет показано ниже, на примере добавления нового сетевого интерфейса в ubuntu server.
В linux бывает, что интерфейс локальной сети между компьютером и виртуальной машиной по умолчанию не задействован, и как следствие, отсутствует локальная сеть. В этом случае необходимо поднять интерфейс локальной сети между компьютером и виртуальной машиной вручную. Далее будет описан процесс задействования сетевого интерфейса в ubuntu server.
Сначала нужно найти название сетевого интерфейса, который нам нужен. В терминале набираем:
ip a
В результате вы получите список всех сетевых интерфейсов.
Находим нужный интерфейс, он чаще всего последний. Возможно скорее всего это либо eth1 (для ubuntu server 14.04), либо enp0s8 (для ubuntu server 16.04), все зависит от количества подключенных сетевых адаптеров к виртуальной машине.
Далее редактируем файл /etc/network/interfaces
nano /etc/network/interfaces
Файл /etc/network/interfaces для ubuntu server 14.04:
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp
В конец файла добавляем строку (для ip, задаваемого динамически):
auto eth1 iface eth1 inet dhcp
Для статического ip:
auto eth1 iface eth1 inet static address 192.168.56.101 netmask 255.255.255.0
Вместо eth1 может быть другое название интерфейса, в зависимости от вашей конфигурации.
После этого нужно перезагрузить виртуальную машину и снова набрать команду:
ifconfig
В списке должен появиться интерфейс eth1, или тот, который прописали вы.
Настройка файла /etc/network/interfaces для ubuntu server 16.04:
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto enp0s3 iface enp0s3 inet dhcp
Здесь интерфейс называется enp0s3 вместо eth0. Согласно данным, полученным командой «ip a», в моем случае в конец файла нужно добавить:
auto enp0s8 iface enp0s8 inet dhcp
После внесения изменений так же необходимо перезапустить виртуальную машину, либо можно перезапустить только службу networking:
sudo service networking restart
На ubuntu server 14.04 у меня она не всегда перезапускается, просто продолжает работать, с ubuntu 16.04 в этом плане все впорядке, но для полной уверенности я считаю что лучше все таки перезапустить виртуальную машину.
После перезапуска машины и набора в терминале команды ifconfig в полученном списке сетевых интерфейсов должен появится интерфейс enp0s8.
Что делать, если сетевой интерфейс так и не заработал?
Тут два основных варианта: либо вы указали неправильный интерфейс в файле /etc/network/interfaces — в таком случае еще раз внимательно посмотрите список всех доступных сетевых интерфейсов командой «ip a» и выберите нужный. Либо виртуальная ОС вообще не видит сетевой адаптер. В этом случае скорее всего в ОС нет подходящих драйверов для этого адаптера. Эту проблему можно решить сменой типа адаптера, например на «паравиртуальная сеть (virtio-net)»:
Можете поэксперементировать с типом адаптера для достижения нужного результата.
После успешной настройки локальной сети между компьютером и виртуальной машиной можно к ней подключиться, например по ssh. Для этого набираем ip адрес, про который я писал вначале статьи, в ssh клиенте и радуемся успешному подключению)
- Какие типы подключения доступны в VirtualBox
- Как включить и отключить адаптер
- Как подключить виртуальную машину к интернету
- Как настроить сеть между хостом и виртуальной машиной VirtualBox
- Настройка сети между виртуальными машинами в VirtualBox
VirtualBox позволяет на одном устройстве запустить несколько виртуальных машин с разными операционными системами. Виртуальные машины используют для тестирования нового ПО, для знакомства с особенностями разных ОС, а также для запуска программ, которые созданы для определённой операционной системы.
Какие типы подключения доступны в VirtualBox
В VirtualBox можно разными способами настроить интернет:
- на отдельной виртуальной машине,
- в локальной сети между несколькими виртуальными устройствами.
Для VirtualBox 6.1 доступны инструменты:
- NAT,
- сетевой мост,
- внутренняя сеть,
- виртуальный адаптер хоста,
- универсальный драйвер,
- сеть NAT,
- Cloud Network.
На одной виртуальной машине можно использовать до 4 сетевых адаптеров. Для каждого адаптера есть возможность выбрать любой тип подключения. Благодаря этому можно комбинировать настройки, выбирать разные варианты работы сети. Например, комбинировать NAT и сетевой мост. Ниже мы рассмотрим, как включить/отключить адаптер.
Как включить и отключить адаптер
1. Выберите гостевую ОС, кликните на неё правой кнопкой мыши. Нажмите Настроить:
2. В появившемся меню выберите Сеть:
3. Выберите адаптер, который хотите добавить или удалить. Затем переключите чек-бокс Включить сетевой адаптер в нужное положение. Если вы включаете новый адаптер, в выпадающем списке выберите тип подключения и нажмите OK:
Готово, гостевая ОС будет работать с выбранными адаптерами.
Как подключить виртуальную машину к интернету
Если вам нужен доступ только в интернет, можно использовать NAT-подключение. NAT изолирует виртуальную машину от соединений извне, поэтому доступа к другим гостевым ОС при таком подключении не будет. Проводником в интернет выступает хост-система, через которую и проходят все входящие и исходящие запросы.
В VirtualBox при создании каждой виртуальной машины подключение к интернету с помощью NAT происходит автоматически. Поэтому это самый простой способ подключения гостевой ОС к интернету.
Чтобы включить или отключить интернет с помощью NAT в VirtualBox:
1. Выберите нужную виртуальную машину и кликните по ней правой кнопкой мыши. Нажмите Настроить:
2. В появившемся меню выберите Сеть. Поставьте галочку напротив «Включить сетевой адаптер». Выберите тип подключения NAT и нажмите OK:
Настройка сети на виртуальной машине VirtualBox
Готово, теперь вы знаете, как включить интернет на виртуальной машине VirtualBox.
Как настроить сеть между хостом и виртуальной машиной VirtualBox
Для подключения между основной и гостевой ОС нужно использовать тип подключения «Сетевой мост». В этом случае виртуальная машина подключается напрямую к основной сети как полноценное устройство. Для подключения используется сетевая карта хост-системы.
Чтобы включить сетевой мост:
1. Выберите виртуальную машину, которую хотите подключить к сети. Кликните по ней правой кнопкой мыши и нажмите Настроить:
2. В появившемся меню выберите вкладку «Сеть».
3. В настройках адаптера в строке «Тип подключения» выберите Сетевой мост и нажмите OK:
Готово, гостевая ОС теперь доступна для основной.
Настройка сети между виртуальными машинами в VirtualBox
Иногда нужно объединить в одну сеть несколько виртуальных машин. Для этого используется подключение «Сеть NAT». Она объединяет необходимые виртуальные машины в локальную сеть. Как и в случае с обычным NAT, у каждой есть доступ в интернет, но от доступа извне они изолированы.
Чтобы создать сеть из виртуальных машин VirtualBox:
1. На главной странице VirtualBox нажмите Файл ― Настройки:
2. Перейдите во вкладку Сеть и нажмите на кнопку с зеленым плюсом:
3. Нажмите OK:
4. Выберите виртуальную машину, которую хотите добавить в сеть, и кликните по ней правой кнопкой мыши. Нажмите Настроить:
5. Выберите тип подключения Сеть NAT. В строке «Имя» выберите имя созданной сети. Нажмите OK:
Как создать сеть из виртуальных машин VirtualBox
6. Если вы хотите подключить другие виртуальные машины к сети, повторите действия с 4 шага.
Готово, локальная сеть из виртуальных машин создана.
Правильная настройка сети в виртуальной машине VirtualBox позволяет связать хостовую операционную систему с гостевой для наилучшего взаимодействия последних.
В данной статье настроим сеть на виртуальной машине под управлением Windows 7. Настройка VirtualBox начинается с установки глобальных параметров.
- Перейдем в меню «Файл – Настройки».
- Затем откроем вкладку «Сеть» и «Виртуальные сети хоста». Здесь выбираем адаптер и нажимаем кнопку настройки.
- Сперва устанавливаем значения IPv4 адреса и соответствующей маски сети (см. скриншот выше).
- После этого переходим на следующую вкладку и активируем DHCP сервер (вне зависимости от того, статический или динамический вам присвоен IP-адрес).
- Следует задавать значение адреса сервера, соответствующее адресам физических адаптеров. Значения «Границ» обязаны охватывать все использующиеся в ОС адреса.
- Теперь о настройках ВМ. Заходим в «Настройки», раздел «Сеть».
- В качестве типа подключения устанавливаем подходящий вариант. Рассмотрим эти варианты подробнее.
- Если адаптер «Не подключен», VB сообщит пользоваелю о том, что он имеется, однако подключения нет (можно сравнить с тем случаем, когда Ethernet-кабель не подключен в порт). Выбор этого параметра может симулировать отсутствие подключения кабеля к виртуальной сетевой карте. Таким образом, можно информировать гостевую операционную систему о том, что соединения с интернетом нет, однако его можно настроить.
- При выборе режима «NAT» гостевая ОС сможет выходить в интернет; в этом режиме происходит перенаправление пакетов. Если необходимо из гостевой системы открывать веб-страницы, читать почту и скачивать контент, то это подходящий вариант.
- Параметр «Сетевой мост» позволяет осуществлять больше действий в интернете. К примеру, сюда входит моделирование сетей и активных серверов в виртуальной системе. При выборе этого режима VB осуществит подключение к одной из доступных сетевых карт и начнет прямую работу с пакетами. Сетевой стек хост-системы не будет задействован.
- Режим «Внутренняя сеть» применяется для организации виртуальной сети, к которой можно получить доступ из ВМ. Эта сеть не имеет отношения к программам, запущенным на главной системе, или сетевому оборудованию.
- Параметр «Виртуальный адаптер хоста» используется для организации сетей из главной ОС и нескольких ВМ без задействования реального сетевого интерфейса основной ОС. В главной ОС организуется виртуальный интерфейс, посредством которого устанавливается подключение между ней и ВМ.
- Реже остальных используется «Универсальный драйвер». Здесь пользователь обретает возможность выбрать драйвер, входящий в VB либо в расширения.
- Выберем Сетевой мост и назначим для него адаптер.
- После этого осуществим запуск ВМ, откроем сетевые подключения и зайдем в «Свойства».
- Следует выбрать протокол интернета TCP/IPv4. Жмем «Свойства».
- Теперь нужно прописать параметры IP-адреса и т.д. Адрес реального адаптера выставляем в качестве шлюза, а в качестве IP-адреса может быть значение, следующее за адресом шлюза.
- После этого подтверждаем свой выбор и закрываем окно.
Настройка Сетевого моста завершена, и теперь можно выходить в интернет и взаимодействовать с хостовой машиной.
Наша группа в TelegramПолезные советы и помощь
На сегодняшний день существует уже куча приложений для виртуализации. И VirtualBox один из них, и как правило почти каждая вторая виртуальная машина имеет доступ по сети. У каждой виртуальной машины своё предназначение, например, кому-то нужно просто протестировать ОС или просто запустить приложение, требующее определенную ОС.
Зачастую использование виртуализации без сети для виртуальных машин затрудняет работу с ними, а иногда они и вовсе не нужны без доступа по сети к ним.
И сегодня рассмотрим, как настроить эту чертову локальную сеть и ваше приложение наконец-то будет доступно из вне по локальной сети.
Требования
Для начала убедитесь, что у вас уже установлен сам VirtualBox и создана виртуальная машина.
Типы сетей
В таблице ниже рассмотрим какие типы сетей вы можете использовать в VirtualBox и какие доступы вы будете иметь.
Тип сети | VM > Host | Host > VM | VM1 > VM2 | VM > LAN | LAN > VM |
---|---|---|---|---|---|
NAT | + | Port forwarding | — | + | Port forwarding |
Bridged | + | + | + | + | + |
Internal | — | — | + | — | — |
Host-Only | + | + | + | — | — |
NATservice | + | Port forwarding | + | + | Port forwarding |
Когда вы создаёте новую виртуальную машину (сервер) ему автоматом добавляется виртуальный сетевой адаптер (1 активный и 3 неактивных). Как правило хватает только одного сетевого активного адаптера. По умолчанию тип адаптера выставлен в NAT.
NAT
Не буду сильно расписывать о том, что это такое просто скажу, что при использовании такого типа происходит сопоставление IP-адреса с другим путем изменения заголовка IP-пакетов. И в этом случае IP-адрес вашей виртуальной машины будет из подсети 10.0.2.0. Отмечу что это самый простой способ дать доступ виртуальной машине к внешней сети.
В таком режиме ваша виртуальная машина при выходе во вне через локальную сеть, например, выход в интернет будет прикидываться вами. Т.е. весь трафик будет идти с вашего локального IP-адреса. И понятное дело, что вы не сможете в таком режиме получить доступ к вашему виртуальному серверу по IP-адресу из подсети 10.0.2.0. Т.е. по сути у вашего виртуального сервера будет только исходящие соединения, но не входящие. Зато не надо ничего настраивать ни на хосте, ни на виртуальной машине.
Т.е. если вам просто нужен доступ в интернет и вас совсем не беспокоит что в итоге весь траффик по сети идёт от вашего локального компьютера то используем NAT.
Также если вам вдруг всё же очень сильно нужен NAT и доступ к виртуальной машине из вне или локальной сети вы можете настроить Port Forwarding. Но в таком случае для доступа к виртуальной машине нужно будет обращаться к IP-адресу хоста.
Если вдруг вам не нравится какие IP-адреса назначаются вашим виртуальным машинам можете изменить это в настройках VirtualBox (Менеджер сетей > NAT).
NATservice
По сути тоже самое что и NAT но плюс ещё вам станет доступна сеть виртуальных машин. Т.е вы сможете обратиться по сети с одной виртуальной машины на другую. Правда, чтобы был такой доступ эти виртуальные машины должны быть в одной сети.
Сама сеть настраивается в (Менеджер сетей > NAT).
Также как и в NAT доступен Port Forwarding.
Bridged networking (Сетевой мост)
Тут уже немного посложнее, суть в том, что виртуальная машина VirtualBox подключается к одной из ваших сетевых карт на локальном хосте и обменивается сетевыми пакетами напрямую, минуя сетевой стек операционной системы хоста.
Тут если у вас в сети нет DHCP
сервера, то придётся прописывать IP-адрес на виртуальной машине вручную. IP-адрес как правило из той же подсети что и IP-адрес на локальном хосте, с тем же шлюзом.
При использовании такого типа подключения помимо доступа к интернету с виртуального хоста вы еще получаете и входящие подключения по IP-адресу виртуального хоста.
Для примера представим ситуацию что у меня нет DHCP
сервера в следствии чего мои настройки будут следующими:
- Локальный хост
DNS-суффикс подключения . . . . . : IPv4-адрес. . . . . . . . . . . . : 192.168.8.11 Маска подсети . . . . . . . . . . : 255.255.255.0 Основной шлюз. . . . . . . . . : 192.168.8.1
- Виртуальная машина
DNS-суффикс подключения . . . . . : IPv4-адрес. . . . . . . . . . . . : 192.168.8.12 Маска подсети . . . . . . . . . . : 255.255.255.0 Основной шлюз. . . . . . . . . : 192.168.8.1
С такими настройками я легко смогу попасть в интернет через виртуальную машину, но также буду иметь доступ по локальной сети к локальному хосту (192.168.8.11) и наоборот, если только не включен файрволл.
Internal networking (Внутренняя сеть)
При использовании такого типа соединения доступ по сети будет доступен только внутри сети образованной из ваших виртуальных машин. Т.е. это локальная сеть, которая будет доступна только для виртуальных машин.
Естественно ни, а какой речи доступа к интернету тут не может идти и речи так как доступа у вириальных машин к вашей сети нету и соответственно наоборот тоже.
Для примера представим мои настройки сети будут следующими:
- Локальный хост
DNS-суффикс подключения . . . . . : IPv4-адрес. . . . . . . . . . . . : 192.168.8.11 Маска подсети . . . . . . . . . . : 255.255.255.0 Основной шлюз. . . . . . . . . : 192.168.8.1
- Виртуальная машина
DNS-суффикс подключения . . . . . : IPv4-адрес. . . . . . . . . . . . : 192.168.8.12 Маска подсети . . . . . . . . . . : 255.255.255.0
- Виртуальная машина 2
DNS-суффикс подключения . . . . . : IPv4-адрес. . . . . . . . . . . . : 192.168.8.13 Маска подсети . . . . . . . . . . : 255.255.255.0
При таких настройках я с легкостью смогу получить доступ с одной виртуальной машины на другую через локальную сеть, например, запущу ping с 192.168.8.12 на 192.168.8.13 или наоборот. Но я никак не смогу получить доступ с локального хоста (192.168.8.11) до виртуальных машин и наоборот (даже если пропишу шлюз 192.168.8.1).
Host-Only Networking (Виртуальный адаптер хоста)
Виртуальный адаптер хоста можно рассматривать как что-то среднее между Internal networking (Внутренняя сеть) и Bridged networking (Сетевой мост).
Когда используется Host-Only Networking (Виртуальный адаптер хоста) VirtualBox создаёт новый виртуальный адаптер, благодаря которому ваши виртуальные машины соединяются с вашим локальным хостом и наоборот. Только тут отличие в том, что вы должны подключаться не к IP-адресу вашего хоста, а к IP-адресу, который вы должны задать в настройках VirtualBox (Менеджер сетей).
IP-адреса для виртуальных машин будут назначаться DHCP
сервером, настройки которого вы можете задать также в настройках VirtualBox (Менеджер сетей).
Настройка сетевых параметров в VirtualBox очень важна для обеспечения связи между виртуальными машинами (ВМ), хост-машиной и внешней сетью. VirtualBox предлагает различные сетевые режимы для разных случаев использования. В этом руководстве мы рассмотрим, как установить и настроить сеть в VirtualBox.
1. Понимание сетевых режимов в VirtualBox
VirtualBox предоставляет несколько сетевых режимов, каждый из которых служит для разных целей:
- NAT (трансляция сетевых адресов): ВМ может получить доступ к внешним сетям, но внешние устройства не могут инициировать подключения к ВМ. Это удобно для общего доступа в Интернет без сложной настройки.
- Мостовой адаптер: ВМ подключается непосредственно к сети хоста. Она отображается как отдельное устройство в той же сети, что и хост, позволяя входящие и исходящие соединения к ВМ и от нее.
- Внутренняя сеть: ВМ могут взаимодействовать друг с другом в рамках одной внутренней сети, но не могут получить доступ к внешним сетям или хосту.
- Адаптер только для хоста: ВМ может взаимодействовать с хост-машиной, но не с внешними сетями. Это полезно для сред тестирования и разработки.
- Сеть NAT: Аналогично NAT, но позволяет нескольким виртуальным машинам взаимодействовать друг с другом и получать доступ к внешней сети.
2. Настройка сетевых параметров для ВМ
Выполните следующие шаги, чтобы настроить сетевые параметры для виртуальной машины:
Шаг 1: Откройте VirtualBox
Запустите приложение VirtualBox на хост-машине.
Шаг 2: Выберите виртуальную машину
Выберите виртуальную машину, которую вы хотите настроить, из списка и нажмите на кнопку Settings (значок шестеренки).
Шаг 3: Перейдите в раздел “Сеть
В настройках ВМ перейдите на вкладку Сеть. Вы увидите несколько вариантов адаптеров (Адаптер 1, Адаптер 2 и т. д.).
3. Настройка сетевого адаптера
Шаг 1: Включите сетевой адаптер
- Установите флажок Enable Network Adapter, чтобы активировать сетевой адаптер.
- Выберите в раскрывающемся меню Attached to нужный режим работы сети (NAT, Bridged Adapter и т. д.).
Шаг 2: Выберите сетевой режим
- Для NAT:
- Дополнительная настройка не требуется. Ваша виртуальная машина будет автоматически использовать NAT для доступа в Интернет.
- Для мостового адаптера:
- Выберите физический сетевой адаптер в раскрывающемся меню “Имя” (например, Ethernet или Wi-Fi адаптер).
- Это позволит вашей виртуальной машине подключаться к сети напрямую.
- Для адаптера только для хоста:
- Выберите адаптер только для хоста в раскрывающемся списке Имя.
- Это позволит создать частную сеть между хостом и ВМ.
- Для внутренней сети:
- Укажите имя внутренней сети, чтобы разрешить связь между ВМ, использующими эту сеть.
4. Дополнительные настройки сети
При необходимости вы можете настроить дополнительные параметры, нажав на выпадающий список Advanced:
- Тип адаптера: Выберите тип сетевого адаптера (обычно достаточно значений по умолчанию).
- Промискуитетный режим: Выберите, разрешить ли получение всех пакетов виртуальной машиной. Это полезно для прослушивания пакетов и анализа сети.
- Кабель подключен: Убедитесь, что этот параметр отмечен, чтобы имитировать физическое сетевое подключение.
5. Тестирование сетевого подключения
После настройки сетевых параметров запустите виртуальную машину для проверки подключения:
- Загрузите ВМ и войдите в гостевую операционную систему.
- Проверьте сетевое подключение:
- Для Windows: Откройте командную строку и выполните команду:
- Для Linux: Откройте терминал и выполните команду:
ifconfig
# или ‘ip a’ для более новых систем
- Проверьте подключение к Интернету:
- Используйте ping для проверки соединения:
6. Устранение распространенных сетевых проблем
Если у вас возникли проблемы с сетью, выполните следующие действия по устранению неполадок:
- Проверьте настройки адаптера: Убедитесь, что сетевой адаптер включен и правильно настроен в VirtualBox.
- Перезапустите сетевые службы: В гостевой ОС перезапустите сетевую службу или перезагрузите ВМ.
- Проверьте настройки брандмауэра: Убедитесь, что настройки брандмауэра на хосте и в гостевой ОС не блокируют сетевые подключения.
- Проверьте физическое сетевое подключение: Если используется мостовой адаптер, убедитесь, что хост подключен к сети.
7. Заключение
Настройка сети в VirtualBox необходима для обеспечения связи между виртуальными машинами и внешним миром. Понимая различные режимы работы сети и следуя описанным шагам, вы сможете эффективно настраивать и управлять сетью для своих виртуальных машин в соответствии с вашими потребностями.