Как исправить отсутствие сети nat virtualbox

I am trying to figure out why my guest cannot connect to the internet while attached to the NAT network. I have provided some screenshots of the settings below. I am only having this issue on lubun...

Update: To summarize, you were using a NAT-Network/NAT-Service interface. This is a distinct interface type from the similarly named NAT Interface. The differences are described well in this blog post:

  • VirtualBox 4.3 Adds NAT Network

When you switched from a NAT-Network Interface to a NAT interface you were able to access the internet from your VM without additional configuration. Since this was your ultimate goal, we didn’t continue to diagnose what was causing trouble for your NAT-Network interface.

The original solution follows.


I don’t know enough to make a certain diagnosis based on the information you’ve provided so far, but one possibility is that there’s a conflict between the VirtualBox network configuration on the host and the network configuration on the guest.

I suggest trying to start from a working NAT configuration with port-forwarding to allow for SSH access to the guest. There are several reasons for this:

  1. You aren’t able to copy text from the guest in your current situation.

  2. It is often helpful in debugging to start from a situation in which everything is working and then work your way back towards the problem.

  3. In my experience is the NAT interface is the most painless and least error-prone method of getting internet access for a VirtualBox guest.

You can do this via the GUI, but I’ll include command-line examples for concreteness.

First let’s remove all of network interface cards:

for n in 1 2 3 4 5 6 7 8; do
    vboxmanage modifyvm "${VMNAME}" --nic${n} none
done

Now let’s add a single NAT interface:

vboxmanage modifyvm "${VMNAME}" --nic1 NAT

Let’s sanity-check the NIC configuration:

vboxmanage showvminfo "${VMNAME}" | grep '^NIC'

The output should something like this:

NIC 1:          MAC: 08002784C3DE, Attachment: NAT, Cable connected: on,
                Trace: off (file: none), Type: Am79C973, Reported speed: 0
                Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none
NIC 1 Settings: MTU: 0, Socket (send: 64, receive: 64), TCP Window (send:64, receive: 64)
NIC 2:           disabled
NIC 3:           disabled
NIC 4:           disabled
NIC 5:           disabled
NIC 6:           disabled
NIC 7:           disabled
NIC 8:           disabled

Now let’s add a port-forwarding rule for ssh. Here is an example which maps port 2222 on the host to port 22 on the guest:

vboxmanage modifyvm "${VMNAME}" --natpf1 ssh,tcp,,2222,,22

Boot the VM and test the SSH connection. If you already have SSH running on the guest then you can boot it in headless mode:

vboxmanage startvm --type headless "${VMNAME}"

Log in to the guest via ssh:

ssh -p 2222 localhost

Note that due to the port-forwarding rule you don’t need to know the IP address of the guest. If you get this working then you can update your post and we can try to figure out what was wrong with the «NAT Network» configuration.

Also, you might want to try downloading a preconfigured VM from the Virtual Boxes website. Apparently they have some lubuntu images.

Update: To summarize, you were using a NAT-Network/NAT-Service interface. This is a distinct interface type from the similarly named NAT Interface. The differences are described well in this blog post:

  • VirtualBox 4.3 Adds NAT Network

When you switched from a NAT-Network Interface to a NAT interface you were able to access the internet from your VM without additional configuration. Since this was your ultimate goal, we didn’t continue to diagnose what was causing trouble for your NAT-Network interface.

The original solution follows.


I don’t know enough to make a certain diagnosis based on the information you’ve provided so far, but one possibility is that there’s a conflict between the VirtualBox network configuration on the host and the network configuration on the guest.

I suggest trying to start from a working NAT configuration with port-forwarding to allow for SSH access to the guest. There are several reasons for this:

  1. You aren’t able to copy text from the guest in your current situation.

  2. It is often helpful in debugging to start from a situation in which everything is working and then work your way back towards the problem.

  3. In my experience is the NAT interface is the most painless and least error-prone method of getting internet access for a VirtualBox guest.

You can do this via the GUI, but I’ll include command-line examples for concreteness.

First let’s remove all of network interface cards:

for n in 1 2 3 4 5 6 7 8; do
    vboxmanage modifyvm "${VMNAME}" --nic${n} none
done

Now let’s add a single NAT interface:

vboxmanage modifyvm "${VMNAME}" --nic1 NAT

Let’s sanity-check the NIC configuration:

vboxmanage showvminfo "${VMNAME}" | grep '^NIC'

The output should something like this:

NIC 1:          MAC: 08002784C3DE, Attachment: NAT, Cable connected: on,
                Trace: off (file: none), Type: Am79C973, Reported speed: 0
                Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none
NIC 1 Settings: MTU: 0, Socket (send: 64, receive: 64), TCP Window (send:64, receive: 64)
NIC 2:           disabled
NIC 3:           disabled
NIC 4:           disabled
NIC 5:           disabled
NIC 6:           disabled
NIC 7:           disabled
NIC 8:           disabled

Now let’s add a port-forwarding rule for ssh. Here is an example which maps port 2222 on the host to port 22 on the guest:

vboxmanage modifyvm "${VMNAME}" --natpf1 ssh,tcp,,2222,,22

Boot the VM and test the SSH connection. If you already have SSH running on the guest then you can boot it in headless mode:

vboxmanage startvm --type headless "${VMNAME}"

Log in to the guest via ssh:

ssh -p 2222 localhost

Note that due to the port-forwarding rule you don’t need to know the IP address of the guest. If you get this working then you can update your post and we can try to figure out what was wrong with the «NAT Network» configuration.

Also, you might want to try downloading a preconfigured VM from the Virtual Boxes website. Apparently they have some lubuntu images.

VirtualBox часто применяют, чтобы тестировать программы, которым требуется доступ к Интернету. Перед запуском утилиты надо разобраться в правилах настройки сети и в том, какие существуют виды подключения. Ознакомившись с инструкцией, вы поймете тонкости объединения виртуальных машин (ВМ) в компьютерную сеть, приобретения ими доступа к Интернету и связывания с основной системой.



Сетевые адаптеры: особенности и виды

В программе сеть можно настраивать при помощи нескольких вариантов, каждый из которых предназначен для выполнения определенных задач. К основным методам относят:

1. «Внутренняя сеть». При выборе данного метода ВМ — это полноправный участник компьютерной сети. Преимущества способа — простота настройки. У гостевой отсутствует возможность входить в хозяйскую систему, так же и наоборот. При этом зайти в Интернет вы не сможете. Сервер внутренних сетей не настроите при помощи графического интерфейса. Поэтому применяйте команды панели.

2. «NAT». Применяется в автоматическом режиме. Внутри формируется компьютерная сеть, которой предоставляется индивидуальный IP- адрес. Связь с Интернетом происходит при помощи «NAT». Обращаться к машине сможете, применяя пробросы портов утилиты VirtualBox. Особенность — простота настройки. Благодаря отдельному роутеру обеспечивается изолированность. Каждой гостевой ОС присваивается личный IP.

Настройки сети в ВиртуалБокс

3. «Сетевой мост». В этом случае ВМ — это полноправный участник компьютерной сети, подключающийся к главной системе. Для приобретения места размещения применяют сетевой интерфейс. Другому оборудованию ВМ становится видна по персональному IP.

4. «Виртуальный адаптер хоста». Создает адаптер, к которому подключаются ВМ, объединяющиеся в компьютерную сеть. При этом выход у пользователя в Интернет отсутствует. У всех ВМ есть возможность связываться между собой. У каждой есть собственный IP- адрес.

5. «Универсальный драйвер». Разные гостевые машины работают совместно на различных ОС.
Каждый метод настройки необходимо рассмотреть подробнее.

Сетевой мост в VirtualBox

Сеть дает возможность ВМ становиться настоящим сетевым оборудованием, обладающим персональным IP. Сначала выберите «Настройки». Найдите «Сеть». Кликните на эту кнопку, далее «Тип подключения», а после этого на «Сетевой мост».

Сетевой мост ВиртуалБокс

В графе «Имя» выберите интерфейс, назначенный для связи с Интернетом. Этот способ не совсем безопасен, так как любой ПК легко обретет доступ к ВМ.

Сеть NAT

Каждой ВМ автоматически предоставляется выход в Интернет при помощи «NAT». Первоначальная настройка не требуется. При подключении к Интернету гостевая ОС изолируется от прямого подключения извне, но пользователь может беспрепятственно изучать сайты и выполнять нужную работу.

Если ранее были отсоединены сетевые адаптеры, то для включения:

1. Зайдите в «Настройки» виртуальной машины.

2. Кликните на надпись «Сеть».

3. Выберите необходимый адаптер. Есть возможность подключать несколько штук и комбинировать их с хостом и сетью для получения преимуществ двух режимов. Далее в поле под названием «Тип подключения» найдите «NAT». Нажмите «Дополнительно». В МАС-адресе укажите — 080027436F18, выберите тип адаптера.

Виртуальный хост

Необходимо запустить локальную сеть, связывающую несколько хостов и виртуальных машин. Для верной работы в Linux необходимо загрузить модули ядер.

Виртуальный хост ВиртуалБокс

Чтобы они правильно работали, необходима установка пакета net-tools. Затем:

1. Зайдите в «Файл», после чего выберите «Настройки», кликните «Сеть». Нажмите на кнопку «+», а потом подтвердите действие, кликнув на «ОК». Все данные в графах оставляйте без изменения. Если установлена программа версией выше 5.2, то в меню кликните «Инструменты». Выберите «Менеджер сетей хоста».

Менеджер сетей хоста ВиртуалБокс

2. Кликните на надпись «Создать». Поставьте галочку рядом с пунктом «DYCP». Перейдите обратно к списку с перечислением ВМ. Зайдите в «Настройки». Нажмите на «Сеть».

3. Нажмите «Тип подключения». Кликните «Виртуальный адаптер хоста». Название будет, такое же, как вы ранее создавали.

Чтобы все машины работали в общей сети, подключайтесь к одному адаптеру. Если требуется предоставление выхода в интернет, то зайдите в «Адаптер2». После включения настройте «Network Address Translation».

Внутренняя сеть

Для настройки зайдите в «Тип подключения», кликните «Внутреннюю сеть». В графе «Имя» найдите требуемую сеть (при необходимости можете создавать новые, изменяя название текущих).

Внутренняя сеть ВиртуалБокс

При использовании данной сети в Интернет выйти не получится.

Виртуальные машины VirtualBox очень часто используются для тестирования различного программного обеспечения и его взаимодействия между собой. Обычно, таким программам необходим доступ к интернету. Время от времени возникает необходимость протестировать работу программ по сети или даже создать небольшую тестовую лабораторию из виртуальных машин.

В этой инструкции мы рассмотрим как выполняется настройка сети VirtualBox различными способами. Вы узнаете как объединить машины в одну локальную сеть, как дать им доступ к интернету и как связать их с основной системой. Но сначала поговорим о том, как может работать сеть.

Существует несколько способов как настроить сеть в virtualbox, и каждый из них подходит для лучше для решения одной задачи и меньше для другой. Рассмотрим основные:

  • NAT — этот способ используется по умолчанию. Для каждой машины создается отдельная внутренняя локальная сеть, в которой машина получает ip 10.10.0.1. Машина может связаться с интернетом, используя технологию NAT, и вы можете обратиться к машине, используя проброс портов VirtualBox, но если у вас будет две виртуальные машины, то вы уже не сможете между ними так взаимодействовать. И если из основной системы к гостевой можно обратиться, то к основной ни гостевой уже никак не получится;
  • Виртуальный адаптер хоста — создается виртуальный сетевой адаптер, к которому можно подключить несколько виртуальных машин, тем самым объединив их в локальную сеть. Доступа к интернету нет, но зато машины находятся в одной сети и каждая имеет свой ip адрес, теперь они могут взаимодействовать между собой. Основная система тоже доступна по ip 192.168.56.1. Машины доступны не только между собой, но и из основной системы;
  • Сетевой мост — при таком подключении виртуальная машина становится полноценным членом локальной сети, к которой подключена основная система. Машина использует сетевой интерфейс чтобы получить адрес у роутера и становится доступна для других устройств, как и основной компьютер по своему ip адресу.
  • Внутренняя сеть — почти то же самое, что и виртуальный адаптер хоста, только без возможности доступа к виртуальной сети из основной системы, доступа к интернету нет.
  • Универсальный драйвер — позволяет использовать драйвер из расширений VirtualBox для связи между машинами, расположенными на разных физических хостах.

Теперь рассмотрим каждый вариант настройки более подробно.

Настройка сети Virtualbox

1. Настройка сети NAT

Здесь почти нет о чем говорить. Получение доступа к сети через NAT включено по умолчанию. Проброс портов я рассматривал в отдельной статье. Но если вы раньше отключали сетевые адаптеры, то чтобы включить NAT обратно достаточно открыть настройки нужной машины:

Перейти на вкладку «Сеть»:

Выбрать один из адаптеров. К виртуальной машине можно подключить несколько адаптеров и это очень удобно, так как вы можете комбинировать вместе адаптер виртуального хоста и NAT чтобы получить преимущества обоих режимов. Дальше вам нужно выбрать пункт «NAT» в списке «Тип подключения».

На вкладке «Дополнительно» вы можете настроить марку устройства адаптера и MAC адрес:

Если вы собираетесь устанавливать туда в Windows, то лучше будет работать Intel PRO/1000 MT Desktop, а для Linux можно оставить AMD PCNet FAST III, так как он поддерживается всеми операционными системами.

2. Настройка сети NAT

В версии Virtualbox, начиная с 4.3 была добавлена поддержка сетей NAT, это работает очень похоже на виртуальный адаптер хоста, все машины, подключенные к одной сети могут получить доступ друг к другу, а доступ в интернет выполняется через NAT, но основная система доступа к гостевым не имеет. Чтобы настроить такое подключение нужно сначала создать сеть NAT. Для этого откройте «Файл» -> «Настройки», «Сеть». Здесь перейдите на вкладку «Сети NAT». Дальше нажмите кнопку с зеленым плюсом, чтобы создать новую сеть:

