Моя проблема в основном в том, что я не могу получить доступ к Интернету с виртуальной машины Ubuntu. Я пытаюсь понять, как это сделать, и буду очень признателен за помощь в этом. Я понимаю, что при поиске в Google появляется довольно много результатов, и ни одно из найденных мной решений не работает. Я также не очень хорошо разбираюсь в сетях, поэтому прости меня (и, пожалуйста, исправь меня!) если я неправильно использую любую терминологию.

Специфика моей проблемы заключается в следующем: у меня есть гостевой сервер Ubuntu 14.04 в Virtualbox на хосте Windows 8.1. Я установил два сетевых адаптера в VBox, один для подключения к Интернету с виртуальной машины, другой для SSH в виртуальную машину с хоста. Я могу успешно SSH в гостевой от хоста, но не могу получить доступ в Интернет с самой виртуальной машины.

У меня есть два сетевых адаптера для указанного гостя следующим образом:

  • Адаптер 1: NAT, кабель подключен; нет правил переадресации портов
  • Адаптер 2: адаптер только для хоста, адаптер Ethernet для хоста VirtualBox, кабель подключен

В виртуальной машине я настроил /etc/network/interfaces следующим образом:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 192.168.56.11
gateway 192.168.56.1

Запуск ifconfig в виртуальной машине дает:

