Virtualbox Ubuntu без интернета

Обновлено: 21.11.2024

Время от времени я экспериментирую с разными инструментами. Чтобы иметь такое же окружение и содержать свою рабочую машину в чистоте от мусора, оставшегося после таких экспериментов, я провожу свои исследования в виртуализированной среде. Обычно моей гостевой операционной системой (ОС) является Ubuntu Server, потому что я обычно использую эту ОС в облаке. Таким образом, чтобы полностью походить на мой опыт работы в облаке, я должен иметь терминальный доступ к гостевой операционной системе. К сожалению, по умолчанию после установки гостевой виртуальной машины (ВМ) у вас нет к ней сетевого доступа. Поэтому в этой статье я покажу, как настроить VirtualBox и гостевые ОС, чтобы вы получали доступ к своим виртуальным машинам с хоста, например, через терминал.

Оглавление

Введение

Поскольку время от времени мои эксперименты полностью ломали систему, у меня должна быть возможность быстро развернуть чистый испытательный стенд. Для достижения этой цели, как только появится новая версия операционной системы (я предпочитаю использовать LTS-версии Ubuntu Server), я загружаю ее образ и создаю новую виртуальную машину, на которой устанавливаю операционную систему из загруженного образа и делаю начальная конфигурация. Затем я сохраняю эту виртуальную машину в качестве шаблона. Когда мне нужна новая виртуальная машина для моих экспериментов, я клонирую эту виртуальную машину-шаблон и почти мгновенно могу начать свои исследования. Закончив свои эксперименты, я удаляю эту клонированную виртуальную машину, чтобы освободить место на диске.

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

Проблема

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

Я должен упомянуть, что конфигурация может отличаться, если у вас есть другие хост- и гостевые среды. Я использую Kubuntu 18.04 в качестве основной операционной системы и VirtualBox в качестве гипервизора. Здесь я покажу, как настроить Ubuntu Server 16.04 и Ubuntu Server 18.04 (две самые популярные LTS-версии Ubuntu Server сейчас), так как процесс для них отличается.

Конфигурация VirtualBox

После того, как вы установили Ubuntu Server, выключите виртуальную машину, откройте ее «Настройки» (выберите в меню «Машина» -> «Настройки» или нажмите Ctrl+S ) и проверьте конфигурацию «Сеть». По умолчанию VirtualBox активирует один адаптер, подключенный к NAT. Вы можете увидеть это на рисунке 1.

Перейдите на вкладку "Адаптер 2" и включите этот адаптер. В раскрывающемся списке «Присоединен к» выберите «Адаптер только для хоста» (см. рис. 2).

По умолчанию VirtualBox имеет только одну хост-сеть под названием «vboxnet0». Поэтому его имя будет выбрано автоматически. Если у вас по какой-то причине есть пустой список в раскрывающемся списке «Имя», перейдите в «Файл» -> «Диспетчер сети хоста»… и создайте новый адаптер только для хоста (см. рис. 3). Там же можно проверить свойства адаптера «vboxnet0». Обратите внимание на значения «Адрес IPv4» и «Маска сети IPv4». Они понадобятся нам при настройке гостевых ВМ.

Если вы хотите узнать больше о настройке различных сетевых режимов, обратитесь к официальной документации VirtualBox.

Конфигурация гостевой ВМ

Теперь включите виртуальную машину и войдите в нее. Теперь вам нужно настроить сетевые интерфейсы на вашей гостевой ВМ.

Если вы планируете иметь несколько клонов машин, работающих одновременно, убедитесь, что все они будут иметь разные IP-адреса, имена хостов, а все их адаптеры — разные MAC-адреса.

Вы можете указать имя хоста для запуска команды на гостевой машине:

Кроме того, убедитесь, что все MAC-адреса различаются в «Дополнительных» настройках сетевых адаптеров (см. рис. 1). Если они совпадают, создайте новый случайный MAC-адрес.

Далее я покажу, как настроить сеть в Ubuntu 16.04 и 18.04, в частности, как установить (или изменить, если вы запускаете несколько ВМ) статический IP-адрес.

Убунту 16.04

В первую очередь необходимо проверить, какие сетевые интерфейсы доступны, с помощью следующей команды:

Скорее всего, вы заметите три сетевых интерфейса. В моем случае это lo, enp0s3 и enp0s8. lo — петлевой интерфейс, а enp0s3 и enp0s8 соответствуют сетям NAT и Host-only соответственно.Обратите внимание: в зависимости от того, как вы создали сети и в каком порядке, эти имена могут отличаться в вашем случае.

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

И измените это следующим образом:

Итак, для enp0s8 мы выбираем назначение статического IP-адреса. Мы устанавливаем его на 192.168.56.5. Обратите внимание: каждая виртуальная машина должна устанавливать разные IP-адреса для разных виртуальных машин, если вы хотите запускать их одновременно. Кроме того, вы можете выбрать IP-адрес из диапазона, определенного для vboxnet0 (или другого интерфейса, который вы выбрали). Значение сетевой маски также должно соответствовать значению, определенному для vboxnet0 .

Насколько я понимаю, для связи между виртуальными машинами (VM1 VM2) также должен быть определен адрес шлюза. Он должен соответствовать адресу хост-машины (192.168.56.1). Однако в моем случае, если эта опция установлена, я не могу подключиться к Интернету, в то время как связь между разными виртуальными машинами возможна.

После изменения настроек необходимо перезапустить сеть:

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

Убунту 18.04

В Ubuntu 18.04 настройка сети выполняется с помощью утилиты netplan. Эта утилита читает файлы конфигурации yaml, хранящиеся в /etc/netplan/, и генерирует из них сетевую конфигурацию, потребляемую системой. Поэтому в Ubuntu 18.04 вместо изменения /etc/network/interfaces нам нужно создать (или изменить) файл конфигурации yaml. Однако перед этим мы должны проверить, какие сетевые интерфейсы доступны. Вы можете сделать это с помощью следующей команды:

Как и в Ubuntu 16.04, у меня тот же список сетевых интерфейсов: lo - loopback interface, enp0s3 и enp0s8 относятся к сетям NAT и Host-only соответственно. Теперь вам нужно создать новый файл в /etc/netplan/, где мы будем указывать конфигурацию нашей сети. Часто системные администраторы дают этому файлу имя 01-netcfg.yaml. Сделаем то же самое с помощью команды sudo nano /etc/netplan/01-netcfg.yaml. Добавьте туда следующую конфигурацию:

Я должен отметить, что в общем случае вы также должны указать средство рендеринга: NetworkManager или networkd. В Ubuntu Server 18.04 в конфигурации по умолчанию рендерер не указан (скорее всего, потому что по умолчанию используется networkd). Однако, если вы используете версию Ubuntu для настольных ПК, вам необходимо добавить параметр renderer: NetworkManager в свою конфигурацию на том же уровне, где вы определяете версию и Ethernet.

Настройки аналогичны предыдущему случаю. Для интерфейса enp0s3 мы включаем динамическое выделение IP-адресов с помощью опции dhcp4: yes , а для enp0s8 значения нужно настраивать вручную. Для этого мы отключаем DHCP ( dhcp4: no ), устанавливаем IP-адрес и маску сети (адреса: [192.168.56.10/24]) и, возможно, предоставляем IP-адрес шлюза (gateway4: 192.168.56.1).< /p>

Когда вы закончите редактирование файла, вы должны запустить команду sudo netplan try, чтобы проверить правильность вашей конфигурации. Если это так, netplan предложит применить конфигурацию. Если вы хотите применить конфигурацию без проверки, вы можете запустить команду sudo netplan apply напрямую. Однако я не рекомендую этого делать, потому что с файлами yaml очень легко забыть где-то пробел, и в этом случае ваш файл конфигурации не будет валидным. Проверка конфигурации перед ее применением предотвратит выстрел в ногу.

Я использую Ubuntu 13.04 в VirtualBox на Windows7. Вариант сети — NAT.

Проблема в том, что я могу использовать команду apt-get, чтобы получить какой-нибудь пакет в Интернете, например: curl. Я могу получить доступ к этим общим компьютерам на моей Win7.

это действительно связано с тем, что я только что отправил электронное письмо с помощью Thunderbird. Но я не могу получить доступ к Интернету через Firefox.

Вы можете показать нам больше информации? откройте консоль (ctrl t), введите sudo ifconfig, также проверьте DNS, (снова в консоли) «ping www.google.com» и, наконец, «ping 8.8.8.8»

4 ответа 4

Похоже, вы не настроили службу DNS на гостевой системе Ubuntu. Об этом должны позаботиться следующие команды.

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

Иногда VirtualBox не добавляет сети автоматически. Из главного меню (не конкретной машины) перейдите к:

Добавьте сеть, нажав знак + в правом столбце.

В настройках виртуальной машины Ubuntu измените сетевой параметр на Bridged Adapter . Некоторая информация из руководства VirtualBox:

При использовании мостовой сети VirtualBox использует драйвер устройства в вашей хост-системе, который фильтрует данные с вашего физического сетевого адаптера. Поэтому этот драйвер называется драйвером «сетевого фильтра». Это позволяет VirtualBox перехватывать данные из физической сети и вводить в нее данные, эффективно создавая новый сетевой интерфейс в программном обеспечении.

Сетевой движок VirtualBox может работать не так, как предполагалось, что может вызывать проблемы, которые вы видите.