Нажмите «Ok» и закройте это окно. Дальше откройте настройки для виртуальной машины, перейдите на вкладку «Сеть» -> «Адаптер 1»:

Выберите «Тип подключения»«Сеть NAT», а «Имя» — только что созданную сеть.

Теперь все машины, подключенные к этой сети, будут доступны друг другу, как в VMWare.

3. Настройка адаптера виртуального хоста

Теперь задача немного интереснее — нам нужна локальная сеть virtualbox между несколькими виртуальными машинами и хостом. Для того чтобы все это заработало в Linux, нам нужно чтобы были загружены модули ядра vboxnetadp и vboxnetflt:

lsmod | grep vbox

Возможно, для их правильной работы вам придется установить пакет net-tools. Дальше нужно создать сам виртуальный адаптер. Для этого откройте меню «Файл», затем «Настройки» -> «Сеть». Затем нажмите кнопку с зеленым значком плюс, а затем «Ok», все параметры можно оставить по умолчанию. В VirtualBox 5.2 и выше интерфейс был изменен. Теперь вам нужно открыть меню «Инструменты» -> «Менеджер сетей хоста»:

Нажмите кнопку «Создать», затем, в появившемся адаптере, напротив пункта DHCP установите галочку «Включен».

Теперь вернитесь к списку виртуальных машин, зайдите в настройки машины, «Сеть»:

Выберите «Тип подключения»«Виртуальный адаптер хоста», а имя vboxnet0, тот, который вы создали раньше.

Для всех машин, которые вы хотите объединить в одну сеть нужно выбирать один и тот же адаптер хоста. Если вы захотите добавить машинам также доступ в интернет, просто перейдите на вкладку «Адаптер 2», включите его и настройте NAT, как описано в первом пункте.

4. Настройка сетевого моста VirtualBox

Режим сетевого моста позволяет виртуальной машине выступать в роли реального сетевого устройства с отдельным ip адресом. Чтобы это настроить откройте это же меню — настойки виртуальной машины, затем «Сеть». Здесь выберите «Тип подключения»«Сетевой мост»:

В поле «Имя» вам необходимо выбрать сетевой интерфейс, который будет использоваться для связи с внешним миром. Минус такого способа в том, что внешние компьютеры смогут получить доступ к виртуальной машине, а это не очень хорошо с точки зрения безопасности.

5. Внутренняя сеть VirtualBox

Режим внутренняя сеть Virtualbox похож на «Виртуальный адаптер хоста», за тем лишь исключением, что из хостовой системы доступа к гостевым не будет, и настроить все немного проще. Достаточно выбрать «Тип подключения» «внутренняя сеть», а затем просто выбрать нужную сеть в поле «Имя», или создать новую, просто изменив имя текущей.

Как видите, существует тип подключения NAT — где только интернет, Мост — где машина становится членом внешней сети, а все остальные — это настройка виртуальной сети virtualbox, где машины могут видеть друг друга.

Выводы

В этой небольшой статье мы рассмотрели как выполняется настройка сети VirtualBox, как видите, это не так уж сложно, как может показаться на первый взгляд, несмотря на операционную систему, которую вы используете. В большинстве случаев достаточно сети NAT, но иногда может понадобиться виртуальный адаптер хоста, все же остальные режимы используются намного реже.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Содержание

  • Настройка сети в VMware
  • Настройка сети в VirtualBox
  • Проблемы и решения, если у вас нет интернета
    • Если вы используете режим NAT на виртуальной машине
    • Если вы используете режим моста или моста

Настройка сети в VMware

На любой виртуальной машине, созданной с помощью VMware, по умолчанию задан режим NAT. Если мы перейдем к определенной виртуальной машине и нажмем « Редактировать настройки виртуальной машины «, в «Cеть Адаптер» мы можем получить доступ к различным доступным конфигурациям виртуальной машины. Варианты, которые у нас есть в этом меню, следующие:

  • Мост : эта конфигурация позволяет нам физически подключиться к локальной сети, как если бы мы подключали дополнительный компьютер с соответствующим ему уникальным MAC-адресом. Эта конфигурация идеально подходит для «симуляции» того, что у нас есть дополнительный компьютер в локальной сети.
  • NAT : это самый простой способ настроить подключение к Интернету, программное обеспечение VMware само создаст виртуальную сеть, привязанную к реальному частному IP-адресу компьютера или сервера. Это позволяет нам предоставлять диапазон частных адресов различным настроенным нами виртуальным машинам.
  • Только хост : этот параметр позволяет нам настроить общую частную сеть только с хостом.
  • На заказ : VMware позволяет нам создавать специально настроенные сети, чтобы адаптироваться к потребностям. Этот режим конфигурации является более продвинутым, поскольку ранее нам приходилось настраивать различные сети с помощью программного редактора виртуальных сетей.
  • Сегмент локальной сети – Этот параметр позволяет выбрать частную сеть, совместно используемую другими виртуальными машинами. Это очень полезно для анализа производительности сети и ситуаций, когда важна изоляция виртуальной машины.

Параметр по умолчанию на любой виртуальной машине с VMware — это NAT, таким образом, у нас будет локальная частная сеть, которая позволит нам соединять между собой различные виртуальные машины, и, выполняя NAT против частного IP-адреса нашего реального ПК, это также имеет связь со всей сетью. физическая локальная сеть и даже подключение к Интернету. Чего у нас не будет, так это возможности соединения компьютеров в физической локальной сети и виртуализированной операционной системы (строго в этом смысле), потому что она работает как NAT роутера.

Режим моста действительно полезен в тех случаях, когда мы хотим подключить виртуальную машину к физической сети, проводной или беспроводной. Очень важной деталью этого параметра конфигурации является просмотр политик безопасности коммутатора или беспроводной сети, потому что у нас могут возникнуть проблемы, если у вас порт Охранник или MAC-фильтрация.

Если мы нажмем на « Дополнительно », программное обеспечение VMware позволяет нам настроить ограничитель пропускной способности на входе и выходе, хотя самое интересное — это возможность изменить MAC-адрес виртуальной сетевой карты, назначенной конкретной виртуальной машине. Мы можем сгенерировать новый случайным образом или использовать MAC-адрес, который нам нужен.

Если вы хотите подробно настроить «Мост», «Только для хоста» или «NAT», которые мы видели ранее, вы должны перейти в меню «Редактировать / Редактор виртуальной сети». В этом расширенном меню конфигурации вы можете настроить все на сетевом уровне ваших виртуальных машин.

Если вы собираетесь использовать режим «Мост», по умолчанию используется режим «Автоматически», это означает, что VMware автоматически выберет, какая сетевая карта имеет подключение к Интернету, и сетевой трафик будет входить и выходить через этот физический интерфейс. . Мы рекомендуем всегда устанавливать сетевую карту, через которую будет проходить сетевой трафик.

У нас также есть возможность настроить режим «NAT», который мы видели ранее. У нас есть возможность настроить диапазон частных IPv4-адресов, которые будут использовать виртуальные машины, а также включить или отключить DHCP-сервер в этом режиме NAT:

Если мы перейдем к опции «Настройки NAT», мы сможем настроить шлюз по умолчанию для различных виртуальных машин, добавить политики переадресации портов для доступа снаружи NAT внутрь, и мы даже можем включить IPv6 между другими параметрами. В разделе «Настройки DHCP» мы можем настроить диапазон IP-адресов, который будет динамически предоставляться различным настроенным виртуальным машинам.

Как вы видели, VMware предоставит нам широкие возможности настройки на сетевом уровне, что идеально подходит для адаптации к основным потребностям.

Настройка сети в VirtualBox

Сетевые настройки в VirtualBox имеют практически те же параметры конфигурации, что и в VMware. Конфигурация сети по умолчанию — это NAT против фактического локального частного IP-адреса компьютера, но у нас также есть другие параметры конфигурации, такие как следующие:

  • NAT : это опция по умолчанию, она работает точно так же, как мы видели раньше в VMware. Автоматически каждая виртуальная машина будет иметь частный IP-адрес в той же сети, и по сравнению с реальным локальным частным IP-адресом компьютера она сможет получить доступ к любому компьютеру в физической сети, а также в Интернете.
  • Мостовой адаптер : это тот самый «мостовой» режим, который мы видели раньше.
  • Внутренняя сеть : позволяет создать изолированную сеть, в которой компьютеры внутри будут иметь связь между собой, но ни с кем другим, если мы создадим несколько внутренних сетей, мы сможем иметь связь между виртуальными машинами, которые находятся в одной сети.
  • Адаптер только для хоста : Это похоже на внутреннюю сеть, но там, где находится реальное оборудование, чего не происходит с опцией «внутренняя сеть».
  • Сеть NAT : это расширение обычного NAT, но здесь мы можем настроить адресацию и другие дополнительные параметры.

Если мы пойдем в « Файл > Настройки » мы можем увидеть различные созданные сети NAT, если мы нажмем «+» с правой стороны, мы сможем добавить новые сети NAT, чтобы позже использовать их в разных виртуальных машинах.

Как видите, у нас есть возможность настроить имя сети, подсеть в нотации CIDR и, если мы хотим, настроить DHCP-сервер, протокол IPv6, а также переадресацию портов.

Как только мы узнаем различные способы подключения виртуальных машин, мы увидим, какие проблемы мы можем найти.

Проблемы и решения, если у вас нет интернета

Способ подключения к Интернету с помощью виртуальной машины обычно осуществляется через NAT или через мост (адаптер режима моста), поэтому мы собираемся разделить этот раздел на две хорошо дифференцированные части: часть NAT и часть моста.

Если вы используете режим NAT на виртуальной машине

Если вы используете режим NAT в виртуальной машине, вы должны учитывать, что и VMware, и VirtualBox будут использовать внутреннюю таблицу маршрутизации компьютера для получения Интернета на имеющихся у нас ВМ. В этом режиме работы, если реальный компьютер, подключенный к физической сети, имеет подключение к Интернету, виртуальная операционная система всегда будет иметь подключение к Интернету. Независимо от того, какие политики безопасности действуют на сетевом уровне, весь сетевой трафик от виртуальных машин будет выходить в Интернет, как если бы он генерировался настоящим ПК, поэтому мы можем исключить все эти проблемы с подключением.

Единственная проблема, которая у нас может быть, заключается в том, что частный IP-адрес физической сети совпадает с адресом виртуальной сети . В этом случае операционная система может не очень хорошо знать, что делать с сетевым трафиком на основе ее таблиц маршрутизации, поэтому, если частный IP-адрес совпадает с виртуальной сетью, которую делает NAT, мы рекомендуем вам изменить подсеть NAT. VMware или VirtualBox, чтобы не возникало проблем.

Чтобы изменить подсеть NAT, необходимо перейти в « Редактировать / Редактор виртуальной сети « выберите VMnet8, который настроен как NAT, а внизу мы можем настроить часть «IP-адрес подсети», а также настроить сетевую маску. подсеть. Здесь мы можем изменить эту подсеть VMware по умолчанию, если она соответствует основной сети.

В случае с VirtualBox процесс будет аналогичным, режим NAT настроен по умолчанию, поэтому следует выбрать режим «сеть NAT» и настроить свободную частную подсеть, не совпадающую с физической подсетью. Таким образом, у нас не будет никаких проблем.

Как видите, это единственная проблема, которую мы можем найти в режиме NAT, что основная физическая сеть такая же, как и виртуальная сеть.

Если вы используете режим моста или моста

В том случае, если вы используете режим моста, вы должны учитывать несколько аспектов, если у вас есть проблемы с подключением к физической сети и Интернету. Если в режиме NAT все работает правильно, а в режиме моста или моста нет, то проверьте следующее:

  • Если вы используете VMware, в «Редакторе виртуальной сети» настройте сетевой профиль VMnet0, который подключается следующим образом:

Если вы оставите его автоматическим и у вас есть несколько сетевых интерфейсов, у вас могут возникнуть проблемы с мостом. Мы столкнулись с серьезными проблемами при его работе в автоматическом режиме, потому что, если мы изменим физический сетевой интерфейс, он заставит нас перезапуститься, чтобы решить эту проблему (и надеемся, что она исправится сама). Целесообразнее всего выбирать именно физическую сетевую карту, ничего не оставлять в автоматическом режиме, обязательно оставлять статически с той сетевой картой, которую мы хотим.

В этом режиме конфигурации у вас могут возникнуть проблемы с подключением к Интернету из-за безопасности физической сети, мы также должны проверить это, потому что это как если бы у нас был новый компьютер:

  • Коммутатор :
    • Проверьте переключатель, если у вас есть Функция Port Security активирована и настроена . Если наш порт коммутатора имеет максимум 1 устройство одновременно, и мы подключаем виртуальную машину по мосту, у нас будет два, поэтому второе устройство не будет иметь связи. У вас также будут проблемы с основным ПК, если политика безопасности порта отключена, так как она автоматически отключит порт.
    • Проверить Настройка привязки IP-MAC-порта . При наличии дополнительного оборудования на том же порту с другим IP-адресом и MAC-адресом средства защиты коммутатора могут заблокировать доступ к сети.
  • Маршрутизатор :
    • Проверьте, что у нас есть DHCP-сервер активирован , иначе придется поставить фиксированный IP в операционной системе виртуальной машины.
    • Проверяем, что у нас нет брандмауэр препятствуя общению.
    • Убедитесь, что у нас нет ограничительных правил для добавления новых хостов в сеть, потому что мостовой хост действует как новый хост.

После того, как вы все это проверите, у вас не должно возникнуть проблем с подключением к Интернету с виртуальной машины. Мы также рекомендуем вам выполнить типичные тесты ping, чтобы увидеть, как далеко мы продвинулись, и где связь не достигает.

I have created a a NAT Network in VirtulBox 5 In Ubuntu 14.04 LTS with following settings

Natework Name : NatNetwrok1
Network CIDR: 10.0.2.0/24
Support DHCP :enabled
Support IPv6 :disabled
without any port forwarding

Additionally I have two VMs (Both Xubuntu clones), I have set the Network settings to enable two NICs on each of the VM with following settings in all four adapters:

Attached To : “NAT Network”

