В нашей компании в настоящее время есть три отдельных сервера, на которых размещается IIS. Каждый из этих трех серверов имеет один и тот же общедоступный IP-адрес и по существу находится в одной сети в разных подсетях.
Мы пытаемся придумать способ относительно простого предоставления доступа ко всем трем машинам. Любые идеи?
Я предлагаю использовать обратный прокси, в вашем случае Маршрутизация запросов приложений, бесплатное дополнение IIS от Microsoft.
Вы выбираете один из трех серверов и даете ему общедоступный IP-адрес. Установите и настройте ARR для обработки всех запросов и пересылки их на любую из трех конечных точек.
Это бесплатное решение с точки зрения аппаратного и программного обеспечения, но вам нужно узнать об ARR. Предлагаю установить в ВМ три тестовых сервера и поиграться с ними.
Я бы лично сделал обратный прокси, но если вы хотите избежать этого, то альтернативой другим предложениям будет запускать каждый сервер на другом порту и платить за такую услугу, как No-IP, которая будет перенаправлять хост с порта 80 на другой порт.
По сути, host1.domain.com можно указать на ваш ip: 81, и пользователи не заметят разницы.
Это работает, но я все же рекомендую обратный прокси-сервер как «подходящий» способ делать что-то.
Если вы хотите получить доступ к каждому по одному и тому же внешнему IP-адресу, вам придется использовать разные порты и использовать NAT на основе портов.
Если вы можете использовать разные имена хостов / доменные имена, вы можете настроить обратный прокси для передачи запросов на разные серверы на основе имен хостов. например server1.example.com, server2.example.com и т. д.
Для этого вам нужно либо иметь 4-й ящик, либо выбрать один из существующих серверов для выполнения этой задачи.
Настройте NAT, чтобы указать на этот сервер (возможно, только для порта 80).
Выберите пакет прокси. Вы можете использовать что-то вроде Кальмар, Apache, Лак или Сервер трафика Apache (некоторые из них также могут выполнять кеширование).
Настройте прокси-сервер для пересылки запросов для server1.example.com для перехода на внутренний IP-адрес или имя хоста для server1 и то же самое для серверов 2 и 3.
Единственное, о чем следует помнить, - это то, что если прокси-сервер работает на одном из веб-серверов, порт, который прослушивает прокси-сервер, не может совпадать с портом веб-сервера.
Поэтому либо настройте прокси-сервер, скажем, на порт 8080, а затем настройте правило NAT для пересылки запросов с порта 80 на порт 8080, либо, в качестве альтернативы, настройте все свои веб-серверы для работы на этом порту. Тем не менее, я рекомендую первый вариант. Таким образом ваш внутренний доступ будет более аккуратным и в обход прокси.
Надеюсь, все это имеет смысл. Рад уточнить, если это будет необходимо.
Я собираюсь сделать здесь некоторые предположения. Вы заявляете "в настоящее время у нас есть три отдельных сервера, на которых размещается IIS. Каждый из этих трех серверов имеет одинаковый публичный IP-адрес."что, как я предполагаю, означает, что они общедоступны только для очень конкретных сервисов. Они, вероятно, разрешают внешний порт 80, 433 и, возможно, несколько других. Если это так, я бы не стал настраивать метод для удаленного подключения через этот внешний Адрес. Поскольку адрес является общедоступным для веб-служб, его можно просканировать, чтобы найти вашу «дверь для доступа», независимо от того, какую форму она может принимать.
Опция 1: Самым простым решением было бы настроить 4 публичных адреса:
1 публичный адрес с балансировкой нагрузки для предоставления веб-сервисов. 3 Общедоступных адреса, которые перенаправляются на порты на каждом сервере для управления ими.
Настройка перенаправления NAT для адресов управления представляет собой простую настройку межсетевого экрана. Это выглядело бы так.
При желании у вас может быть один общедоступный адрес для предоставления услуг и один общедоступный адрес для управления, но иметь свой входящий порт для каждого сервера. Допустим, у вас есть порты 1000, 1001 и 1002. Если бы вы управляли службой SSH, порт 22, то это выглядело бы следующим образом.
Вариант 2: Настройте сервер управления или программное обеспечение, которое вы затем используете для внутреннего подключения к каждому серверу IIS.
Таким образом, у вас будет один публичный адрес для ваших веб-сервисов и один публичный адрес для управления серверами. Первый адрес - это балансировка нагрузки для ваших серверов IIS, второй адрес идет на ваш управляющий сервер, возможно, на сервер удаленного рабочего стола, SSH-сервер или сервер, который обеспечивает соединение VNC с серверами ISS. Существует множество сторонних вариантов, как бесплатных, так и платных, которые могут выполнить этот второй вариант.
Вариант 3: Настройка VPN (виртуальная частная сеть)
Если ваш брандмауэр может действовать как концентратор VPN, вы можете настроить службы VPN. Это позволит вам подключаться удаленно с помощью VPN. После подключения вы можете подключиться к каждой службе IIS, используя их внутренний IP-адрес.
Вы можете запустить их все на разных портах или поставить перед ними обратный прокси.
Использовать разные порты проще всего, но тогда ваши пользователи должны знать порт, а также имя, чтобы получить доступ к нужному серверу.
Правила обратного прокси-сервера определяют, какой внутренний сервер IIS следует выбрать, в зависимости от запрошенного имени хоста.