Я имею Mac OS X 10.10 (Yosemite) в качестве хост-машины, я установил VirtualBox и создал виртуальную машину с Windows 7 64-bit.

Я создал 2 сетевых адаптера на виртуальной машине, как показано ниже. Но я не могу пропинговать гостевую ОС Windows 7 с хост-системы Mac OS X. Как мне исправить эту проблему? Я могу пропинговать хост-систему с гостевой ОС.

Я чувствую, что решение этой проблемы также поможет мне решить проблемы с SSH в гостевой ОС. Я не хочу использовать переадресацию портов.

  1. Host Only Adapter
  2. NAT-адаптер

Команда VBoxManage showvminfo показывает:

VBoxManage showvminfo win7_x64

Дайте следующую информацию

 NIC 1:           MAC: 080027D6197C, Attachment: Host-only Interface
                  'vboxnet0', Cable connected: on, Trace: off (file: none), 
                  Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, 
                  Promisc Policy: deny, Bandwidth group: none
 NIC 2:           MAC: 080027DC16CE, Attachment: NAT, Cable connected: on, 
                  Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps,
                  Boot priority: 0, Promisc Policy: deny, Bandwidth group: none
 NIC 2 Settings:  MTU: 0, Socket (send: 64, receive: 64), TCP Window (send:64, receive: 64)

Когда я запускаю ipconfig для гостя, я получаю следующий вывод.

 Windows IP Configuration


 Ethernet adapter Local Area Connection 2:

    Connection-specific DNS Suffix  . :
    Link-local IPv6 Address . . . . . : fe80::78da:422c:2215:41bb%12
    IPv4 Address. . . . . . . . . . . : 192.168.56.101
    Subnet Mask . . . . . . . . . . . : 255.255.255.0
    Default Gateway . . . . . . . . . :

 Ethernet adapter Local Area Connection:

    Connection-specific DNS Suffix  . : Home
    Link-local IPv6 Address . . . . . : fe80::61b7:c9f4:3f50:c732%10
    IPv4 Address. . . . . . . . . . . : 10.0.3.15
    Subnet Mask . . . . . . . . . . . : 255.255.255.0
    Default Gateway . . . . . . . . . : 10.0.3.2

 Tunnel adapter Local Area Connection* 12:

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

 Tunnel adapter isatap.Home:

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

 Tunnel adapter isatap.{13342B61-268C-4B2A-92E7-5DA848C7707B}:

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

Когда я пытаюсь пропинговать гостевой IP-адрес (в данном случае 192.168.56.101), я получаю тайм-ауты.

XYZ-MBP:~ user1$ ping 192.168.56.101
PING 192.168.56.101 (192.168.56.101): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
^C
--- 192.168.56.101 ping statistics ---
5 packets transmitted, 0 packets received, 100.0% packet loss

Ниже приведен результат выполнения команды ifconfig на моем Mac (хост).

XYZ-MBP:~ user1$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 ::1 prefixlen 128 
    inet 127.0.0.1 netmask 0xff000000 
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
    nd6 options=1<PERFORMNUD>
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 24:a0:74:f0:ee:46 
    inet6 fe80::26a0:74ff:fef0:ee46%en0 prefixlen 64 scopeid 0x4 
    inet 192.168.0.5 netmask 0xffffff00 broadcast 192.168.0.255
    inet6 fd54:669f:e4f2::26a0:74ff:fef0:ee46 prefixlen 64 autoconf 
    inet6 fd54:669f:e4f2::3024:caa:5279:425d prefixlen 64 autoconf temporary 
    nd6 options=1<PERFORMNUD>
    media: autoselect
    status: active
en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=60<TSO4,TSO6>
    ether 72:00:07:b1:67:90 
    media: autoselect <full-duplex>
    status: inactive
en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    options=60<TSO4,TSO6>
    ether 72:00:07:b1:67:91 
    media: autoselect <full-duplex>
    status: inactive
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
    ether 06:a0:74:f0:ee:46 
    media: autoselect
    status: inactive
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1452
    ether 26:39:2f:b8:30:3f 
    inet6 fe80::2439:2fff:feb8:303f%awdl0 prefixlen 64 scopeid 0x8 
    nd6 options=1<PERFORMNUD>
    media: autoselect
    status: active
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=63<RXCSUM,TXCSUM,TSO4,TSO6>
    ether 26:a0:74:0f:a8:00 
    Configuration:
        id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
        maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
        root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
        ipfilter disabled flags 0x2
    member: en1 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 5 priority 0 path cost 0
    member: en2 flags=3<LEARNING,DISCOVER>
            ifmaxaddr 0 port 6 priority 0 path cost 0
    nd6 options=1<PERFORMNUD>
    media: <unknown type>
    status: inactive
vboxnet0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
    ether 0a:00:27:00:00:00 
    inet 192.168.0.10 netmask 0xffffff00 broadcast 192.168.0.255

2 ответа2

2

Два конца соединения vboxnet , т. Е. Ваш адаптер Host-only, принадлежат двум разным подсетям, поэтому они не могут общаться друг с другом.

Из ipconfig:

  Ethernet adapter Local Area Connection 2:

Connection-specific DNS Suffix  . :
Link-local IPv6 Address . . . . . : fe80::78da:422c:2215:41bb%12
IPv4 Address. . . . . . . . . . . : 192.168.56.101
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :

Из команды ifconfig на хосте:

 vboxnet0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
ether 0a:00:27:00:00:00 
inet 192.168.0.10 netmask 0xffffff00 broadcast 192.168.0.255

У одного адрес 192.168.56.101 , у другого 192.168.0.10 . Чтобы они могли общаться друг с другом, они должны принадлежать к одной подсети, 192.168.56.0/24 . Что еще хуже, подсеть интерфейса vboxnet0 хоста такая же, как и в локальной сети вашего хоста, просто для того, чтобы обеспечить максимальную путаницу.VirtualBox автоматически настраивает две подсети, чтобы они отличались друг от друга, поэтому используется такая необычная подсеть, как 192.168.56.0/24 . Вы не должны изменять эту схему.

Возможно, ваша таблица маршрутизации также содержит некоторые ошибки, но мы перейдем этот мост, когда доберемся туда.

1

Следующее решило проблему в моем случае:

Я видел тайм-ауты при пинге гостя Win7 с хоста Mac OS X и обнаружил, что определение порядка адаптера имело значение.

Работали следующие конфигурации:
* Адаптер 1: только для хоста
* Адаптер 1: только для хоста | Адаптер 2: NAT
* Адаптер 1: только для хоста | Адаптер 2: мостовой
* Адаптер 1: только для хоста | Адаптер 2: мостовой | Адаптер 3: NAT
* Адаптер 1: только для хоста | Адаптер 2: NAT | Адаптер 3: мостовой

где ответ на пинг был:
64 байта из 192.168.56.199: icmp_seq = 0 ttl = 64 времени = 0,327 мс
64 байта из 192.168.56.199: icmp_seq = 1 ttl = 64 времени = 0,277 мс
64 байта из 192.168.56.199: icmp_seq = 2 ttl = 64 времени = 0,314 мс
...

Тайм-аут следующих конфигураций:
* Адаптер 1: NAT | Адаптер 2: только для хоста
* Адаптер 1: мостовой | Адаптер 2: только для хоста
* Адаптер 1: мостовой | Адаптер 2: NAT | Адаптер 3: только для хоста

где ответ на пинг был:
Тайм-аут запроса на icmp_seq 0
Тайм-аут запроса для icmp_seq 1
Тайм-аут запроса для icmp_seq 2
...

В настоящее время я не уверен, почему, однако кажется, что сначала необходимо указать адаптер только для хоста. Я прекратил тестирование перестановок после того, как отмечено выше.

Надеюсь, это поможет!

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