У меня есть Windows Server 2012, в центре обработки данных, с Virtualbox для размещения сервера CentOS 6.4 linux.

Центр обработки данных предоставил мне 5 IP-адресов, и все они находятся в одной подсети.

Windows доступна снаружи, IIS работает нормально, а также FTP и другие сервисы.

CentOS имеет конфигурацию LAMP, и при запуске команды curl из консоли я вижу тестовую страницу apache и страницу входа в систему phpmyadmin. Если я пинг или завиток из CentOS, я правильно получаю ответы от внешнего сайта. Если я пингую IP-адрес извне, назначенный CentOS, я вижу ответы.

Я настроил шлюз в /etc /sysconfig /network-scripts /ifcfg-eth0 со следующими параметрами:

# Intel Corporation 82540EM Gigabit Ethernet Controller
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
HWADDR=06:01:78:a7:00:33
NETMASK=255.255.248.0
IPADDR=95.110.xxx.xxx
TYPE=Ethernet

и я определил шлюз по умолчанию здесь (/etc/sysconfig/network)

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=myhostname
GATEWAY=95.110.xxx.xxx

В Windows у меня видны два сетевых адаптера:

  1. Ethernet, с указанным IPv4 сервера Windows
  2. VirtualBox Host-only Network, где я установил один из дополнительных доступных IP

Затем в панели управления Virtualbox я попытался настроить как Bridged Network, так и только хост, но сервер CentOS никогда не доступен снаружи, и снаружи я имею в виду также хост-сервер Windows.

Я всегда получаю ответ « Тайм-аут сайта недоступен», если я пытаюсь просмотреть IP-адрес или http://95.110.xxx.xxx/phpmyadmin. Но если я пытаюсь пинговать это, я получаю ответы. Как правильно настроить virtualbox и сетевые адаптеры, чтобы сделать гостя доступным извне?

Пожалуйста, обратите внимание:

  1. Я не хочу использовать NAT и переадресацию портов, поскольку у меня есть выделенный IP-адрес для гостевого сервера, и я не хочу настраивать порт fwd.
  2. Я пытался отключить iptables и ip6tables, но все еще не доступен.
  3. Я также попытался временно отключить брандмауэр Windows.
  4. Не говорите мне использовать Vagrant или другое программное обеспечение.
  5. Физический сервер напрямую подключен к Интернету, без какого-либо жесткого брандмауэра или прокси, который может вызвать проблемы.

1 ответ1

0

Если ваш сервер имеет только один "настоящий" адаптер и подключен к Интернету, он также будет открыт для каждой виртуальной машины, для которой вы установили "мост". Таким образом, если требуется доступ только к одному vm, вы можете настроить только этот vm как мостовой, а остальные как NAT (я имею в виду NAT для Virtualbox, а не NAT с вашим маршрутизатором или брандмауэром). Таким образом, вы можете использовать только два общедоступных ips: один для вашего хоста, а другой для вашего виртуального компьютера, который хочет получить доступ из Интернета. Вы можете настроить этот открытый vm со статическим ip, используя один из общедоступных ip-адресов таким же образом, как и на реальной машине (у каждого должен быть один публичный ip, но разные между ними).

В любом случае, делая это, все, что вам будет доступно для vm, не только для портов, которые вы хотите открыть, имейте это в виду.

Итак, подведем итоги:

  • Ваш хост (реальная машина) будет иметь фиксированный публичный IP-адрес
  • Один или ваш виртуальный компьютер будет иметь мостовой интерфейс с фиксированным публичным IP-адресом
  • Остальные ваши vms будут иметь свои интерфейсы как NAT.

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