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

Как обрабатывать DNS на брандмауэре

Я наталкиваюсь на мысленное препятствие, пытаясь понять это.

В нашем офисе установлен брандмауэр Juniper, и мы часто перенаправляем порты для доступа к внутренним службам, к которым нам нужно получить доступ извне. Например, наш сервер сборки живет по адресу http://machine1:8190 поэтому мы перенаправляем все запросы на этот порт в брандмауэре на внутреннюю машину на том же порту.

Вместо этого я хочу получить доступ к серверу сборки по адресу http://build.mydomain.com. Внутренне у меня есть настройка DNS, чтобы указать на наш сервер nginx, на котором запущен обратный прокси, чтобы все внутренние запросы для http://build.mydomain.com получить прокси на http://machine1:8190. Я пытаюсь понять, как заставить мои внешние запросы (извне офиса) работать таким же образом. Если я настрою DNS, чтобы он указывал на наш общедоступный IP-адрес нашего офиса, что мне нужно настроить на брандмауэре? Очевидно, запросы поступают через :80 но у меня есть другие правила переадресации портов, которые используют этот порт. Мне просто нужно указать DNS брандмауэра на нашем внутреннем DNS-сервере? Я просто не уверен, какой подход правильный.

Спасибо!

Я бы рассмотрел три варианта:

  • Используйте порт 443 для доступа к внутренним службам. Отправьте это nginx от брандмауэра и иметь nginx выполните соответствующую аутентификацию перед пересылкой. (Это был бы мой предпочтительный вариант, так как мне потребовалась бы аутентификация для удаленного доступа.)
  • Попросите текущий сервер для порта 80 перенаправить запрос на nginx. apache/apache2 имеет соответствующие возможности прокси. Многие другие веб-серверы имеют аналогичные возможности.
  • Есть nginx перенаправить веб-трафик на существующий сервер. У вас уже есть пересылка. Это было бы еще одним правилом переадресации (возможно, правилом по умолчанию).

Для поддержки этого вам могут потребоваться дополнительные DNS-псевдонимы для внешнего IP-адреса.