Моя настройка:

  • Хост MacOS (High Sierra 10.13.3)
  • Linux guest (Ubuntu 16.04)
  • Виртуальная коробка 5.2.12
  • NAT сеть

Мне нужно поговорить от хозяина к гостю и от гостя к интернету.

Гость получает IP-адрес 10.0.2.15 и шлюз 10.0.2.2. Я могу пинговать хост от гостя без проблем. Тем не менее, я не могу пропинговать гостя с хоста:

PING 10.0.2.15 (10.0.2.15): 56 байтов данных Тайм-аут запроса для icmp_seq 0 Тайм-аут запроса для icmp_seq 1 Тайм-аут запроса для icmp_seq 2 ...

Адрес 10.0.2.2, по-видимому, назначен моему хосту: у меня на хосте работает httpd-сервер - и если я перехожу к 10.0.2.2 в браузере от гостя, я получаю сайт хоста.

Что касается конфигурации сети, я не вижу никаких интерфейсов, добавленных virtualbox:

host$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
    inet 127.0.0.1 netmask 0xff000000 
    inet6 ::1 prefixlen 128 
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    nd6 options=201<PERFORMNUD,DAD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
OHC4: flags=0<> mtu 0
EHC36: flags=0<> mtu 0
EHC38: flags=0<> mtu 0
OHC6: flags=0<> mtu 0
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether xxxxx 
    inet6 fe80::1c34:9a51:ed93:3a5b%en1 prefixlen 64 secured scopeid 0x9 
    inet 10.37.37.37 netmask 0xffffff00 broadcast 10.37.37.255
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: active
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
    ether xxxxx
    media: autoselect
    status: inactive
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 4078
    lladdr xxxxx
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect <full-duplex>
    status: inactive
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=b<RXCSUM,TXCSUM,VLAN_HWTAGGING>
    ether xxxxx
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect (none)
    status: inactive
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
    inet6 fe80::9a23:8dd9:bf4e:f69d%utun0 prefixlen 64 scopeid 0x8 
    nd6 options=201<PERFORMNUD,DAD>

и я не вижу маршрутов для подключения от хоста к гостю:

host$ netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            10.37.37.1         UGSc           77       10     en1
10.37.37/24        link#9             UCS             3        0     en1
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH              3   458010     lo0
169.254            link#9             UCS             0        0     en1
255.255.255.255/32 link#9             UCS             0        0     en1

Internet6:
Destination                             Gateway                         Flags         Netif Expire
default                                 fe80::%utun0                    UGcI          utun0
::1                                     ::1                             UHL             lo0
fe80::%lo0/64                           fe80::1%lo0                     UcI             lo0
fe80::1%lo0                             link#1                          UHLI            lo0
fe80::%utun0/64                         fe80::9a23:8dd9:bf4e:f69d%utun0 UcI           utun0
fe80::9a23:8dd9:bf4e:f69d%utun0         link#8                          UHLI            lo0
fe80::%en1/64                           link#9                          UCI             en1
fe80::1c34:9a51:ed93:3a5b%en1           f0:b4:79:1f:81:f0               UHLI            lo0
ff01::%lo0/32                           ::1                             UmCI            lo0
ff01::%utun0/32                         fe80::9a23:8dd9:bf4e:f69d%utun0 UmCI          utun0
ff01::%en1/32                           link#9                          UmCI            en1
ff02::%lo0/32                           ::1                             UmCI            lo0
ff02::%utun0/32                         fe80::9a23:8dd9:bf4e:f69d%utun0 UmCI          utun0
ff02::%en1/32                           link#9                          UmCI            en1

Понятно, что хозяин не может говорить с гостем. Вопрос в том, как мне это сделать?

1 ответ1

0

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

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