Настройка сети VirtualBox: связь хоста и гостя
Пошаговое руководство по настройке сетевого соединения в VirtualBox между хост-системой Ubuntu и виртуальной машиной. Решение проблем с пингом в режиме сетевого моста, Host-Only, NAT и устранение неполадок с брандмауэром.
Как настроить сетевое соединение между хост-системой и виртуальной машиной в VirtualBox для обеспечения взаимной доступности по сети?
Я установил VirtualBox на Ubuntu Desktop 24 и создал виртуальную машину с Ubuntu Server. В настройках сети виртуальной машины я указал тип подключения “сетевой мост” и имя интерфейса enp03s25, а также подключил виртуальный кабель. На хост-системе я назначил IP-адрес 192.168.0.1 с маской подсети 255.255.255.0 для сетевой карты enp03s25. В виртуальной машине я назначил IP-адрес 192.168.0.2. Однако ни хост-система, ни виртуальная машина не могут пинговать друг друга. Что я делаю не так в настройке сети VirtualBox?
Настройка сетевого соединения между хост-системой и виртуальной машиной в VirtualBox требует правильного выбора режима сети и конфигурации IP-адресации. Основная проблема с невозможностью пинга между системами в режиме “сетевой мост” часто связана с настройкой брандмауэра, выбором неверного сетевого интерфейса или конфликтом IP-адресов. Для решения этой проблемы следует проверить настройки брандмауэра, убедиться в правильности выбора сетевого интерфейса и убедиться, что обе системы находятся в одной подсети с корректными масками.
Содержание
- Основные режимы сети в VirtualBox: обзор и применение
- Настройка мостового режима (Bridged Adapter) для связи хоста и гостя
- Альтернативные режимы сети: Host-Only и NAT
- Решение проблем с сетевым подключением в VirtualBox
- Настройка IP-адресации и проверка соединения
- Продвинутые сценарии: множественные сетевые адаптеры
Основные режимы сети в VirtualBox: обзор и применение
VirtualBox предлагает несколько режимов сетевого подключения, каждый из которых предназначен для разных сценариев использования. Понимание этих режимов является ключевым для успешной настройки сети между хост-системой и виртуальной машиной.
Режим NAT (Network Address Translation) - это режим по умолчанию, при котором виртуальная машина получает доступ в интернет через хост-систему, но является невидимой для локальной сети. В этом режиме хост-система может пинговать виртуальную машину, но виртуальная машина не может инициировать соединение с хост-системой или другими устройствами в сети.
Режим Bridged (Сетевой мост) создает прямое соединение между виртуальной машиной и физическим сетевым интерфейсом хост-системы. В режиме моста виртуальная машина получает IP-адрес от вашего роутера и становится полностью видимым устройством в локальной сети, как если бы это был отдельный компьютер. Это идеальный режим для сценариев, когда виртуальная машина должна быть доступна как из хост-системы, так и из других устройств в сети.
Режим Host-Only (Только для хоста) создает изолированную сеть между хост-системой и виртуальной машиной. В этом режиме виртуальная машина может общаться с хост-системой, но не имеет доступа в интернет или к другим устройствам в сети. Этот режим полезен для разработки и тестирования в изолированной среде.
Режим Internal (Внутренний) создает полностью изолированную сеть, в которой могут участвовать только виртуальные машины, но хост-система не имеет к ней доступа.
Режим NAT Network расширенная версия режима NAT, позволяющая создавать несколько виртуальных машин в одной изолированной подсети с доступом в интернет через хост-систему.
При выборе режима сети для вашей конфигурации с Ubuntu Desktop 24 и Ubuntu Server, режим “сетевой мост” является наиболее подходящим для обеспечения взаимной доступности между системами.
Настройка мостового режима (Bridged Adapter) для связи хоста и гостя
Режим “сетевой мост” является наиболее подходящим вариантом для обеспечения полной связи между хост-системой и виртуальной машиной. В этом режиме виртуальная машина подключается напрямую к физическому сетевому интерфейсу хост-системы, становясь полноценным участником вашей локальной сети.
Правильная настройка мостового режима:
- Откройте VirtualBox Manager и выберите вашу виртуальную машину
- Перейдите в настройки виртуальной машины → Сеть
- Включите сетевой адаптер (Adapter 1)
- Выберите тип подключения: “Сетевой мост” (Bridged Adapter)
- В поле “Имя интерфейса” выберите ваш физический сетевой интерфейс (в вашем случае enp03s25)
- Подключите виртуальный кабель (флажок “Подключен”)
Настройка хост-системы:
В вашей хост-системе Ubuntu Desktop 24 убедитесь, что сетевой интерфейс enp03s25 имеет корректную конфигурацию. Интерфейс должен быть активным и иметь статический IP-адрес в вашей локальной сети:
# Проверка состояния интерфейса
ip addr show enp03s25
# Настройка статического IP (если требуется)
sudo nano /etc/netplan/01-netcfg.yaml
Пример конфигурации netplan:
network:
version: 2
renderer: networkd
ethernets:
enp03s25:
dhcp4: no
addresses:
- 192.168.0.1/24
gateway4: 192.168.0.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
Настройка гостевой системы:
В виртуальной машине с Ubuntu Server настройте IP-адрес в той же подсети, что и хост-система:
# Проверка доступных интерфейсов
ip addr show
# Настройка статического IP
sudo nano /etc/netplan/01-netcfg.yaml
Пример конфигурации для Ubuntu Server:
network:
version: 2
renderer: networkd
ethernets:
enp0s3: # или другой интерфейс виртуальной машины
dhcp4: no
addresses:
- 192.168.0.2/24
gateway4: 192.168.0.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
Проверка соединения:
После настройки обоих систем проверьте соединение:
# В хост-системе
ping 192.168.0.2
# В гостевой системе
ping 192.168.0.1
Если пинг не работает, переходите к разделу по устранению неполадок.
Альтернативные режимы сети: Host-Only и NAT
Если настройка мостового режима вызывает проблемы, существуют альтернативные способы обеспечения связи между хост-системой и виртуальной машиной.
Режим Host-Only (Только для хоста):
Этот режим создает изолированную сеть между хост-системой и виртуальной машиной. Для настройки:
- В VirtualBox Manager перейдите в “Файл” → “Параметры” → “Сеть”
- В разделе “Host-only Networks” создайте новую сеть
- В настройках виртуальной машины выберите тип подключения “Host-only Adapter”
- Назначьте IP-адреса в изолированной подсети (например, 192.168.56.1 для хоста и 192.168.56.2 для виртуальной машины)
Преимущества режима Host-Only:
- Полная изоляция от внешней сети
- Простая настройка
- Гарантированная связь между хостом и гостем
Недостатки:
- Нет доступа в интернет из виртуальной машины
- Невозможность доступа к виртуальной машине из других устройств в сети
Режим NAT с пробросом портов:
Если виртуальная машина должна иметь доступ в интернет, но также быть доступной из хост-системы, можно использовать комбинацию режимов:
- Настройте основной адаптер в режиме NAT для доступа в интернет
- Добавьте второй адаптер в режиме Host-Only для связи с хост-системой
- Пробросьте необходимые порты от хоста к гостю
Настройка второго адаптера:
# В настройках виртуальной машины
# Адаптер 1: NAT (для интернета)
# Адаптер 2: Host-only (для связи с хостом)
Настройка IP-адресов:
# В хост-системе
sudo ip addr add 192.168.56.1/24 dev vboxnet0
# В виртуальной машине
sudo ip addr add 192.168.56.2/24 dev eth1
Двухадаптерная конфигурация:
Для максимальной гибкости можно использовать два сетевых адаптера в виртуальной машине:
- Один в режиме NAT для доступа в интернет
- Второй в режиме Host-Only для связи с хост-системой
Это позволяет виртуальной машине иметь доступ в интернет при обеспечении полной связи с хост-системой.
Решение проблем с сетевым подключением в VirtualBox
Наиболее частые проблемы при настройке сети в VirtualBox включают конфликты брандмауэра, неправильный выбор сетевого интерфейса и ошибки в конфигурации IP-адресации.
Проверка брандмауэра:
Брандмауэр - одна из самых частых причин невозможности пинга между системами. В Ubuntu Desktop 24 и Ubuntu Server необходимо проверить и настроить брандмауэр:
# В хост-системе (Ubuntu Desktop)
sudo ufw allow from 192.168.0.0/24 to any port 22 proto tcp
sudo ufw allow icmp
# В гостевой системе (Ubuntu Server)
sudo ufw allow from 192.168.0.1 to any port 22 proto tcp
sudo ufw allow icmp
Для Windows хост-системы:
- Откройте “Панель управления” → “Брандмауэр Windows”
- Разрешите “Oracle VM VirtualBox” в брандмауэре
- Включите все три флажка для частных, общедоступных и доменных сетей
Проверка выбора сетевого интерфейса:
Убедитесь, что в настройках мостового режима выбран правильный физический интерфейс. Часто пользователи выбирают не тот интерфейс, что приводит к отсутствию соединения.
# Проверка доступных интерфейсов в хост-системе
ip addr show
# Проверка активных интерфейсов
nmcli device status
Проверка конфигурации IP-адресации:
Убедитесь, что обе системы находятся в одной подсети с корректными масками:
# В хост-системе
ip addr show enp03s25
# В гостевой системе
ip addr show
Проверьте, что нет конфликтов IP-адресов и что шлюз настроен правильно.
Проверка работы VirtualBox Network Services:
Убедитесь, что службы VirtualBox Network работают корректно:
# Перезапуск служб VirtualBox
sudo systemctl restart vboxdrv
sudo systemctl restart vboxnetflt
# Проверка состояния
sudo systemctl status vboxdrv
sudo systemctl status vboxnetflt
Дополнительные команды диагностики:
# Проверка маршрутизации
ip route show
# Проверка таблицы ARP
arp -n
# Проверка соединений
netstat -tulpn
# Тестирование на уровне канального слоя
arping -I enp03s25 192.168.0.2
Если после всех проверок проблема остается, попробуйте перезагрузить обе системы или создать новую виртуальную машину с правильной настройкой сети.
Настройка IP-адресации и проверка соединения
Правильная настройка IP-адресации является критически важным шагом для обеспечения связи между хост-системой и виртуальной машиной в VirtualBox.
Конфигурация хост-системы:
В вашей хост-системе Ubuntu Desktop 24 убедитесь, что сетевой интерфейс enp03s25 имеет статическую конфигурацию:
# Проверка текущей конфигурации
ip addr show enp03s25
# Проверка маршрутизации
ip route show
# Проверка DNS-настроек
cat /etc/resolv.conf
Если вы используете Netplan для конфигурации сети, отредактируйте файл конфигурации:
sudo nano /etc/netplan/01-netcfg.yaml
Пример корректной конфигурации:
network:
version: 2
renderer: networkd
ethernets:
enp03s25:
dhcp4: no
addresses:
- 192.168.0.1/24
gateway4: 192.168.0.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
Примените изменения:
sudo netplan apply
Конфигурация гостевой системы:
В виртуальной машине Ubuntu Server настройте статический IP-адрес в той же подсети:
# Проверка доступных интерфейсов
ip addr show
# Редактирование конфигурации
sudo nano /etc/netplan/01-netcfg.yaml
Пример конфигурации для Ubuntu Server:
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: no
addresses:
- 192.168.0.2/24
gateway4: 192.168.0.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
Примените изменения:
sudo netplan apply
Проверка соединения:
После настройки обоих систем выполните проверку соединения:
# В хост-системе
ping 192.168.0.2 -c 4
# В гостевой системе
ping 192.168.0.1 -c 4
# Проверка маршрутизации в гостевой системе
ip route show
# Проверка таблицы ARP
arp -n
Дополнительные тесты:
Если базовый ping не работает, выполните более детальную диагностику:
# Проверка на уровне канального слоя
arping -I enp03s25 192.168.0.2
# Проверка доступности портов
nc -zv 192.168.0.2 22
# Тестирование с использованием traceroute
traceroute 192.168.0.2
Настройка DNS:
Убедитесь, что DNS-настройки корректны в обеих системах:
# В хост-системе
cat /etc/resolv.conf
# В гостевой системе
cat /etc/resolv.conf
# Если необходимо, настройте вручную
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
Мониторинг сетевой активности:
Для отладки используйте инструменты мониторинга сетевой активности:
# Мониторинг сетевых пакетов
tcpdump -i enp03s25 host 192.168.0.2
# Мониторинг соединений
ss -tulpn
Если после всех настроек ping по-прежнему не работает, проверьте, нет ли конфликтов IP-адресов в сети, и убедитесь, что брандмауэры обеих систем разрешают ICMP-трафик.
Продвинутые сценарии: множественные сетевые адаптеры
Для сложных конфигураций VirtualBox позволяет использовать несколько сетевых адаптеров в одной виртуальной машине, что обеспечивает гибкость в настройке сетевого подключения.
Конфигурация с двумя адаптерами:
Наиболее распространенный сценарий - использование двух адаптеров для обеспечения одновременного доступа в интернет и связи с хост-системой:
- Настройте первый адаптер в режиме NAT для доступа в интернет
- Настройте второй адаптер в режиме Host-Only для связи с хост-системой
Пример конфигурации в VirtualBox:
- Адаптер 1: Тип подключения “NAT”
- Адаптер 2: Тип подключения “Host-only Adapter”
Настройка хост-системы:
Создайте и настройте Host-Only сеть в VirtualBox:
# Проверка существующих сетей VirtualBox
VBoxManage list hostonlyifs
# Создание новой Host-Only сети
VBoxManage hostonlyif create
# Настройка IP-адреса для Host-Only сети
VBoxManage hostonlyif ipconfig vboxnet0 --ip 192.168.56.1 --netmask 255.255.255.0
Настройка гостевой системы:
В виртуальной машине настройте два сетевых интерфейса:
# Первый интерфейс (NAT) - обычно enp0s3
sudo nano /etc/netplan/01-netcfg.yaml
# Второй интерфейс (Host-only) - обычно enp0s8
sudo nano /etc/netplan/02-netcfg.yaml
Пример конфигурации для первого интерфейса (NAT):
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: yes
Пример конфигурации для второго интерфейса (Host-only):
network:
version: 2
renderer: networkd
ethernets:
enp0s8:
dhcp4: no
addresses:
- 192.168.56.2/24
gateway4: 192.168.56.1
Проверка соединения:
После настройки обоих интерфейсов проверьте соединение:
# Проверка доступности интернета
ping 8.8.8.8
# Проверка связи с хост-системой
ping 192.168.56.1
# Проверка обоих интерфейсов
ip addr show
Сценарий с режимом Bridge и Host-Only:
Для максимальной гибкости можно использовать комбинацию режимов Bridge и Host-Only:
- Первый адаптер: Bridge (для доступа в интернет и связи с сетью)
- Второй адаптер: Host-only (для изолированной связи с хост-системой)
Настройка маршрутизации:
При использовании нескольких адаптеров может потребоваться настройка маршрутизации:
# Добавление маршрута
sudo ip route add 192.168.56.0/24 via 192.168.56.1 dev enp0s8
# Проверка маршрутизации
ip route show
Мониторинг сетевой активности:
Для мониторинга трафика через оба интерфейса используйте:
# Мониторинг первого интерфейса
tcpdump -i enp0s3
# Мониторинг второго интерфейса
tcpdump -i enp0s8
# Комбинированный мониторинг
tcpdump -i any
Управление сетевыми адаптерами через командную строку:
Для автоматизации настройки можно использовать командную строку VirtualBox:
# Добавление сетевого адаптера
VBoxManage modifyvm "Имя_ВМ" --nic1 bridged --bridgeadapter1 enp03s25
VBoxManage modifyvm "Имя_ВМ" --nic2 hostonly --hostonlyadapter2 vboxnet0
# Перезапуск виртуальной машины
VBoxManage controlvm "Имя_ВМ" poweroff
VBoxManage startvm "Имя_ВМ"
Использование нескольких сетевых адаптеров позволяет создать гибкую конфигурацию, где виртуальная машина может одновременно иметь доступ в интернет, быть доступной из локальной сети и иметь изолированное соединение с хост-системой.
Источники
- VirtualBox Network Modes Guide — Официальная документация по режимам сети VirtualBox: https://www.virtualbox.org/wiki/Network_Advanced
- Stack Overflow на русском — Решение проблем с сетевым мостом в VirtualBox: https://ru.stackoverflow.com/questions/949048/Нельзя-пропинговать-виртуальную-машину-с-хоста-и-наоборот
- Rus-Linux.net — Подробное руководство по сетям VirtualBox: https://rus-linux.net/MyLDP/vm/VirtualBox-networking.html
- Хабр Q&A — Настройка сети между хостом и гостем в VirtualBox: https://qna.habr.com/q/402938
- KompSekret — Устранение проблем с ping в VirtualBox: https://kompsekret.ru/q/can-t-ping-guest-os-in-virtualbox-but-guests-can-ping-host-8664/
- Ubuntu Documentation — Настройка статического IP в Ubuntu: https://ubuntu.com/tutorials/configure-network#1-overview
- Netplan Documentation — Официальная документация по Netplan: https://netplan.io/examples/
- VirtualBox Command Line Interface — Руководство по управлению сетью через CLI: https://www.virtualbox.org/manual/ch08.html
Заключение
Настройка сетевого соединения между хост-системой и виртуальной машиной в VirtualBox требует внимательного подхода к выбору режима сети и правильной конфигурации IP-адресации. Основная проблема с невозможностью пинга между системами в режиме “сетевой мост” чаще всего связана с настройками брандмауэра, неправильным выбором сетевого интерфейса или конфликтом IP-адресов.
Для решения вашей проблемы с Ubuntu Desktop 24 и Ubuntu Server рекомендуется проверить следующие аспекты: убедиться, что в настройках мостового режима выбран правильный интерфейс enp03s25, проверить и настроить брандмауэр обеих систем для разрешения ICMP-трафика, а также убедиться, что обе системы находятся в одной подсети с корректными масками. Если мостовой режим вызывает проблемы, альтернативой может служить режим Host-Only, который создает изолированную сеть между хостом и гостем.
Для сложных конфигураций можно использовать несколько сетевых адаптеров в виртуальной машине, обеспечивая одновременно доступ в интернет и связь с хост-системой. Важно помнить, что правильная настройка сети в VirtualBox является основой для успешной работы виртуальных машин в различных сценариях использования, от разработки и тестирования до развертывания_production сред.
В режиме “Сетевой мост” виртуальная машина должна получать IP из той же подсети, что и хост, но иногда VirtualBox автоматически назначает IP из другой подсети. Для решения используйте двухадаптерную конфигурацию: один адаптер в режиме NAT для доступа в интернет, второй в режиме Host-Only для связи с хост-системой. Перед настройкой создайте сеть в Host Network Manager VirtualBox.
- Проверьте подсети IP-адресов на хосте и госте
- Используйте
ip addrдля диагностики интерфейсов - Убедитесь в правильности маски подсети 255.255.255.0
При использовании мостового режима (Bridged Adapter) убедитесь, что виртуальная машина получает IP-адрес из той же подсети, что и хост-система. Если VM получает адрес из другой подсети (например, 192.168.2.x вместо 192.168.0.x), хост и VM не смогут видеть друг друга. Альтернатива — режим “Host-only” с сетью 192.168.56.x, или NAT с пробросом портов. Проверьте, что выбранный физический интерфейс хоста подключен и имеет соответствующий IP.
ip addr show ping 192.168.56.1
Для связи между хостом и гостевой системой в VirtualBox используйте режим “Host-Only”. Назначьте хосту IP 192.168.56.1/24, гостю — 192.168.56.2/24. Если ping не работает, проверьте фаервол гостя и разрешите ICMP-запросы. Простой вариант — “Сетевой мост” (Bridged Adapter), где гость получает IP от роутера и доступен как обычный узел.
- Включите ICMP в
ufw allow proto icmp - Проверьте статус:
ip link show
Проблема с пингом часто в брандмауэре Windows: разрешите Oracle VM VirtualBox в панели управления (все три флажка). Для Ubuntu используйте ifconfig -a для интерфейсов и настройте /etc/network/interfaces. В Windows Server включите обнаружение сети (Частный профиль). Добавьте ICMP-правило: netsh advfirewall firewall add rule name="ICMP Allow In V4 Echo" protocol=icmpv4:8,any dir=in action=allow profile=private.
Ключевые шаги:
- Разрешить VirtualBox в firewall
- Настроить статические IP в одной подсети
- Включить ICMP echo requests