eth0      Link encap:Ethernet  HWaddr 08:00:27:f8:41:f4
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fef8:41f4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:61 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2568 (2.5 KB)  TX bytes:9768 (9.7 KB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:bd:71:e5
          inet addr:192.168.56.11  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:febd:71e5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:992 errors:0 dropped:0 overruns:0 frame:0
          TX packets:687 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:111574 (111.5 KB)  TX bytes:99004 (99.0 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:28 errors:0 dropped:0 overruns:0 frame:0

и netstat -rn дает:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.56.1    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

Как я уже отмечал ранее, я могу легко подключиться к виртуальной машине через SSH (я должен отметить, что VBox Host-Only Network обрабатывает 192.168.56.0/24). У меня нет проблем с этой функцией.

Что я испытываю проблемы с это eth0 Это NIC (это правильный термин?) кажется, работает нормально - это подключение, в конце концов:

user@machine:~$ sudo ifdown eth0
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/08:00:27:f8:41:f4
Sending on   LPF/eth0/08:00:27:f8:41:f4
Sending on   Socket/fallback
DHCPRELEASE on eth0 to 10.0.2.2 port 67 (xid=0x2ecf8ea)

user@machine:~$ sudo ifup eth0
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/08:00:27:f8:41:f4
Sending on   LPF/eth0/08:00:27:f8:41:f4
Sending on   Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0x3c7a1e6f)
DHCPREQUEST of 10.0.2.15 on eth0 to 255.255.255.255 port 67 (xid=0x3c7a1e6f)
DHCPOFFER of 10.0.2.15 from 10.0.2.2
DHCPACK of 10.0.2.15 from 10.0.2.2
bound to 10.0.2.15 -- renewal in 41246 seconds.

Тем не менее, это не похоже на интернет-соединение, которое использует мой хост. (Должен отметить, что я студент университета, и хотя у меня нет подтверждения этому, я думаю, что две беспроводные сети в моем общежитии охватывают 10.66.0.0/16 и 10.67.0.0/16). Соответствующие фрагменты ipconfig :

Wireless LAN adapter Local Area Connection* 12:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : 

Wireless LAN adapter Wi-Fi:

   Connection-specific DNS Suffix  . : <$university>.edu
   Link-local IPv6 Address . . . . . : fe80::6951:a0dd:9416:1174%4
   IPv4 Address. . . . . . . . . . . : 10.66.31.253
   Subnet Mask . . . . . . . . . . . : 255.255.0.0
   Default Gateway . . . . . . . . . : 10.66.0.1

Ethernet adapter Ethernet:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : <$university>.edu

Ethernet adapter VirtualBox Host-Only Network:

   Connection-specific DNS Suffix  . : 
   Link-local IPv6 Address . . . . . : fe80::b53e:38c2:fa96:efb8%17
   IPv4 Address. . . . . . . . . . . : 192.168.56.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 

Все, что у меня есть в /etc/udev/rules.d , это README ; там нет файла 70-persistent-net.rules .

Я проверил, что Oracle VM Virtualbox имеет доступ через брандмауэр Windows.

Я получил случайное подключение к Интернету с VM (то есть, ping 8.8.8.8 не теряет пакеты), и я совершенно не знаю , как, но перезагрузки VM убьет соединение. Среди тех немногих раз, когда я получал соединения, одно происходило после обращения сетевых адаптеров (адаптер 1 от только хоста к NAT и 2 от NAT к только хосту и переключение eth0 и eth1 в /etc/network/interfaces).

Кроме этого, я в полной растерянности. Проблема определенно на моем конце, или возможно, что есть проблема между гостем и сетью моего университета? Все, что я знаю, это то, что eth0 ставит гостя на 10.0.2.0/24 и, исходя из того, что говорит мне хост, я хочу гостя на 10.66.0.0/24 или 10.67.0.0/24 .

3 ответа3

0

Удалось решить мою проблему. В конечном итоге решением было удалить gateway из /etc/network/interfaces . Хотя я не совсем понимаю, почему, я нашел это:

Только интернет-машина должна иметь декларацию "шлюза". Другой интерфейс будет просто передавать пакеты, предназначенные для другой подсети, которые будут читать машины в этой сети.

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

Я должен отметить, что я понял, что это проблема после следующего (обратите внимание, что когда я говорю отключенные / включенные адаптеры, я говорю об этом в VBox с выключенной виртуальной машиной; я перезагружал ее несколько раз, чтобы убедиться, что собственно решение проблемы а не только симптомов)

  1. Отключенный адаптер № 2, включенный адаптер № 1 для подключения к сетевой карте Ethernet хоста, обнаружил, что это фактически подключило гостя к Интернету. Это первый намек на то, что моя проблема связана с наличием не одного, а двух адаптеров. Я должен отметить, что я также подключил адаптер # 1 к беспроводной сетевой плате хоста, которая, вероятно, не сработала из-за впечатляющей потери пакета 86% с Wi-Fi моего универа.
  2. Держал адаптер № 2 отключенным, переключил адаптер № 1 на NAT, проверил подключение, оставаясь в сети 10.0.2.0/24 . Я до сих пор не особенно понимаю эту часть, и если бы кто-нибудь мог объяснить, почему это работает таким образом, это было бы здорово. В любом случае, это доказало мне, что проблема не в NAT, а в том, что оба адаптера включены.
  3. Включены оба адаптера, № 1 в качестве NAT и № 2 в качестве только хоста. Посмотрел конфигурации с двумя сетевыми платами, понял, что у меня проблема с настройкой шлюза (я всегда думал, что мне нужны оба шлюза).
  4. Я удалил строку конфигурации gateway для eth1 и попытался sudo /etc/init.d/networking restart а также комбинации ifdown и ifup (этот комментарий отмечает, что комментирование строки не сработало). Я должен отметить, что это не сработало для меня.
  5. Я решил собрать информацию о маршрутизации ядра о различных рабочих настройках, и когда я загрузился обратно в конфигурацию с двумя сетевыми платами, я обнаружил после поверхностного ping что у меня было интернет-соединение от гостя. Я подозреваю, что причина этого кроется именно где-то между несоответствием между процессами настройки сети, запущенными во время запуска, и ifconfig , ifdown , ifup и /etc/init.d/networking , но в любом случае я наконец-то получил работающее интернет-соединение на мой гость так, как я хотел.
0

Быстрый вопрос ... почему бы просто не использовать 1 NIC в режиме моста с переходниками? Ваша виртуальная машина получит IP-адрес из вашей локальной сети, и вы сможете сразу же выходить в Интернет, ничего особенного не нужно.

0

Скопируйте это в /etc/network/interface:

auto lo
iface lo inet loopback
auto lo eth0

Измените сетевые настройки на NAT-адаптер и перезагрузите т / с.

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