Дополнительная информация. Преимущество использования мостового адаптера заключается в том, что виртуальная машина будет отображаться в вашей сети как физическое устройство, что позволит вам обмениваться папками/файлами так же, как вы могли бы это делать с физическим устройством. Это особенно полезно при настройке виртуальной машины сервера.

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

Шаг 1. Убедитесь, что подключение к Интернету
Сначала убедитесь, что проводное сетевое подключение уже включено, перейдя на вкладку "Сеть" в настройках.

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

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

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

Шаг 3. Откройте сетевые настройки виртуальной машины.
После закрытия виртуальной машины откройте настройки виртуальной машины, щелкнув ее правой кнопкой мыши и выбрав параметр настроек в контекстном меню.

В появившемся окне настроек нажмите вкладку «Сеть» на левой панели.

Шаг 4. Включите сетевой адаптер.
В настройках сетевого адаптера устройства нажмите «Включить сетевой адаптер», чтобы включить сетевой адаптер и изменить его настройки.

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

Шаг 5. Выберите сетевое устройство.
После включения сетевого адаптера для виртуальной машины вы можете выбрать предпочтительный метод в раскрывающемся меню «присоединен к» для подключения виртуального сетевого адаптера к сети вашей операционной системы.

Мы предлагаем выбрать мостовой адаптер, так как в этом случае виртуальная машина будет подключена к сети с помощью Ethernet-адаптера хост-ОС.

После выбора соответствующего метода в раскрывающемся списке "Имя" выберите нужное устройство.

Шаг 6. Сохраните настройки и запустите виртуальную машину.
После настройки всех описанных параметров нажмите кнопку ОК, чтобы сохранить настройки.

И запустите машину, дважды щелкнув ее.

У вас будет прекрасное подключение к Интернету на вашей виртуальной машине в виртуальном ящике.

Заключение

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

Нет Интернета — хост Ubuntu 20.04 и виртуальная сеть — мостовая сеть

Нет Интернета — хост Ubuntu 20.04 и виртуальная сеть — мостовая сеть

Я сталкиваюсь с этой проблемой на всех гостевых ОС. У меня 3 гостевые ОС с 20.04. Я тестирую кластер Kubernetes с 3 узлами. Ниже приведены спецификации для 1 гостевой ОС. Гость и хост и гость и гость подключаются нормально.

Код: Выбрать все Развернуть видСвернуть вид gourav@ubuntufocal:~$ ip a
1: lo: mtu 65536 qdisc состояние noqueue НЕИЗВЕСТНО группа по умолчанию qlen 1000
ссылка/петля 00:00:00:00 :00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 хост области lo
valid_lft навсегда Preferred_lft навсегда
inet6 :: 1/128 хост области < br />valid_lft навсегда предпочтительный_lft навсегда
2: enp0s3:
mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
ссылка/эфир 08:00:27:d6:23:8a brd ff: ff:ff:ff:ff:ff
inet 192.168.1.144/24 brd 192.168.1.255 глобальная область enp0s3
valid_lft навсегда предпочтительный_lft навсегда
inet6 fe80::a00:27ff:fed6:238a/ 64 Scope Link
valid_lft навсегда Предпочтительный_lft навсегда
3: docker0: mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:27:86:39:bb brd ff:ff: ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft навсегда Preferred_lft навсегда

В качестве теста попробуйте проводной Ethernet.

scottgus1 Модератор сайта Сообщений: 14870 Присоединился: 30 декабря 2009, 20:14 Основная ОС: MS Windows 10 Версия VBox: PUEL Гостевые ОС: Windows, Linux

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

Ниже приведены настройки мостового адаптера Wi-Fi из VM Box

Очень грустно и очень радостно

Обнаружена проблема: я использовал статический IP-адрес с неправильным адресом шлюза и сервером имен.

Я исправил, все работает отлично.

scottgus1 Модератор сайта Сообщений: 14870 Присоединился: 30 декабря 2009, 20:14 Основная ОС: MS Windows 10 Версия VBox: PUEL Гостевые ОС: Windows, Linux

Здравствуйте, @gouravgarg, не могли бы вы рассказать, как вы устранили неполадки и обнаружили, что используете статический IP-адрес с неправильным адресом шлюза и сервером имен? А как ты поправил? Ваш ответ был бы очень признателен!
С уважением

Викас Н, устранение неполадок со статическим IP-адресом одинаково на реальном ПК или виртуальной машине на любом гипервизоре, поэтому это не проблема Virtualbox. Поиск в Интернете о том, как правильно настроить статический IP-адрес, поможет вам узнать, как это сделать правильно, а затем вы сможете увидеть, что пошло не так в вашей настройке.

scottgus1 Модератор сайта Сообщений: 14870 Присоединился: 30 декабря 2009, 20:14 Основная ОС: MS Windows 10 Версия VBox: PUEL Гостевые ОС: Windows, Linux

Читайте также: