Настройка локальной сети между компьютером и виртуальной машиной virtualbox на Windows 10
Первый шаг — настройка сети в 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-доступ к виртуальной машине в virtualbox
После успешной настройки локальной сети между компьютером и виртуальной машиной можно к ней подключиться, например по ssh. Для этого набираем ip адрес, про который я писал вначале статьи, в ssh клиенте и радуемся успешному подключению)