Назад | Перейти на главную страницу

Мост сетевого статического IP-адреса к виртуальным машинам виртуальных боксов

Итак, у меня есть выделенный сервер со статическим первичным IP-адресом 89.200.xx.xx, на нем запущены 3 виртуальных машины в виртуальном боксе (все Centos 6, как и сервер), и у меня есть 3 других IP-адреса, которые я хочу назначить виртуальной машине ( числа опущены по понятным причинам):

Итак, я установил мостовое соединение на хосте Centos 6 и настроил его для прослушивания eth0, и я назначил ему IP-адрес 33.xxx.xxx.155. Затем я запустил гостевую ОС и настроил для нее статический IP-адрес 33.xxx.xxx.155 (это после указания конфигурации VB на мосту). Затем я попытался запустить «ifup eth0», и он вернул «Ошибка, какой-то другой хост уже использует адрес 33.xxx.xxx.155». ХОРОШО. Итак, я вернулся к хосту и удалил IP-адрес моста. Затем я перезапустил мост и виртуальную машину и назначил eth0 гостю IP-адрес 33.xxx.xxx.155. Конечно, eth0 выдал этот IP-адрес, отлично! Только вот я не могу получить к нему доступ. У меня HTTPD работает на сервере, и порт 80 правильно разрешен в IPtables, но я не вижу сервер. Я даже не могу пинговать.

Любая помощь будет принята с благодарностью, это моя первая конфигурация мостовой сети.

Скорее всего, это происходит из-за того, что IP-адреса 33.xxx.xxx.xxx не маршрутизируются в сеть, в которой расположен IP-адрес 89.xxx.xxx.xxx.

Другими словами: вы размещаете IP-адреса 33.x.x.x в сети, которая подготовлена ​​для IP-адресов 89.x.x.x. Интернет-маршрутизаторы не будут знать, что 33.x.x.x находится внутри сети 89.x.x.x, и поэтому они не могут направлять пакеты на IP-адреса 33.x.x.x.

Чтобы правильно использовать IP-адреса 33.x.x.x, вы должны использовать их внутри интернет-провайдера, который предоставил вам эти IP-адреса, потому что этот интернет-провайдер правильно настроит сеть 33.x.x.x, где вы можете настроить IP-адреса 33.x.x.x

Что ж, вы можете попытаться настроить серверы VB-GUEST с «сетью только для хоста» и запускать службы на разных портах на серверах, а затем перейти к VB_HOST и настроить его с помощью PAT (преобразование адреса порта), сопоставив каждую службу GUEST с другой порт на общедоступном IP-адресе, так что VB_HOST действует как брандмауэр для VB_GUEST.

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

Расскажите, как это было - ура

Похоже, вы пытаетесь смешать две разные реализации моста.

VirtualBox имеет собственную реализацию моста, которая не зависит от какой-либо настройки моста Linux (br0 или подобное). Если в гостевой конфигурации вы определяете сетевой интерфейс, который будет подключен к Мостовой адаптер это все, что вам нужно сделать, чтобы построить мост Ethernet между гостевым и хост-интерфейсами. Тебе не нужно играть с brctl или другие инструменты ядра Linux для определения моста.

При этом вам также необходимо каким-то образом обеспечить маршрутизацию для других ваших статических IP-адресов. Если ваш хост находится в IP-сети 89.200.xxx.xxx/something, он не получит никаких IP-пакетов для IP-сети 33.xxx.xxx.xxx/something.

Если сеть 33.xxx.xxx.xxx действительно поступает на ваш сервер, это должно быть через второй интерфейс Ethernet хоста. Будь то eth1 и ему должен быть назначен другой (4-й) IP-адрес в сети 33.xxx.xxx.xxx. В окне гостевой конфигурации VirtualBox на панели сети ваш Мостовой адаптер необходимо использовать eth1 интерфейс и ваш гость должен стать доступным (по крайней мере, если ваш eth1 интерфейс также доступен).