У меня есть сервер Ubuntu 12.04 на VirtualBox внутри ОС Windows 7. Я установил брандмауэр внутри Ubuntu, чтобы разрешить доступ к порту 80. На сервере Ubuntu работает сервер Apache. Я выбрал режим Host-Only Adapter в VirtualBox и в качестве типа адаптера выбрал Ethernet-адаптер Virtual Box Host Only. Теперь я установил 172.17.10.60 в качестве IP-адреса адаптера Ethernet Virtual Host Host , открыв его в Центре управления сетями и общим доступом Windows 7. Но когда я подключаюсь к http://172.17.10.60 из моего Google Chrome в Windows 7, он говорит, что Google Chrome could not connect to 172.17.10.60 . Итак, я запускаю ifconfig на сервере VirtualBox Ubuntu. Это дало мне IP-адрес 192.168.56.101 . Мои вопросы:-

  1. Почему два IP-адреса разные?
    и что более важно
  2. Как я могу подключиться к серверу Ubuntu из Windows 7.

Если это помогает, ping на 172.17.10.60 из Windows возвращает ответы успешно. Заранее спасибо.

3 ответа3

1

Один из самых простых способов решить эту проблему - изменить тип адаптера с Ethernet-адаптера Virtual Box Host только на мостовой на VirtualBox, тогда у вас будет IP-адрес того же диапазона, что и у Windows 7.

Я всегда делаю это при тестировании некоторых веб-приложений, и это работает совершенно нормально.

1

IP-адрес должен быть установлен в гостевой системе, а не в хосте. По вашим настройкам интерфейс, отвечающий на 172.17.10.60 является вашей сетевой картой, видимой в Windows.

Сначала перейдите в VirtualBox -> File -> Preferences -> Network и добавьте / проверьте настройки сети только для хоста, если они верны. По тому, что вы написали, у вас должна быть сеть, в которой возможен адрес 172.17.10.60 .

Затем вы можете использовать DHCP для адресации виртуальной машины или статически (отключить DHCP и настроить сеть непосредственно в гостевой системе).

В гостевой системе используйте ifconfig <interface> 172.17.10.60 netmask <host-only ntw. mask> или записать конфигурацию в сетевые сценарии (что-то вроде /etc/sysconfig/network-scripts/ifcfg-<interface> ; я не знаю, правильно ли это в системах, подобных Debian, но это должно быть что-то подобное), чтобы сделать это постоянно.

Обновление от комментария:

Дело в том, что создается виртуальная сеть между виртуальной сетевой картой в хосте и сетевой картой в гостевой. Так что NIC в хосте отличается от гостевого. При использовании статических адресов вы просто настраивали оба сетевых адаптера в сети на один и тот же IP-адрес, что, очевидно, неверно.

1

Это должно идти шаг за шагом.

  1. Почему тип сети вы используете, есть 3 типа полностью.

    • Только хост <= вы выбираете этот.
    • NAT
    • мостиком
  2. Сети только для хоста требуется пара IP, 1 на гостевой ОС и 1 на внешнем сервере. оба они должны быть частными ip, которые не вмешиваются во внешнюю сеть и нигде не используются. например 172.17.10.60 и 172.17.10.61

  3. тест ping внутри гостевой ОС и посмотреть, может ли он пропинговать назначенный ip

  4. тест ping внутри внешнего сервера и посмотреть, может ли он пропинговать назначенный IP

  5. Отключать брандмауэр гостевой ОС, это бессмысленно, так как это сеть только с хостом.

  6. тест ping с гостевой ОС на внешний сервер и наоборот для подтверждения соединения

  7. Отключите все интерфейсы внешнего сервера и настройте настройки брандмауэра, антивирусные настройки, если шаг 6 не работает.

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

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