Настройка локальной сети между компьютером и виртуальной машиной virtualbox

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

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

Настройка локальной сети между компьютером и виртуальной машиной virtualbox

Далее загружаем виртуальную машину и проверяем сеть.

В windows сеть можно проверить командой «ipconfig»:

Проверка сети в windows

На ОС 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)»:

Настройка локальной сети между компьютером и виртуальной машиной virtualbox - смена типа адаптера

Можете поэксперементировать с типом адаптера для достижения нужного результата.

ssh-доступ к виртуальной машине в virtualbox

После успешной настройки локальной сети между компьютером и виртуальной машиной можно к ней подключиться, например по ssh. Для этого набираем ip адрес, про который я писал вначале статьи, в ssh клиенте и радуемся успешному подключению)

Комментарии: 4 к “Настройка локальной сети между компьютером и виртуальной машиной virtualbox”

  1. Здравствуйте.А, что такое ssh-доступ к виртуальной машине в virtualbox, и как им пользоваться?

    1. SSH позволяет обращаться к виртуальной машине (и не только виртуальной), в том числе к её файловой системе (это удобно, т.к. не надо расшаривать папки). Подробнее можете прочитать тут.

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

Добавить комментарий для Евгений Отменить ответ

Ваш адрес email не будет опубликован.