Name : “NatNetwrok1”

When I run both VMs I can see following settings on running ifconfig command

ifconfig results on Xubuntu1

eth0      Link encap:Ethernet  HWaddr 08:00:27:00:8c:03  
          inet addr:10.0.2.9  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe00:8c03/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12133 (12.1 KB)  TX bytes:8517 (8.5 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:9e:20:e8  
          inet addr:10.0.2.8  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe9e:20e8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10294 (10.2 KB)  TX bytes:8798 (8.7 KB)

ifconfig results on Xubutracentu2

eth0      Link encap:Ethernet  HWaddr 08:00:27:00:8c:03  
          inet addr:10.0.2.9  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe00:8c03/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:12133 (12.1 KB)  TX bytes:8517 (8.5 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:9e:20:e8  
          inet addr:10.0.2.8  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe9e:20e8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10294 (10.2 KB)  TX bytes:8798 (8.7 KB)

Ping between these 4 IPs works fine
But I can not access Internet on either of these VMs
While if o change “NAT Network” to “NAT” I can access the network but it seems the become part of different virtual network and I can not ping them from each other
Can anybody help me in identifying and fixing problem

Can anyone also explain whats difference between NAT and NAT Network

asked Aug 11, 2015 at 17:16

ehsan's user avatar

2

According to VirtualBox manual, these are the network possibilities for your VMs:

  • NAT: Internal network between VM and host. Besides you can access to the Internet. Two or more VMs in NAT mode don’t have connectivity among them, only with the host and Internet.

  • Internal: All VMs with this configuration will have connectivity among them but not with the host nor Internet.

  • Host only: A virtual network will be created between the host and all the VMs with this configuration, but you will have no Internet access.

  • NAT Network: You can reach all VMs in the same pre-defined NAT network and the host, but you won’t be able to connect to Internet.

  • Bridged: Your VM will be in the same network that your host as if it were other computer/server in this network, and thus, it will have Internet acces if your host has.

  • Generic: Advanced and more specific configuration rarely used.

So, if you want to create an internal network with connectivity to the host choose NAT Network, but notice that you will have no Internet access. NAT is set only when you just want Internet access from your VM and nothing else.

However none of these settings are ok with you if you want to have either connectivity between both VMs and the Internet. As far as I know, your only choice is to configure both VMs in bridged mode, so they will be ‘different’ computers in you host network and you will be able to ping them all and the Internet from any of them.

On the other hand, it seems that you clonned one VM from the other because both machines have the same MAC address (HWaddr in ifconfig command info), be aware that you should check the checkbox that reads «Reinitialize the MAC address of all network cards» when clonning. Two devices with the same MAC address always creates problems.

I am not an expert in VirtualBox so maybe other users can tell you other posible configurations to get what you want. I hope you find this information useful.

For more information you can read this.

answered Sep 12, 2016 at 11:21

Tamariz189's user avatar

Tamariz189Tamariz189

811 silver badge2 bronze badges

1

Why not working?

In 16.04 (and probably 14.04) the NAT Network feature of the main packaged version of VirtualBox (5.0.36) is bugged.

Check it!

You can check it yourself: if the ls /usr/lib/virtualbox/VBoxNetNAT executable is present, then you may have some other kind of issue.

Fix it!

This bug is fixed in newer versions. So you should install a new version:

Remove old version

For example if you installed using apt you could run:

sudo apt remove virtualbox --auto-remove

Install new version

The fix is available for newer versions (Ubuntu yakkety+). For older versions:

  • Visit the virtualbox.org, and download the newest version manually
  • OR
  • Use the following script:

    # add the official repository
    wget -q -O - https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo apt-key add -
    echo deb http://download.virtualbox.org/virtualbox/debian `lsb_release -cs` non-free contrib | sudo tee /etc/apt/sources.list.d/virtualbox.org.list
    # install the newer version
    sudo apt install virtualbox-5.1
    

answered Apr 20, 2017 at 12:57

MrMeszaros's user avatar

MrMeszarosMrMeszaros

6471 gold badge7 silver badges13 bronze badges

1

I ran into this using VirtualBox 5.0.40 from the default apt repository. To get around it, I configured each VM to use two network interfaces.

  • Adapter 1: Bridge Addapter (to your real nic)
  • Adapter 2: NAT Network (of your choice)

Under the guets OS (Ubuntu 16.04), you will need to tweak /etc/network/interfaces in order for the second interface to show up. In my case, I needed VMs to use static IPs inside the NAT Network, so this is what I got.

## Bridge to Internet
auto enp0s3
iface enp0s3 inet dhcp

## NAT Network among VMs
## Static is optional
## DHCP if you don't need it
auto enp0s8
iface enp0s8 inet static
  address 10.10.11.100
  netmask 255.255.255.0

This, of course, assumes my NAT Network uses the subnet 10.10.11.0/24. Adapt numbers to your scenario or just leave it to dhcp, as you wish.

NOTE: One important thing to note in the static config is that, for this particular scenario, you CANNOT assign it a default gateway. Giving enp0s8 a default (like 10.10.11.1) will cause the OS to create a route to this gateway and that route can also screw up your internet access as well. You should only need to do that when this particular interface needs routes to other networks, aside from the one configured to it.

To find out interface names assigned by Ubuntu for your environment, you can dmesg | grep eth.

enter image description here

answered Jun 13, 2017 at 18:01

JulioHM's user avatar

JulioHMJulioHM

6341 gold badge5 silver badges11 bronze badges

1

This might be a bug in VirtualBox. I’ve experienced the same (Ubuntu 16.04.2 LTS, VirtualBox 5.0.32_Ubuntu r112930): Set up a NAT Network, configured that for two Ubuntu VMs. Each VM could ping / SSH into the other, and via port forwardings I could SSH from the host into each VM. But no Internet access from inside the VMs. A colleague tried the same with a Windows host, VirtualBox (unknown version), and the same VMs, and it worked.

As a workaround, I’ve configured a second network card for each VM: The first one using NAT to access the Internet, the second using «NAT Network» to access the other guest(s). I had to set up the SSH port forwarding on the first (NAT) card, and configure a different SSH port on one VM (i.e. 2222 -> 22 on VM1, 2223 -> 23 on VM2).

Based on the documentation, both NAT and NAT Network should be able to access the Internet. The difference is that the first has segregated host ↔ guest connections, so guests cannot access each other, only the host. The latter pools all guests into a single network (and provides services such as DHCP), so that they can access each other.

answered Mar 22, 2017 at 19:52

Ingo Karkat's user avatar

Ingo KarkatIngo Karkat

46610 silver badges21 bronze badges

В VirtualBox можно создать и одновременно запустить несколько виртуальных машин. Эту функцию используют для тестирования нового ПО перед внедрением в рабочую среду или для экспериментов. Бывает, что гостевые ОС нужно связать между собой. О том, как настроить сеть в VirtualBox мы расскажем статье.

Какие типы подключения доступны в VirtualBox

Настроить интернет на отдельной виртуальной машине или локальную сеть между несколькими виртуальными устройствами можно разными способами. Например, в версии VirtualBox 6.1 для этого доступны следующие инструменты:

  • NAT,
  • сетевой мост,
  • внутренняя сеть,
  • виртуальный адаптер хоста,
  • универсальный драйвер,
  • сеть NAT,
  • Cloud Network.

Для одной гостевой ОС можно использовать до 4 сетевых адаптеров, но обычно достаточно 1 сетевого адаптера. Для каждого адаптера можно выбрать любой тип подключения. Это позволяет комбинировать настройки и выбирать разные варианты работы сети на виртуальных машинах. Рассмотрим, как включить или отключить адаптер.

Как включить и отключить адаптер

  1. 1.

    Правой кнопкой мыши кликните на гостевую ОС и нажмите Настроить:



    Выбор настроек виртуальной машины в VirtualBox 1

  2. 2.

    Перейдите в раздел Сеть:



    Перейти к настройкам сети для отключения адаптера

  3. 3.

    Выберите адаптер, который хотите добавить или удалить. Затем переключите чек-бокс Включить сетевой адаптер в нужное положение. Если вы включаете новый адаптер, в выпадающем списке выберите нужный тип подключения и нажмите OK:



    Включить или отключить адаптер

Готово, гостевая ОС будет работать с выбранными адаптерами.

Как подключить виртуальную машину к интернету

В VirtualBox при создании каждая виртуальная машина автоматически получает доступ в интернет при помощи NAT. Это самый простой способ подключения гостевой ОС к интернету, который не требует дополнительных настроек. Доступа к другим гостевым ОС в таком случае не будет.

NAT изолирует виртуальную машину от соединений извне. Проводником в интернет выступает хост-система, через которую и проходят все входящие и исходящие запросы. Если вам нужен только доступ в интернет, мы рекомендуем использовать NAT-подключение.

Чтобы включить или отключить интернет с помощью NAT в VirtualBox:

  1. 1.

    Кликните правой кнопкой мыши по машине и нажмите Настроить:



    Выбор настроек виртуальной машины в VirtualBox 2

  2. 2.

    Нажмите Сеть и переключите чек-бокс в нужное состояние. Выберите тип подключения NAT и нажмите OK:



    Переключатель NAT-соединения

Готово, подключение виртуальной машины к интернету выполнено.

Как настроить сеть между хостом и виртуальной машиной VirtualBox

Если нужно создать сеть между гостевой и основной ОС, выберите тип подключения «Сетевой мост». В этом случае виртуальная машина подключается напрямую к основной сети как полноценное устройство. Для подключения используется сетевая карта хост-системы.

Чтобы включить сетевой мост:

  1. 1.

    Кликните правой кнопкой мыши по виртуальной машине и нажмите Настроить:



    Выбор настроек виртуальной машины в VirtualBox 3

  2. 2.

    Выберите из выпадающего списка Сетевой мост и нажмите OK:



    Сетевой мост в VirtualBox

Готово, гостевая ОС теперь доступна для основной.

Настройка сети между виртуальными машинами в VirtualBox

Сеть NAT объединяет виртуальные машины в локальную сеть. Как и в случае с обычным NAT, у каждой есть доступ в интернет, но от доступа извне они изолированы.

Чтобы создать сеть из виртуальных машин VirtualBox:

  1. 1.

    Нажмите Файл — Настройки:



    Настройка сети NAT в VirtualBox

  2. 2.

    Перейдите во вкладку Сеть и нажмите на кнопку с зеленым плюсом:



    Создание новой сети NAT в VirtualBox

  3. 3.

    Нажмите OK:



    Сохранить новую сеть NAT в VirtualBox

  4. 4.

    Кликните правой кнопкой мыши по машине, которую хотите добавить в сеть и нажмите Настроить:



    Выбор настроек виртуальной машины в VirtualBox 4

  5. 5.

    Выберите тип подключения «Сеть NAT», имя созданной сети и нажмите OK:



    Добавление виртуальной машины в сеть NAT VirtualBox

  6. 6.

    Повторите действия с 4 шага для всех устройств, которые хотите включить в сеть.

Готово, локальная сеть из виртуальных машин создана.

Оригинал: VirtualBox Networking

Автор: Robin Catling

Дата публикации: май 2012 г.

Перевод: Семененко В.

Дата перевода: 5 октября 2012 г.

Все началось с того, что однажды мне потребовалось запустить экземпляр CMS WordPress в песочнице. Начало было простым. Достаточно было создать виртуальный сервер Ubuntu 11.10 в качестве гостевой операционной системы на VirtualBox. Но затем я обнаружил, что я знаю гораздо меньше о сетях и их настройке, чем я думал до этого. В частности, о пакетах, коммутаторах и маршрутизаторах. Еще меньше я знал о настройке сетей в VirtualBox, где все аппаратное обеспечение представлено в программном виде. Несколько попыток и неудачных настроек сети, достигнутая цель — и как результат, представляю вам эту статью. Целью ее является сберечь ваши нервы на основе моих собственных проб и ошибок.

Сетевые настройки VirtualBox

Для начала установите любую версию виртуальной машины VirtualBox, начиная с 3.0. И вы найдете в
ней примерно одинаковые возможности по сравнению с теми, что описываются в данной статье.

После установки программы перейдите в меню «Настройки — Сеть». Вид открываемой вкладки
соответствует настройкам по умолчанию. Любая из виртуальных машин может быть настроена на использование четырех сетевых адаптеров — в зависимости от того, какой вам необходим в конкретном случае. Но чаще всего на практике требуется только один из них. Как правило, при установке виртуальной машины, по умолчанию создается простой сетевой адаптер. Этого достаточно для выхода в Интернет.

В зависимости от потребностей, может понадобиться создание нескольких сетевых интерфейсов разных типов. Или же нескольких устройств одного типа, но с разными настройками. Это может потребоваться для использования на виртуальной машине как физических, так и виртуальных сетевых адаптеров. Все зависит от того, какие из них подключены.

Режим NAT

Для моего 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)

MAC-адрес (MAC — аббревиатура от Media Access Control) является уникальным «именем» устройства в сети, однозначно идентифицирующим и отличающим его от остальных адаптеров и узлов. Этот адрес прописывается для каждого сетевого устройства на физическом уровне в памяти самого интерфейса. При создании виртуального сетевого адаптера VirtualBox автоматически генерирует для него MAC-адрес.
Если необходимо изменить уже имеющийся MAC-адрес, то для этого служит небольшая кнопка справа, которая генерирует новое значение. В случае клонирования существующей виртуальной машины, для нее необходимо создать свой собственный уникальный MAC-адрес, который будет отличаться от адреса оригинальной машины.

Галочка напротив надписи «Кабель подключен» выполняет ту же роль, что и подключение или отключение физического кабеля в реальности. Эта настройка отвечает за подключение виртуального сетевого адаптера к сети. Не стоит путать ее с другой более важной настройкой «Включить сетевой адаптер», которая включает или выключает сам адаптер на виртуальной машине.

Кнопка «Проброс портов» открывает диалоговое окно, в котором производится настройка правил поведения трафика на конкретном адаптере; каким образом будет перемещаться трафик определенного типа между хостом и гостевой виртуальной машиной. Эти правила применяются к сетевым моделям, которые будут рассмотрены немного позже. Сами сетевые модели определяются на вкладке «Тип подключения». Эта настройка является наиболее сложным моментом в установке соединений в VirtualBox. Она доставила мне наибольшие проблемы в экспериментах.

«Подводные камни»

Существуют четыре типа сетевых моделей подключения и большое количество возможных комбинаций настроек этих подключений. В этом плане создание сети в VirtualBox похоже на средневековую алхимию — настолько здесь все запутано и нелогично. Казалось бы, если следовать правильным настройкам, то вы достаточно просто получите нужный результат. Однако, имеется несколько решений одной задачи, которые изначально все будут правильными. Но в конечном итоге приведут к тому, что вы не достигнете поставленной цели. Поверьте мне, уж я знаю…

Типы подключения к сети

В VirtualBox имеются четыре готовые модели для подключения к сети:

  • Трансляция сетевых адресов (NAT), которая является настройкой по умолчанию
  • Сетевой мост (Bridged)
  • Виртуальный адаптер хоста (Host Only)
  • Внутренняя сеть (Internal Network)

Соединение типа «Не подключен» также является настройкой сети, но служит только для одной цели — определения возможных неполадок. В этом режиме 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.

В моем случае, я использую беспроводной адаптер wlan0, так как он подключен к маршрутизатору. В то время как проводной интерфейс eth0 не имеет даже кабеля.

Режим Сетевой мост

Поэтому моему хосту назначен роутером IP-адрес 192.168.0.2. Виртуальной машине в режиме «Сетевой мост» присвоен адрес 192.168.2.6. При этом не имеет значения тот факт, что VirtualBox передает и получает трафик как бы «сквозь» хост, минуя его. В результате получается, что виртуальная машина становится просто еще одним компьютером в локальной сети. Если я пересчитаю свой компьютер и три виртуальные машины (VM), работающие в режиме «Сетевой мост», то у меня получиться четыре компьютера в физической локальной сети.

Дальше — больше…

Протокол NAT полезен, потому что он защищает гостевые операционные системы со стороны Интернет. Но для того, чтобы получить доступ к ним извне (а на некоторых ОС у меня имеются установленные web-сервера), потребуется дополнительная настройка для перенаправления трафика. Тип подключения «Сетевой мост» позволяет получить доступ к ним, но системы в этом случае становятся незащищенными.

Если ваше сетевое устройство доступа (это может быть маршрутизатор, сетевой коммутатор или же настройки, предоставленные Интернет-провайдером) позволяет предоставлять только один IP-адрес для сетевого интерфейса, возможно, вам не удастся настроить «Сетевой мост».

Виртуальный адаптер хоста (Host-only)

При подключении типа «Виртуальный адаптер хоста» гостевые ОС могут взаимодействовать между собой, а также с хостом. Но все это только внутри самой виртуальной машины VirtualBox. В этом режиме адаптер хоста использует свое собственное, специально для этого предназначенное устройство, которое называется vboxnet0. Также им создается под-сеть и назначаются IP-адреса сетевым картам гостевых операционных систем. Гостевые ОС не могут взаимодействовать с устройствами, находящимися во внешней сети, так как они не подключены к ней через физический интерфейс. Режим «Виртуальный адаптер хоста» предоставляет ограниченный набор служб, полезных для создания частных сетей под VirtualBox для ее гостевых ОС.

В отличие от других продуктов виртуализации, адаптер, работающий под протоколом NAT в VirtualBox, не может выступать в роли связующего моста между сетевым устройством по умолчанию на хостах. Поэтому невозможен прямой доступ извне к машинам, «спрятанным» за NAT — ни к программам, работающим на них; ни к данным, находящимся на самих хостах. Давайте рассмотрим следующий пример.

Режим виртуальный адаптер хоста

Как правило, хост имеет свой собственный сетевой адрес, который используется для выхода в Интернет. Обычно это 192.168.0.101. В режиме «Виртуальный адаптер хоста» машина-хост также выступает в роли роутера VirtualBox и обладает IP-адресом по умолчанию 192.168.56.1. Создается внутренняя локальная сеть, обслуживающая все гостевые операционные системы, настроенные для режима «Виртуальный адаптер хоста» и видимые для остальной части физической сети. Адаптер vboxnet0 использует адреса из диапазона, начинающегося с 192.168.56.101. Но при желании можно изменить адрес по умолчанию.

Подобно адаптеру в режиме «Сетевой мост», в режиме «Виртуальный адаптер хоста» используются разные диапазоны адресов. Можно легко настроить гостевые системы для получения IP-адресов, используя для этого встроенный DHCP-сервер виртуальной машины VirtualBox.

В дополнение нужно сказать, что в режиме «Виртуальный адаптер хоста» созданная им сеть не имеет внешнего шлюза для выхода в Интернет, как для хоста, так и для гостевых операционных систем. Он работает только как обычный сетевой коммутатор, соединяя между собой хост и гостевые системы. Поэтому адаптер в режиме «Виртуальный адаптер хоста» не предоставляет гостевым машинам выход в Интернет; vboxnet0 по умолчанию не имеет шлюза. Дополнительные возможности для этого адаптера значительно упрощают настройку сети между хостом и гостевыми ОС, однако все же отсутствует внешний доступ или перенаправление портов. Поэтому может потребоваться второй адаптер в режиме «Виртуальный адаптер хоста» или «Сетевой мост», который подключается к гостевой операционной системе для получения полного доступа к ней.

Внутренняя сеть (Internal Network)

Если на практике вам потребуется настроить взаимосвязь между несколькими гостевыми операционными системами, работающими на одном хосте и могущими сообщаться только между собой, тогда можно воспользоваться режимом «Внутренняя сеть». Конечно, для этой цели можно использовать режим «Сетевой мост», но режим «Внутренняя сеть» обладает большей безопасностью. В режиме «Сетевой мост» все пакеты отправляются и получаются через адаптер физической сети, установленный на машине-хосте. В этом случае весь трафик может быть перехвачен (например, путем установки сниффера пакетов на машине-хосте).

Режим внутренняя сеть

Внутренняя сеть, согласно руководству VirtualBox, является «программной сетью, которая может быть видима для выборочно установленных виртуальных машин, но не для приложений, работающих на хосте или на удаленных машинах, расположенных извне». Такая сеть представляет из себя набор из хоста и нескольких виртуальных машин. Но ни одно из вышеперечисленных устройств не имеет выхода через физический сетевой адаптер — он полностью программный, используемый VirtualBox в качестве сетевого маршрутизатора. В целом получается частная локальная сеть только для гостевых операционных систем без доступа в Интернет, что делает ее максимально безопасной. Возможное применение такой сети — сверхсекретный сервер с клиентами, предназначенный для разработки; тестирование систем на проникновение или какие-либо другие цели, преследующие создание внутренней сети для команд-разработчиков или организаций. Это идеальный способ для блокировки окружения от неавторизованной установки программного обеспечения, скачивания или закачивания файлов, посещения сервисов типа Facebook в рабочее время.

Итак, мы рассмотрели различные типы сетевых соединений. Каждый из них имеет свои собственные настройки и предназначен для определенных целей. Вернемся к тому моменту, откуда все началось — создание виртуального сервера для развертывания на нем CMS WordPress и его тестирования.

Доступ к гостевой операционной системе

Во-первых, мне нужен доступ в Интернет из гостевой системы для установки обновлений, скачивания пакетов и других подобных задач. Мне также необходим доступ к Сети с машины-хоста. Но мне не нужно, чтобы сервер был доступен из внешней сети.

Выбираю необходимую виртуальную машину из менеджера VirtualBox и затем перехожу в меню «Настройки — Сеть».

Оставляю выбранным по умолчанию сетевой адаптер в режиме NAT. Это позволит гостевым системам выходить в Интернет через настроенное соединение хоста, на котором установлены эти машины. Гостевые системы не видны извне в локальной сети; я также не имею доступа к любой из гостевых систем со стороны хоста; аналогично, гостевые системы не могут взаимодействовать между собой.

Настройка виртуального адаптера хоста

Самый простой способ — это использовать адаптер в режиме «Виртуальный адаптер хоста», предоставляемый VirtualBox по умолчанию. Он имеет имя vboxnet0. Можно добавить столько адаптеров подобного типа, сколько нужно (если есть необходимость в настройке нескольких отдельных сетей типа «Виртуальный адаптер хоста»). Открыв основное окно менеджера гостевых операционных систем VirtualBox, и выбрав в меню «Настройки — Сеть», вы можете конфигурировать существующий адаптер vboxnet0 или создать еще несколько подобных (vboxnet1, vboxnet2).

Щелкните мышью на кнопке «Редактировать» — иконка с изображением отвертки (третья по счету сверху вниз). Щелчок на этой иконке откроет настройки по умолчанию. В них адрес 192.168.56.1 является тем адресом, по которому гостевые системы получают доступ к хосту. Я оставил его «как есть», не меняя.

Адаптер vboxnet0

IP-адреса vboxnet0

По умолчанию, адаптер vboxnet0 динамически получает IP адрес во время сессии подключения от DHCP-сервера. Для моего виртуального web-сервера WordPress необходимо, чтобы он имел статический IP-адрес. Поэтому на вкладке «DHCP сервер» я убрал галочку с надписи «Включить сервер». Таким образом, DHCP-сервер у меня отключен.

DHCP отключен

Добавление виртуального адаптера хоста

Я собираюсь добавить еще один сетевой адаптер (в режиме «Виртуальный адаптер хоста») к гостевой машине, что позволит создать самодостаточную частную виртуальную сеть. Эта сеть будет состоять только из хоста и любой гостевой операционной машины, настроенной в режиме «Виртуальный адаптер хоста».

Поэтому в настройках гостевой системы я открываю вкладку «Адаптер 2» и устанавливаю значение «Тип подключения» в положение «Виртуальный адаптер хоста». По умолчанию, вновь созданному адаптеру присваивается имя vboxnet0. «Неразборчивый режим» для меня не имеет значения, поэтому оставляю его в значении «Запретить». Надпись «Кабель подключен» я также оставляю активной.

Настройка гостевой системы

Адаптер vboxnet0

Мне необходимо, чтобы гостевой виртуальный сервер имел статический IP-адрес в сети, работающей в режиме «Виртуальный адаптер хоста». Иначе адрес сервера будет меняться от сессии до сессии, каждый раз при подключении. Я буду вынужден снова и снова решать задачу настройки, чтобы соединиться с хостом. Поэтому захожу в гостевую систему, открываю в ней терминал и ввожу в нем две следующие команды:

Эти действия устанавливают указанный IP-адрес для адаптера, расположенного в гостевой системе и запускают этот сетевой интерфейс. В этом адресе используется сетевой префикс 192 для домашних сетей, затем следует .168 в качестве начального адреса хоста ID, .56 для установки диапазона адресов под-сети; и наконец, финальный идентификатор .1 (хост) для сети. Адаптер в режиме NAT имеет имя eth0, поэтому логично предположить, что адаптер в режиме «Виртуальный адаптер хоста» имеет имя eth1. Я могу использовать этот IP-адрес для тестирования гостевой системы из хоста через протокол SSH или браузер.

Однако, эти настройки являются временными. Если я произведу перезагрузку системы, все они бесследно пропадут. Для того, чтобы установить их постоянными, нужно добавить (используя учетную запись root) в файл /etc/network/interfaces следующие строки:

Теперь, при перезагрузке, этот сетевой интерфейс запустится автоматически. Для проверки — запустился ли он, я использую команду ifconfig, которую ввожу в терминале гостевой операционной системы.

Присвоение имен

Так как я не слишком «дружу» с числами и IP-адресами, то для себя я всегда использую имена для гостевых систем вместо присвоения им IP-адресов. Для этого я редактирую файл /etc/hosts на машине-хосте и добавляю туда ссылки. Таким образом, я могу просматривать запущенные гостевые системы по их именам.

В файл /etc/hosts я добавляю строку:

Если я добавляю еще несколько гостевых систем с сеть, то мне достаточно отредактировать этот файл и дописать нужное количество строк. Благодаря такому приему я легко могу обратиться к любой из этих систем.

Альтернативный маршрут

Эксперты сетевых технологий могут заметить, что в моей конфигурации существует альтернативный маршрут для доступа к виртуальному серверу.

Используя адаптер по умолчанию, работающий по протоколу NAT, можно запустить дополнительную конфигурацию, которая позволит мне получить доступ к виртуальному серверу с хоста, не используя при этом сетевую настройку «Виртуальный адаптер хоста».

Используя панель настроек «Сетевой адаптер» в гостевой операционной системе, можно настроить проброс портов в виртуальной машине VirtualBox. Для этого переходим к настройкам адаптера NAT (кнопка внизу окна) для настройки перенаправления портов. При нажатии на нее откроется диалоговое окно, в котором настраиваются правила проброса для данного сетевого адаптера и гостевой системы.

Мне необходимо настроить два правила; одно для получения доступа к web-серверу Apache на гостевой системе, второе — для регулирования всего остального TCP-трафика (в большинстве это http-запросы).

Не мудрствуя лукаво, я назвал эти правила Apache и TCP, соответственно; оба используют TCP-протокол. Если говорить о привязке номеров портов, то порт 8888 на хосте перенаправляет трафик на гостевую систему для сервера Apache; порт 2222 на хосте перенаправляет трафик на порт 22, расположенный на гостевой операционной системе; такая настройка предоставляет мне доступ к гостевой системе для управления ее службами. Любой другой трафик будет отклонен виртуальной машиной, как не подпадающий под правила.

Проброс портов

Это означает, что любые другие гостевые системы, которые я запущу на виртуальной машине, не смогут соединиться с виртуальным сервером, так как просто не существует сетевого маршрута под NAT.

Если вам понравилась статья, поделитесь ею с друзьями:


Понравилась статья? Поделить с друзьями:
  • Как исправить отсутствие звука на ноутбуке
  • Как исправить отстриженную челку
  • Как исправить отставание кварцевых часов
  • Как исправить отслойку на кончиках ногтей
  • Как исправить отслойку гель лака на одном ногте