Как настроить NAT и сети Только для хоста со статическим IP-адресом в VirtualBox

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

Вот процедура, которую я выполнил до сих пор:

  1. Выключите функцию сервера DHCP сети Host-Only, которая будет использоваться в этой установке
  2. Измените IP-адрес, присвоенный хосту 192.168.56.254
  3. Создайте гостевую машину с 2 картами сетевого интерфейса (NIC)
  4. Настройте 1-й NIC для использования NAT
  5. Настройте 2-й NIC для использования Горячо-единственных Сетей
  6. Установите ОС (Сервер Ubuntu 13.10) на каждом из них
  7. Обновите ОС
  8. Настройте сети следующим образом путем редактирования/etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255
gateway 192.168.56.254
dns-search cloudspace.local
dns-nameservers 8.8.8.8 8.8.4.4
  1. Сохраните файл
  2. Перезагрузка

Когда гость загружается снова, сети Только для хоста хорошо работают. Хост/гость и пары гостя/гостя машин могут проверить с помощью ping-запросов друг друга, однако Интернет не работает как apt-get сбои.

Если я затем проблема a service networking restart команда, сети начинают работать, как это должно.

Что я делаю неправильно?

Я попытался переключить порядок, в котором NICs появляются в /etc/network/interfaces файл. Я также подкачал Сеть NAT/Host-Only вокруг между 2 NICs. Ничто не работало.

Хост является Windows 8.1, и гостем является Сервер Ubuntu 13.10. Я попробовал то же на Mac OS X с подобными результатами.

Я был бы очень признателен за любую справку в этом.

Обновление:

Я включал вывод от следующих команд ниже, для помощи в диагностике:

  • кошка/etc/network/interfaces
  • ifconfig-a
  • маршрут-n
$ cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255
gateway 192.168.56.254

$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 08:00:27:75:47:64
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe75:4764/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1180 (1.1 KB)  TX bytes:1332 (1.3 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:93:98:d8
          inet addr:192.168.56.1  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe93:98d8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:140 errors:0 dropped:0 overruns:0 frame:0
          TX packets:225 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:14418 (14.4 KB)  TX bytes:27378 (27.3 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1184 (1.1 KB)  TX bytes:1184 (1.1 KB)

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.56.254  0.0.0.0         UG    0      0        0 eth1
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1

Обновление 2:

После того, как я выполняюсь sudo service networking restart, вывод от route -n становится:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1

Таким образом, как я гарантирую эту конфигурацию на начальной загрузке?

22
задан 11 April 2014 в 15:13

5 ответов

Было бы легче диагностировать Вашу проблему при регистрации результатов, Вы добираетесь при попытке проверить с помощью ping-запросов внешний адрес (как серверы Google DNS, которые Вы используете), текущие параметры сети и Ваша таблица маршрутизации.

/sbin/ifconfig -a
/sbin/route -n

, не зная больше это - определенный выстрел в темноте, но мои предположения - то, что любой a) Вы не получаете адрес DHCP на eth0, или b) Ваш настройки шлюза для eth1 смешивают с присвоенным DHCP маршрута по умолчанию.

, Если Вы не получаете адрес DHCP для eth0, это - вероятно, неверная конфигурация в VirtualBox (как получение Ваших адаптеров назад).

Так или иначе, Вам не нужны шлюз или настройки DNS, присвоенные специально для eth1, так как это будет присвоено DHCP на eth0, таким образом, я удалил бы шлюз, dns-поиск и строки dns-серверов-имен от Вашей конфигурации. Ваши виртуальные машины все еще будут в состоянии связаться без настройки шлюза, если они будут в той же сети, и VirtualBox создан право.

Редактирование: Для проверки Вы не имеете шлюза на eth1 после перезагрузки, удаляете строки из Вашего eth1 блока так, чтобы это было похоже на это:

auto eth1
iface eth1 inet static
address 192.168.56.1
netmask 255.255.255.0

, Когда Вы будете сделаны, у Вас не будет строк шлюза в Вашем файле интерфейсов.

16
ответ дан 16 November 2019 в 12:13

Я придумал thissolution, который совпадает с ответом @jkt123 и вопросом @Umar, но короче. Я ценил бы обратную связь на нем!

В virtualbox, включают и NAT и только для хоста сети. (BTW: Это работает над моим хостом win7. Я не знаю, как сделать это в хосте Linux).

На хосте - находят ip

ipconfig /all     # for windows host
ifconfig -a       # for linux host

интерфейса "только для хоста" В госте, /etc/network/interfaces редактирования. Прием был , инвертирование порядка eth1 (только для хоста), происходит ПРЕЖДЕ eth0 (internet/dhcp). Я не знаю почему.

auto lo                        # keep the original loopback settings
iface lo ...                   # yeah, i don't remember, just keep it.

# ----> Ok, this is my addition <-----
auto eth1                      
allow-hotplug eth1             # i think hotplug it helps. not sure.
iface eth1 inet static
address 192.168.56.100         # arbitrary IP address between 2 and 254

auto eth0                      # This is the original content
iface eth0 inet dhcp           #  of this file, now at the end.

перезагрузка.

3
ответ дан 16 November 2019 в 12:13

В первую очередь, я включил обе сети NAT с DHCP, и разместите только сеть с static ip add 192.168.40.41.

Затем я следовал с этой командой:

nano cat /etc/network/interfaces

я получил этот результат:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.41.4
netmask 255.255.255.0

И перед перезагрузкой, я ввел следующую команду:

sudo service networking restart

Затем перезагруженный.

После того, как я загрузился к VM VirtualBox, обе сети работают. Я могу соединиться с Интернетом, и я могу соединиться с 192.168.40.41 через веб-браузер.

я надеюсь, что это будет полезно для получения nano редактор:

sudo apt-get update
sudo apt-get install nano

Затем просто тип nano в терминале для запуска его.

0
ответ дан 16 November 2019 в 12:13

У Вас есть несколько шлюзов по умолчанию, присвоенных другому NICs. В целом "Значение по умолчанию" означает предварительно выбранную опцию. В этом случае, если бы указанный шлюз по умолчанию определяется обоим NICs, это не была бы предварительно выбранная опция. Кроме того, это также привело бы к проблемам связи, таким как Асинхронная маршрутизация. Я не уверен, как Метрика обоих интерфейсов установлена на 0, но это может произойти из-за наличия обоих NICs со шлюзами. Рецензия Microsoft об этом расположена здесь, и функция Metric имеет много факторов, которые обеспечивают, как она определяется для установки приоритетов. (Ссылка: https://support.microsoft.com/en-us/help/299540/an-explanation-of-the-automatic-metric-feature-for-ipv4-routes)

В соглашении с @jkt123 в ответе, которому отвечают, существует только 1 шлюз по умолчанию, который должен быть присвоен.

0
ответ дан 16 November 2019 в 12:13

Я пытался установить его, настроив /etc/network/interfaces, но не получилось, Затем я прочитал о netplan, затем установил свой IP-адрес в /etc/netplan/00-installer-config.yaml

# This is the network config written by 'subiquity'
network:
  ethernets:
    enp0s10:
      dhcp4: true
    enp0s3:
      dhcp4: true
    enp0s8:
      dhcp4: true
    enp0s9:
      addresses:
      - 192.168.57.3/24
      nameservers: {}
  version: 2

. Это сработало

0
ответ дан 8 February 2021 в 06:59

Другие вопросы по тегам:

Похожие вопросы: