Разделить DNS. Одни и те же доменные имена с разными значениями во внутреннем и внешнем мире

Я ищу возможные решения для разделенного DNS для внутреннего/внешнего мира. Дело в том, что эти два «мира» (на самом деле разные наборы серверов имен) частично перекрываются.

Вот пример для домена example.com.

Данные зоны внешнего мира:

@       IN SOA          ns01.example.com. hostmaster.example.com. (
                                2022082908      ; Serial
                                10800           ; Refresh
                                3600            ; Retry
                                864000          ; Expire
                                10800 )        ; Minimum
                                
@       IN NS    ns01.example.com.
@       IN NS    ns02.example.com.
@       IN MX   50      smtp01.example.com.
@       IN MX   20      smtp02.example.com.
www     IN A    90.80.70.60
portal  IN A    90.80.70.60

Данные зоны внутреннего мира:

@       IN SOA          ins01.example.com. hostmaster.example.com. (
                                2022082908      ; Serial
                                10800           ; Refresh
                                3600            ; Retry
                                864000          ; Expire
                                10800 )        ; Minimum
                                
@       IN NS    ins01.example.com.
@       IN NS    ins02.example.com.
@       IN MX   50      exchange.example.com.
portal  IN A    192.168.10.100

Цель состоит в том, чтобы иметь некоторый «преобразователь» (IP-адрес), который может разрешать оба мира для внутренних клиентов. Поэтому, когда внутренний клиент обращается portal.example.com ему нужно зайти на внутренний сайт. Но он также должен иметь доступ к www.example.com. Есть ли возможное решение для этой ситуации?

Текущее решение — это очень старое программное обеспечение на внутренней стороне, которое выполняет (из cron) AXFR с внешнего сервера имен, а затем вносит некоторые изменения для зоны на основе данных во внутреннем мире. Который производит свой собственный набор проблем. (например, игнорирование TTL во внутреннем мире)

Лучшим решением, которое я могу себе представить, может быть какой-нибудь преобразователь/dns-прокси, который может сначала запросить внутренний сервер имен (который будет содержать только внутренние записи DNS). Если внутренний NS возвращает NXDOMAIN или что-то еще, кроме ответа со значением, он должен попытаться разрешить запрос, как преобразователь (или просто перенаправить запрос какому-то реальному преобразователю). Что-то подобное существует?

Еще одно очевидное решение — обновить/переписать это внутреннее программное обеспечение для управления DNS для современных ОС. И избавиться от известных проблем (но некоторые из них просто не могут быть решены, я думаю).

Или есть какой-то другой способ, который просто не приходит мне в голову?

внутренняя система доменных имен DNS

Кисуке

1 ответ
1

Если количество хостов, которые должны отличаться для внутренних клиентов, невелико, одним из вариантов будет обслуживание этих клиентов с помощью dnsmasq. Вы могли бы указать dnsmasq на вышестоящем DNS-сервере, а затем переопределить определенные записи.

Такая конфигурация вызовет dnsmasq ответить с 192.168.10.100 за portal.example.comно все остальные запросы будут переданы вышестоящему серверу (который либо извлекается из /etc/resolv.conf или указано явно с помощью server= директивы в вашей конфигурации dnsmasq):

address=/portal.example.com/192.168.10.100

жаворонки

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *