Что такое адаптер Ethernet только для хоста виртуального бокса

Обновлено: 25.06.2024

Это странная статья, включающая несколько, казалось бы, не связанных между собой тем. Нам это нужно, потому что после установки Ubuntu в VirtualBox мы можем войти в него только через окно VirtualBox. Вместо этого мы хотели бы иметь возможность использовать какой-нибудь клиент ssh, такой как команда ssh в OSX или Linux или Putty на компьютере с Windows.

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

VirtualBox и сеть

VirtualBox создает виртуальную сеть для запускаемых в ней ящиков. По умолчанию VirtualBox настраивает сеть с NAT (преобразование сетевых адресов). Он дал нашему компьютеру с Linux IP-адрес, настроил ваш хост-компьютер в качестве маршрутизатора и разрешил пользователям на компьютере доступ к внешнему миру. Например, так мы могли бы обновить пакеты Linux и установить новые.

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

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

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

Создать сеть только для хоста для VirtualBox

Сначала нам нужно создать или активировать сеть VitualBox только для хоста. Затем мы скажем каждому из наших (в настоящее время одному :) VirtualBox использовать эту сеть.

Отключите гостевую операционную систему ( sudo shutdown -P now ).

Чтобы создать (или проверить существование) сеть только для хоста, нажмите «Глобальные инструменты» в правом верхнем углу окна VirtualBox. Это должно выглядеть так:


Здесь щелкните Host Network Manager, нижнее из двух полей.

Здесь вы можете увидеть 0 или более строк. Изображение взято с хоста OSX. Я думаю, что на хостах Windows поле «Имя» может содержать более длинное имя.


Если у вас нет записей, вам нужно создать их.

Нажмите кнопку "Создать+" в верхнем левом углу.

Если на хосте установлена ​​операционная система MS Windows, для этой операции могут потребоваться права администратора Windows. Найдите всплывающее окно, которое может быть фоновым.

Установите для адреса/маски IPV4 значение 192.168.56.1/24, как в моей настройке. Вам не нужно включать DHCP-сервер для нашей конфигурации, но это тоже не помешает, поэтому, если он включен, оставьте его включенным.

Добавить сеть только для хоста в гостевую систему VirtualBox

Каждый гость VirtualBox должен быть настроен для использования сети VirtualBox только для хоста.

Для этого щелкните Станки .

Выберите свой компьютер и нажмите "Настройки".

Нажмите на вкладку "Сеть".

Адаптер 1 настроен на NAT.


Нажмите, чтобы перейти к адаптеру 2

Выберите «Присоединен к:», «Адаптер только для хоста».

Имя: выберите vboxnet0 или как оно называется в вашей системе.


Теперь вы настроили сеть только для хоста для этого блока.

Давайте загрузим его сейчас и убедимся, что Ubuntu также настроен правильно.

Добавить интерфейс в Ubuntu Linux

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

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


Отобразятся все интерфейсы, включая тот, который в данный момент не включен. Здесь мы видим дополнительный интерфейс enp0s8, у которого нет связанного IP-адреса.


Нам нужно отредактировать файл интерфейсов: /etc/network/interfaces. Поскольку он принадлежит пользователю root, нам нужно использовать sudo. Если вы не знакомы с более мощными редакторами, используйте nano:

Добавьте следующие строки в конец файла:

Затем нам нужно запустить сетевую карту. Мы можем либо перезагрузить машину с помощью sudo shutdown -r сейчас, либо установить программное обеспечение, которое сделает это за нас:

Запустите сетевой интерфейс:

Вы можете убедиться, что интерфейс был настроен, снова запустив ifconfig и увидев, что теперь в списке есть 3 сетевых карты, и каждая из них имеет IP-адрес.

Кроме того, вы можете проверить это, открыв окно Cmd на вашем компьютере с Windows и набрав

Вы должны увидеть 4 ответа.

Установить ssh-сервер

По умолчанию эта установка Ubuntu не поставляется с ssh-сервером, поэтому, если вы еще этого не сделали, вам необходимо установить его:

Это установит и запустит сервер.

Сам ssh

Вы можете попробовать ssh-сервер локально, попытавшись подключиться с вашего виртуального компьютера с Linux обратно к тому же виртуальному компьютеру с Linux. Каждая машина Linux имеет IP-адрес 127.0.0.1 для ссылки на себя, и по умолчанию каждая машина Linux сопоставляет имя localhost с этим IP-адресом. Таким образом, если мы подключаемся по ssh к локальному хосту, мы фактически разговариваем сами с собой.

Сначала он попросит вас подтвердить «хост», что в данном случае означает «удаленный компьютер», которым является наша Ubuntu Linux. Если вы введете «да», клиент ssh сохранит ключ вашего сервера в файле с именем .ssh/known_hosts, поэтому ему не нужно будет снова задавать этот вопрос, и он будет запрашивать у вас ваш «удаленный» пароль. Поскольку «удаленный» и «локальный» — это одна и та же машина, теперь это пароль вашего пользователя Linux.


Если это удалось, теперь вы можете открыть ssh-клиент на рабочем столе и подключиться к машине с Ubuntu.

В Windows вам потребуется скачать putty.exe (файл .msi не нужен. Просто скачайте exe и запустите его из каталога загрузки или с рабочего стола)

Вам нужно будет ввести IP-адрес «удаленной машины», которой является наш ящик Ubuntu 192.168.56.10, а затем он запросит у вас имя пользователя и пароль.

@ ВНИМАНИЕ: ИДЕНТИФИКАЦИЯ УДАЛЕННОГО ХОСТА ИЗМЕНИЛАСЬ! @

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

Пояснение

Когда вы подключаетесь к машине по ssh в первый раз, ssh запросит ключ ECDSA хоста. Затем он попросит вас убедиться, что ключ, полученный от хоста, является правильным ключом. Это используется для того, чтобы вы, пользователь, знали, что вы подключаетесь к серверу, к которому намеревались подключиться, а не к какой-либо другой машине, выдающей себя за этот сервер. Вопрос выглядит так:


Когда вы соглашаетесь на это, подпись этого сервера сохраняется в файле ~/.ssh/known_hosts. Одна строка для каждого сервера, к которому вы подключаетесь, в формате

При каждом последующем подключении к тому же компьютеру ssh будет проверять, что ключ, отправляемый удаленным сервером, совпадает с указанным для данного имени хоста или IP-адреса в файле ~/.ssh/known_hosts. Если это тот же ключ, процесс ssh продолжится, а затем сервер попытается подтвердить, что вы тот, за кого себя выдаете. Либо запросив ваш пароль, либо попросив вас использовать свой закрытый ключ, чтобы убедиться, что он соответствует открытому ключу, который у него есть в файле. (В файле ~/.ssh/authorized_keys на удаленной машине) Если ssh не находит имя хоста или IP-адрес удаленной машины в файле ~/.ssh/known_hosts вашего локального пользователя, то он задает вопрос как мы описали выше. Если, однако, имя хоста было найдено, но подпись, отправленная вам сервером, не совпадает с той, что у вас есть в файле, вы получите вышеуказанное сообщение об ошибке. (Утверждается, что это ПРЕДУПРЕЖДЕНИЕ.)

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

Поэтому, если вы получили такое сообщение, начните с подозрений.

Это легко может произойти, если вы сейчас играете с виртуальными образами на своем компьютере, клонируете их и меняете их IP-адрес, а может быть, вы уничтожаете один из них, а затем создаете новую машину с тем же IP-адресом, что и раньше. В этом случае можно безопасно принять новую подпись. Это можно сделать следующим образом: вы редактируете файл ~/.ssh/known_hosts на компьютере, с которого вы запускаете ssh-клиент, и удаляете строку, соответствующую конкретному серверу. Это строка, упомянутая в приведенном выше сообщении об ошибке, в данном случае это строка 2 в файле ~/.ssh/known_hosts.

Удалите строку 2 из ~/.ssh/known_hosts. Затем снова попробуйте ssh. Он попросит вас проверить ключ удаленного хоста. Когда вы скажете «да», он сохранит этот ключ в папке ~/.файл ssh/known_hosts.

Разъяснение словарного запаса

VirtualBox использует host для описания вашей основной операционной системы. VirtualBox использует гостевую систему для описания ОС, установленной внутри образа VB.

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

В нашей настройке термины смешаны. В частности, слово «хост» может относиться как к вашей системе Windows (хост VirtualBox), так и к блоку Ubuntu, который (сетевой хост). Поэтому убедитесь, что вы понимаете, что есть что.

В виртуальной машине VirtualBox с EL7 сетевые интерфейсы обычно называются следующим образом:

  • Адаптер 1: enp0s3
  • Адаптер 2: enp0s8
  • Адаптер 3: enp0s9
  • Адаптер 4: enp0s10

Интерфейс NAT

Адаптер NAT VirtualBox — это способ по умолчанию разрешить вашей виртуальной машине доступ в Интернет. Однако обычно невозможно получить доступ к вашей виртуальной машине из хост-системы по сети.

Сетевые настройки вашей виртуальной машины предсказуемы. Любая виртуальная машина с интерфейсом NAT имеет:

  • IP-адрес: 10.0.2.15/24
  • Шлюз по умолчанию: 10.0.2.2
  • Сервер имен: 10.0.2.3 (возможно добавление серверов имен, назначенных вашей хост-системе)

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

Интерфейс только для хоста

Адаптер VirtualBox только для хоста позволяет получить доступ к виртуальной машине по сети. Создается виртуальный интерфейс Ethernet, который также виден в вашей хост-системе. Вы можете создать несколько адаптеров только для хоста и настроить параметры сети из главного окна, открыв Файл > Настройки > Сеть > Сети только для хоста.

Интерфейс только для хоста имеет имя:

  • Адаптер
    • IPv4-адрес: 192.168.56.1 (= IP-адрес, назначенный вашей хост-системе)
    • Маска сети IPv4: 255.255.255.0
    • адрес сервера: 192.168.56.100 (= IP-адрес виртуального DHCP-сервера)
    • Маска сервера: 255.255.255.0
    • Нижняя граница: 192.168.56.101
    • Верхняя граница: 192.168.56.254

    Если виртуальная машина настроена на автоматическое получение IP-адреса (т. е. через DHCP), скорее всего, она получит 192.168.56.101 (если это первая виртуальная машина в этой сети, состоящей только из хоста). Если вы хотите назначить статические IP-адреса виртуальным машинам в этой сети, выберите адрес из диапазона 2–99.

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

    Настройка хост-адаптера VirtualBox

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

    Нажмите здесь, чтобы просмотреть краткое справочное руководство.

    Что такое виртуальный сетевой адаптер?

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

    • Адаптеры преобразования сетевых адресов (NAT). Адаптеры NAT — это простейшая форма сетевого адаптера. Адаптер NAT предоставит доступ вашему гостю, как если бы он был хостом, используя тот же адрес. Это похоже на наличие нескольких компьютеров в домашней сети, которые взаимодействуют друг с другом, используя разные адреса (например, 192.168.1.11 и 192.168.1.15), и все подключаются к Интернету, используя один и тот же адрес (например, 172.119.27.80)
    • Адаптеры с мостом. Адаптеры с мостом позволяют гостю имитировать себя отдельным узлом в сети. Это означает, что гостевая машина будет обмениваться внешними данными, используя адрес, отличный от адреса хоста (например, 172.119.27.80 и 172.119.27.85). Маловероятно, что вы сможете использовать этот адаптер в домашних сетях, поскольку они обычно допускают только один внешний IP-адрес.
    • Адаптеры только для хоста. Адаптеры только для хоста напрямую соединяют хост и гостевую сеть. Любые другие гости, работающие на хосте, также будут подключены.Эти адаптеры позволяют легко общаться между гостями и экспериментировать с сетевыми компьютерами.

    Настройка виртуальной сети

    Прежде чем вы сможете начать использовать адаптеры только для хоста, вам необходимо настроить виртуальную сеть на хосте, чтобы они могли обмениваться данными. В главном окне VirtualBox нажмите Файл > Host Network Manager. Если список пуст, вам нужно настроить новую сеть. Это можно сделать, нажав Создать. Убедитесь, что DHCP-сервер включен, установив флажок справа от сведений о сети.

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

    • Вкладка "Адаптер":
      • Отметьте Настроить адаптер вручную
      • IPv4-адрес: 192.168.56.1
      • Маска сети IPv4: 255.255.255.0
      • Вы можете оставить поля IPv6 без изменений/пустыми
      • Убедитесь, что установлен флажок Включить сервер
      • Адрес сервера: 192.168.56.100
      • Маска сервера: 255.255.255.0
      • Нижняя граница адреса: 192.168.56.3
      • Верхняя граница адреса: 192.168.56.254

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

      После того как вы настроили виртуальную сеть, вы можете добавить новый адаптер для связи через нее. Вы можете настроить каждого гостя для связи по-разному, поэтому адаптеры настраиваются для каждого гостя. Нажмите на гостя, к которому вы хотите добавить хост-адаптер, и выберите Настройки > Сеть. Отсюда вы увидите четыре вкладки, каждая из которых представляет возможный виртуальный сетевой адаптер. Вы можете увидеть сообщение с надписью Присоединен к: NAT; это адаптер NAT по умолчанию, который дает машине доступ в Интернет. Если вы хотите, чтобы компьютер имел доступ к Интернету, добавьте хост-адаптер на вкладку Адаптер 2, в противном случае используйте Адаптер 1.

      На выбранной вкладке выберите Host-Only Adapter в раскрывающемся меню Attached To. Убедитесь, что в раскрывающемся меню Имя выбрана виртуальная сеть, настроенная на предыдущем шаге. Теперь ваша хост-сеть должна быть настроена для использования на гостевой машине.

      Закрыто. Этот вопрос не соответствует правилам переполнения стека. В настоящее время ответы не принимаются.

      Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow.

      Закрыт 3 года назад.

      Я недавно обновился до Win 10 и, следовательно, до vagrant 1.7.4 и Virtual Box 5.0.2 r102096. При запуске одной из виртуальных машин с помощью vagrant up vagrant продолжал давать сбой, но при каждой попытке создавал новые адаптеры Host only в системе. Теперь у меня есть 6 адаптеров только для виртуальных хостов.

      Как удалить лишние?

      7 ответов 7

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


      Это нормально для 1 или 2, но мне нужно было удалить около 16 из них, поэтому я нашел более быстрый способ: откройте «Диспетчер устройств», разверните «сетевые адаптеры», а затем щелкните правой кнопкой мыши -> Удалить каждый виртуальный ящик

      Vboxmanage спешит на помощь.


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

      Я тоже столкнулся с той же проблемой.

      Я решил это с помощью следующего решения

      Перейти в Диспетчер устройств

      щелкните сетевой адаптер

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

      Безусловно, самый чистый способ — использовать VirtualBox для удаления лишних адаптеров.

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

      У меня была такая же проблема. Команда vboxmanage не помогла - выдавало ошибку при попытке удалить адаптер. Итак, вот мое решение.

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