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

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

Возможно ли, чтобы некоторые компьютеры в сети имели свои собственные общедоступные IP-адреса и обслуживали контент через Интернет, в то время как другие компьютеры в той же сети имеют только частные IP-адреса, но при этом могут делать запросы через Интернет (например, домашний компьютер бы через роутер)?

Больше информации:

У меня есть группа из 15 серверов (и доступно только 12 публичных IP-адресов)

2 сервера:

13 серверов:

Визуальное описание проблемы:

IPv6 имеет множество IP-адресов, поэтому у всех будет общедоступный IPv6-адрес, так что я так понимаю, вы говорите об IPv4. IPv4 допускает тип маршрутизации, называемый преобразованием сетевых адресов (NAT), который позволяет нескольким частным IP-устройствам использовать общедоступный Интернет с одним общедоступным IPv4-адресом на маршрутизаторе.

Никаких причудливых переключателей не нужно, подойдет простой переключатель. Маршрутизатор - это то, что решает, на какой MAC-адрес отправлять пакеты и нужно ли выполнять NAT-маршрутизацию.

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

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

Изменить: каждый запрос http / https и, если на то пошло, пакет tcp, включают исходный IP-адрес и исходный порт запроса. Каждый запрос http / https также включает запрашиваемое имя веб-сайта. На основе этой информации балансировщик нагрузки имеет в своей конфигурации список IP-адресов, с которыми он может связаться для выполнения запроса. В зависимости от IP-адреса машины, с которой он пытается установить связь, таблица маршрутизации ОС определит, с каким nic будет связываться.

Да, это возможно.

Есть несколько подходов.

  1. Если ваш провайдер предлагает IPv6, сделайте серверы, которые должны быть общедоступными, двойным стеком и сделайте серверы, которые не должны быть общедоступными, только IPv6. Если частным серверам требуется доступ только к ресурсам IPv4 в Интернете, вам нужно будет использовать NAT64 / DNS64 для предоставления доступа к Интернету IPv4, если ваш провайдер особенно рассчитывает на то, что он может предоставить это для вас, или вам, возможно, придется запускай сам.

  2. Иметь общедоступную подсеть и частную подсеть, а существующий шлюз-маршрутизатор для сети должен выполнять маршрутизацию между двумя подсетями и NAT между частной подсетью и Интернетом. Для этого необходимо, чтобы существующий маршрутизатор имел достаточно гибкую поддержку NAT (Linux может это сделать, не уверен в других реализациях)

  3. Имейте общедоступную подсеть и частную подсеть и используйте одну из ваших собственных машин для обеспечения NAT, чтобы частные машины могли получить доступ к Интернету. Либо настройте маршрутизацию, чтобы общедоступные и частные машины могли видеть друг друга, либо назначьте IP-адреса общедоступным машинам в обеих подсетях.

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

  • Настройте брандмауэр как единственную точку доступа в Интернет. Дайте ему первый IP в вашем блоке из 12 IP. Первоначальная настройка аналогична настройке домашнего маршрутизатора ... Все компьютеры во внутренней локальной сети имеют доступ к Интернету. Если перейти на whatismyip.com, результатом будет внешний IP-адрес брандмауэра. Все внутренние машины защищены межсетевым экраном.
  • Настройте балансировщики нагрузки с общедоступными IP-адресами: настройте балансировщики нагрузки с IP-адресом во внутренней сети. Используйте функцию NAT в брандмауэре, чтобы сопоставить внутренний IP-адрес loadbalancerA со вторым общедоступным IP-адресом и внутренний IP-адрес loadbalancerB с третьим общедоступным IP-адресом. (Вам также нужно будет установить правила брандмауэра, чтобы разрешить входящие запросы)

Вам также понадобится коммутатор для обеспечения физических подключений всех серверов ... По сути, подключите Интернет к внешнему интерфейсу межсетевого экрана. Внутренний интерфейс межсетевого экрана для коммутатора, затем все серверы на коммутатор.