5

Я использую Ubuntu Server в VirtualBox. Когда я выбираю вариант внутренней сети для сетевого адаптера и запускаю виртуальную машину, я получаю только IPv6-адрес. Мне также нужен адрес IPv4. Мой хост (работающий под управлением Windows 7) получает адреса IPv4 и IPv6, когда я запускаю ipconfig . Когда я запускаю ifconfig на гостевой машине (на сервере Ubuntu), он отображает только IPv6. Как я могу это исправить?

5 ответов5

3

Попробуйте запустить:

sudo ifup eth0

В интерфейсе командной строки терминала от имени пользователя Ubuntu.

Вы также можете просмотреть сетевую документацию, в которой говорится, что Virtualbox не управляет опцией «внутренняя сеть», поэтому, если вы хотите, чтобы ваша виртуальная машина взаимодействовала с вашим хостом, вам нужно указать хост - только в сети или в режиме моста /NAT, если вы хотите, чтобы у вашей виртуальной машины был такой же доступ к сети, что и у вашего хоста.

2

В отличие от IPv6, IPv4 не имеет встроенной автоматической настройки; Большую часть времени используется DHCP . Попробуйте запустить dhclient eth0 или dhcpcd eth0 (в зависимости от того, с каким Ubuntu поставляется).

1

Если ваш Windows 7 имеет IP-адрес, он выглядит следующим образом: 169.254.0.1 ? Если да, то это потому, что Windows не удалось получить IP-адрес с виртуальной коробкой и использовать APIPA для получения IP-адреса. (автоматическое определение IP-адреса)

Кроме того, если вы хотите, чтобы ваша виртуальная машина имела доступ к вашему хосту, правильной настройкой будет сеть «только для хоста», а не внутренняя сеть.

Вот ссылка на Virtualbox Doc для такого рода конфигурации.

0

Убедитесь, что вы подключаете виртуальную машину к правильному сетевому адаптеру на компьютере с Win7. Случилось ли это, когда я подключился к проводной сети, а затем подключил ноутбук через WiFi (другой хост хост)

0

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

Во-первых, чтобы уточнить - я получал эту ошибку при попытке соединить две виртуальные машины через внутреннюю сеть - обеим были назначены адреса IPv6. В вашем вопросе упоминается, что ваш хост-компьютер получает IPv6-адрес - ваш хост не должен быть частью сети, если вы используете опцию внутренней сети VirtualBox. (Терминология могла измениться за 5 лет после того, как был задан вопрос.)

Настройка DHCP на хосте

Если вы настроите сетевые настройки вашей виртуальной машины на использование внутренней сети с использованием графического интерфейса VirtualBox и настроек машины, она будет использовать адреса IPv6 по умолчанию - и они также не смогут пинговать друг друга, если вы используете ping6. Решением является небольшая настройка DHCP-сервера на хост-компьютере с помощью утилиты VBoxManage .

VBoxManage dhcpserver add \
--netname intnet \
--ip 10.2.0.1 \
--netmask 255.255.0.0 \
--lowerip 10.2.0.1 --upperip 10.2.0.255 \
--enable

Это позволит серверу DHCP выдавать IP-адреса в диапазоне от 10.2.0.1 до 10.2.0.255 . Если DHCP-сервер уже существует, вы должны изменить add чтобы modify:

VBoxManage dhcpserver modify \
--netname intnet \
--ip 10.3.0.1 \
--netmask 255.255.0.0 \
--lowerip 10.3.0.1 --upperip 10.3.0.255 \
--enable

Наконец, вы можете удалить DHCP-сервер, когда закончите, используя команду удаления:

VBoxManage dhcpserver remove --netname intnet

Также смотрите это видео на YouTube по настройке внутренней сети с использованием VirtualBox.

Почему другие решения не работают

  • Решение по @IanWilson не работает б / с ifup eth0 расскажет вам eth0 уже вверх; его восстановление и резервное копирование просто переназначат IPv6-адрес (и ping6 все равно не сможет получить доступ к другим виртуальным машинам во внутренней сети).
  • Решение @grawity не работает, поскольку b / c dhclient eth0 либо приведет к тому, что интерфейс получит другой адрес IPv6, либо интерфейс вообще потеряет свой адрес IPv6.
  • Ответ @ Стивена и ответ @ epingle рассматривают ситуацию с сетевым мостом, когда хост может связываться с виртуальными блоками по сети, а не с настройкой внутренней сети, когда к сети подключены только виртуальные блоки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .