Я создал сеть NAT в VirtulBox 5 в Ubuntu 14.04 LTS со следующими настройками
Имя Natework:
Сетевой CIDR NatNetwrok1: 10.0.2.0/24
Поддержка DHCP: включена
Поддержка IPv6: отключена
без переадресации портов
Кроме того, у меня есть две виртуальные машины (оба клона Xubuntu), я настроил параметры сети, чтобы включить две сетевые карты на каждой виртуальной машине со следующими настройками во всех четырех адаптерах:
Прикреплено к: «Сеть NAT»
Имя: «NatNetwrok1»
Когда я запускаю обе виртуальные машины, я вижу следующие настройки при запуске команды ifconfig
Результаты ifconfig на Xubuntu1
eth0 Link encap:Ethernet HWaddr 08:00:27:00:8c:03
inet addr:10.0.2.9 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe00:8c03/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:43 errors:0 dropped:0 overruns:0 frame:0
TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12133 (12.1 KB) TX bytes:8517 (8.5 KB)
eth1 Link encap:Ethernet HWaddr 08:00:27:9e:20:e8
inet addr:10.0.2.8 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe9e:20e8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:43 errors:0 dropped:0 overruns:0 frame:0
TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10294 (10.2 KB) TX bytes:8798 (8.7 KB)
Результаты ifconfig на Xubutracentu2
eth0 Link encap:Ethernet HWaddr 08:00:27:00:8c:03
inet addr:10.0.2.9 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe00:8c03/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:43 errors:0 dropped:0 overruns:0 frame:0
TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12133 (12.1 KB) TX bytes:8517 (8.5 KB)
eth1 Link encap:Ethernet HWaddr 08:00:27:9e:20:e8
inet addr:10.0.2.8 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe9e:20e8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:43 errors:0 dropped:0 overruns:0 frame:0
TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10294 (10.2 KB) TX bytes:8798 (8.7 KB)
Пинг между этими 4 IP-адресами работает нормально,
но я не могу получить доступ к Интернету ни на одной из этих виртуальных машин.
В то время как при изменении «NAT Network» на «NAT» я могу получить доступ к сети, но, похоже, она стала частью другой виртуальной сети и не может пропинговать они друг от друга
Может кто-нибудь помочь мне в выявлении и устранении проблемы
Может кто-нибудь также объяснить, в чем разница между NAT и NAT Network
Ответы:
Почему не работает?
В 16.04 (и , возможно , 14.04) сети NAT , особенность основной упакованной версии VirtualBox (5.0.36) будет прослушиваться .
Проверь это!
Вы можете проверить это сами: если
ls /usr/lib/virtualbox/VBoxNetNAT
исполняемый файл присутствует, у вас могут возникнуть другие проблемы.Почини это!
Эта ошибка исправлена в более новых версиях. Поэтому вам следует установить новую версию:
Удалить старую версию
Например, если вы установили с помощью
apt
вы можете запустить:Установить новую версию
Исправление доступно для более новых версий (Ubuntu yakkety +). Для более старых версий:
Используйте следующий скрипт:
источник
virtualbox-dkms
это исправление. В противном случае вы все равно можете застрять без интернетаЯ столкнулся с этим, используя VirtualBox 5.0.40 из репозитория apt по умолчанию. Чтобы обойти это, я настроил каждую виртуальную машину на использование двух сетевых интерфейсов.
В операционной системе guets (Ubuntu 16.04) вам нужно настроить,
/etc/network/interfaces
чтобы появился второй интерфейс. В моем случае мне нужны были виртуальные машины для использования статических IP-адресов внутри сети NAT, так что это то, что я получил.Это, конечно, предполагает, что моя сеть NAT использует подсеть
10.10.11.0/24
. Адаптируйте числа к вашему сценарию или просто оставьте их в dhcp, как вы пожелаете.ПРИМЕЧАНИЕ. Одна важная вещь, которую следует отметить в статической конфигурации, заключается в том, что для этого конкретного сценария вы НЕ МОЖЕТЕ назначить ему шлюз по умолчанию. Установка
enp0s8
значения по умолчанию (например, 10.10.11.1) приведет к тому, что ОС создаст маршрут к этому шлюзу, и этот маршрут также может испортить ваш доступ в Интернет. Это нужно делать только в том случае, когда этому конкретному интерфейсу требуются маршруты к другим сетям, кроме той, которая настроена для него.Узнать имена интерфейсов, назначенные Ubuntu для вашей среды, вы можете
dmesg | grep eth
.источник
Согласно руководству VirtualBox, это сетевые возможности для ваших виртуальных машин:
NAT: внутренняя сеть между ВМ и хостом. Кроме того, вы можете получить доступ к Интернету. Две или более виртуальных машин в режиме NAT не имеют связи между ними, только с хостом и Интернетом.
Внутренний: все виртуальные машины с этой конфигурацией будут иметь связь между ними, но не с хостом и не с Интернетом.
Только хост: виртуальная сеть будет создана между хостом и всеми виртуальными машинами с этой конфигурацией, но у вас не будет доступа в Интернет.
Сеть NAT: вы можете подключиться ко всем виртуальным машинам в одной предварительно заданной сети NAT и к хосту, но не сможете подключиться к Интернету.
Мост: Ваша виртуальная машина будет находиться в той же сети, что и ваш хост, как если бы это был другой компьютер / сервер в этой сети, и, следовательно, она будет иметь доступ в Интернет, если ваш хост имеет.
Универсальный: расширенная и более специфичная конфигурация, редко используемая.
Итак, если вы хотите создать внутреннюю сеть с подключением к хосту, выберите NAT Network, но обратите внимание, что у вас не будет доступа в Интернет. NAT устанавливается только тогда, когда вы просто хотите доступ в Интернет с вашей виртуальной машины и ничего больше.
Однако ни один из этих параметров не подходит для вас, если вы хотите иметь соединение между виртуальными машинами и Интернетом. Насколько я знаю, ваш единственный выбор - настроить обе виртуальные машины в мостовом режиме, чтобы они были «разными» компьютерами в вашей хост-сети, и вы сможете пропинговать их всех и Интернет из любой из них.
С другой стороны, кажется, что вы клонировали одну ВМ от другой, потому что обе машины имеют одинаковый MAC-адрес ( HWaddr в информации команды ifconfig), помните, что вы должны установить флажок « Повторно инициализировать MAC-адрес всех сетевых карт». "когда клонирование. Два устройства с одинаковым MAC-адресом всегда создают проблемы.
Я не эксперт в VirtualBox, поэтому, возможно, другие пользователи могут сказать вам другие возможные конфигурации, чтобы получить то, что вы хотите. Я надеюсь вы найдете эту информацию полезной.
Для получения дополнительной информации вы можете прочитать это .
источник
Это может быть ошибка в VirtualBox. Я испытал то же самое (Ubuntu 16.04.2 LTS, VirtualBox 5.0.32_Ubuntu r112930): настроить сеть NAT, настроенную для двух виртуальных машин Ubuntu. Каждая ВМ могла пинговать / SSH в другую, и через переадресацию портов я мог SSH от хоста в каждую ВМ. Но нет доступа в Интернет изнутри виртуальных машин. Коллега попробовал то же самое с хостом Windows, VirtualBox (неизвестная версия) и теми же виртуальными машинами, и это сработало.
В качестве обходного пути я настроил вторую сетевую карту для каждой виртуальной машины: первая использует NAT для доступа к Интернету, вторая - «NAT Network» для доступа к другим гостям. Мне пришлось настроить переадресацию порта SSH на первой (NAT) карте и настроить другой порт SSH на одной виртуальной машине (то есть 2222 -> 22 на VM1, 2223 -> 23 на VM2).
Согласно документации , и NAT, и NAT Network должны иметь доступ к Интернету. Разница заключается в том, что первый разделил гостевые соединения хоста и гостя, поэтому гости не могут получить доступ друг к другу, только к хосту. Последний объединяет всех гостей в одну сеть (и предоставляет такие службы, как DHCP), чтобы они могли обращаться друг к другу.
источник