Я пытаюсь настроить ряд гостей в VirtualBox, таком, что каждый из них может получить доступ к Интернету, а также быть видим друг другу и к хосту. Я также хочу, чтобы у гостей были статические IP-адреса.
Вот процедура, которую я выполнил до сих пор:
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
Когда гость загружается снова, сети Только для хоста хорошо работают. Хост/гость и пары гостя/гостя машин могут проверить с помощью 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 с подобными результатами.
Я был бы очень признателен за любую справку в этом.
Обновление:
Я включал вывод от следующих команд ниже, для помощи в диагностике:
$ 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
Таким образом, как я гарантирую эту конфигурацию на начальной загрузке?
Было бы легче диагностировать Вашу проблему при регистрации результатов, Вы добираетесь при попытке проверить с помощью 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
, Когда Вы будете сделаны, у Вас не будет строк шлюза в Вашем файле интерфейсов.
Я придумал 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.
перезагрузка.
В первую очередь, я включил обе сети 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
в терминале для запуска его.
У Вас есть несколько шлюзов по умолчанию, присвоенных другому 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 шлюз по умолчанию, который должен быть присвоен.
Я пытался установить его, настроив /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
. Это сработало