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

Должен ли я получить дополнительные IP-адреса?

Это моя предлагаемая установка с использованием контейнеров OpenVZ (размещенных на Proxmox):

CT 1: MySQL и nginx. Размещает все базы данных и несколько веб-сайтов (доменов). Используемые порты: 80, 443, 3306, 8080

CT 2, 3, 4: Эти специальные серверы хоста, которые все прослушивают порты 7171 и 7172. Они также подключаются к CT1 для своих баз данных.

Для подключения к веб-сайтам люди используют exampledomain1.com exampledomain2.com и так далее

Для подключения к серверам в КТ 2, 3 и 4 человека используют login.exampledomain1.com:7171 и так далее (после аутентификации клиент переключается на порт 7172)

MySQL слушает mysql.exampledomain9.com

Так что было бы лучше получить дополнительные IP-адреса для этой конфигурации? Сколько мне нужно (может быть, по одному на домен?)?

Короткий ответ: Нет, не следует. Пожалуйста, прочтите ниже рекомендации.

Пожалуйста, рассмотрите возможность НЕ открывать вашу базу данных через общедоступный Интернет. Поскольку вы используете контейнеры OpenVZ, вы сможете получить к ним доступ через внутреннюю сеть. Если это возможно, вам следует привязать MySQL к прослушиванию IP-адреса локальной сети. Вы можете установить это в my.cnf. При такой настройке вы можете либо указать mysql.domain.com на этот внутренний IP-адрес, либо пропустить его и использовать /etc/hosts файл на своем веб-сервере, чтобы не раскрывать вашу внутреннюю конфигурацию через общедоступный DNS.

Нет особых причин для доступа к серверу базы данных из Интернета. Если вы не можете использовать внутреннюю сеть, я бы продолжил настройку внутренней VPN между двумя серверами. Для этого можно использовать OpenVPN, и базовой настройки будет достаточно.

Теперь вам нужен один IP-адрес на общедоступный компьютер. Больше не надо. Apache можно настроить для обработки любого количества доменов по HTTP и HTTPS.

Частные компьютеры (например, серверные части), если можете, настройте их с локальными IP-адресами.

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

auto eth1:0
iface eth1:0 inet static
    name Local network
    address 192.168.1.2
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.254

auto eth1:1
iface eth1:1 inet static
    name Local network
    address 192.168.1.3
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.255
    gateway 192.168.1.254

etc.

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

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

Если ваше приложение работает и у вас есть только один публичный IP-адрес, ничего страшного.

Если вам нужно различать разные роли на сервере или вы хотите заранее спланировать разделение ролей в будущем, используйте DNS-имена для идентификации каждой роли, которую выполняет сервер.