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

Предоставление внутреннего маршрута 53 DNS через VPN для локальной Active Directory

Ситуация

Мы переносим наши веб-приложения на AWS. Чтобы соединить нашу локальную сеть и AWS, мы создали VPN-соединение. Это работает без проблем.

Локально у нас есть MS AD (2008 R2), который является официальным сервером (среди прочего) для ourcompany.tld (не фактическое имя домена;))

В AWS мы хотим, чтобы все внутренние службы назывались следующим образом: * .dev.ourcompany.tld. Этот DNS должен быть разрешен внутренним маршрутом53.

На AWS общедоступные ресурсы называются * .ourcompany.tld. Этот DNS разрешается нашими собственными серверами имен. (работает)

Эта проблема

В нашей локальной сети мы хотим иметь возможность разрешать someserver.dev.saa.nl. Для этого нашему MS ActiveDirectory нужно указать, что нужно выполнить поиск в AWS для этого доменного имени.

Внутренний маршрут AWS53 доступен только из AWS VPC. AD не может связаться с этим напрямую.

Внутренний маршрут AWS53 доступен только через сервер пересылки VPC DNS, который не является авторитетным.

MS AD требует авторитетного источника для stub-зон и условных серверов пересылки.

Что мы сделали / попробовали

Может ли кто-нибудь дать несколько советов о том, как мы можем решить эту проблему с помощью нашей существующей AD?

Обновить: Маршрутизация другого домена на внутренний маршрут 53 AWS работает путем простого игнорирования ошибки с помощью условной пересылки. Однако для поддомена нам нужно будет сделать делегирование, которое, в свою очередь, выдает SERVFAIL при запросе.

Обновление 2: Кажется, это невозможно. Также отказалась техническая поддержка AWS. Теперь мы зарегистрировали другое доменное имя для всех наших серверов и сервисов и использовали фиксированный DNS в нашей AD для настройки сервисов, используемых другими, кроме ИТ-отдела. с прокси в EC2, который переводит его в имена LB DNS.

Если я правильно понял, у нас есть два ограничения:

  1. В dev.ourcompany.tld Зона Route53 может быть разрешена только из VPC, но не через VPN, и
  2. Локальный AD хочет общаться напрямую с авторитетный сервер имен для dev.ourcompany.tld а не экспедитору.

С этими ограничениями мы должны разработать решение, которое 1) заставит AD думать, что он общается напрямую с Route53 и 2) заставит Route53 думать, что запросы DNS поступают с IP в VPC.

Один из возможных ответов: NAT - преобразование сетевых адресов, вот как бы я это сделал:

  1. Создайте небольшой экземпляр EC2, например, Amazon Linux и Отключить "Проверка источника / назначения" в сетевых настройках экземпляра. Возможно, также дайте ему фиксированный частный IP-адрес. И разрешите входящий TCP и UDP-порт 53 в группе безопасности.

  2. Разрешить переадресацию IP в /etc/sysctl.conf установив net.ipv4.ip_forward=1

  3. Настроить iptables на экземпляре для перенаправления всего входящего трафика с порта 53 на Route53, т.е. VPC-CIDR + 2. Что-то вроде:

    iptables -t nat -A PREROUTING -p tcp --dport 53 \
             -s <on-prem-cidr> -j DNAT --to <VPC-CIDR+2>
    
    iptables -t nat -A PREROUTING -p udp --dport 53 \
             -s <on-prem-cidr> -j DNAT --to <VPC-CIDR+2>
    
  4. Укажите AD на частный IP-адрес этого экземпляра. Трафик DNS будет преобразован в NAT и перенаправлен на Route53, который будет думать, что он исходит от VPC, и ответит на него. Также AD будет доволен, потому что ответ придет непосредственно от авторитетного сервера имен.

Надеюсь, это поможет :)

Сделать это можно следующим образом:

  1. На вашем полномочном DNS-сервере для ourcompany.tld создайте делегирование dev.ourcompany.tld
  2. В полях NS укажите те же DNS-серверы, которые являются полномочными для ourcompany.tld - это разблокирует вас для настройки условного сервера пересылки на следующем шаге.
  3. Настройте сервер условной пересылки для dev.ourcompany.tld и укажите его IP-адреса «Экземпляр EC2 с DNS-пересылкой» (как показано на вашем изображении)

Источник

У меня была такая же ситуация, хотя авторитетный сервер не был MS AD в нашей локальной среде. Для решения вопроса написал плагин для CoreDNS который ведет себя как авторитетный сервер имен, используя Amazon VPC DNS в качестве бэкэнда. Теперь это работает в нашей среде.