Split-DNS с зоной, генерируемой автоматически
Я хочу запустить настройку DNS, при которой зоны управляются на внутреннем DNS-сервере Active Directory. В сети есть подчиненный DNS-сервер, на котором работает BIND (я открыт для переключения, я читал, что Unbound может быть лучше?). Что я хочу сделать, так это запустить DNS-сервер на границе в split-DNS; по отношению к внутренней сети он должен быть ведомым по отношению к AD DNS, по отношению к Интернету он должен действовать как ведущий и вносить некоторые изменения в зону (а именно, удаление записей A, указывающих на IP-адреса RFC1918).
Я сделал диаграмму для иллюстрации. IP-адреса и имена являются вымышленными. 10/8 является локальным, 192.168/16 и 172.16/12 являются публично маршрутизируемыми ради этого примера. EXAMPLE.COM и EXAMPLE.ORG представляют две разные организации:
LOCAL NETWORK PUBLIC INTERNET
+------------------+
| |
| 10.0.0.1 |
| AD.EXAMPLE.COM |
| |
| EXAMPLE.COM |
| (master) |
| |
+------------------+
|
+--------+ +------------------+------------------+
| CLIENT |-| | |
+--------+ | 10.0.0.2 | 192.168.200.1 |
+--------+ | BIND.EXAMPLE.COM | NS1.EXAMPLE.COM |
| CLIENT |-| | |
+--------+ | EXAMPLE.COM | EXAMPLE.COM |
+--------+ | (slave) | (master) |
| CLIENT |-| (resolver) | |
+--------+ +------------------+------------------+
|
+------------------+
| |
| 172.16.100.1 |
| NS1.EXAMPLE.ORG |
| |
| EXAMPLE.COM |
| (slave) |
| |
+------------------+
Некоторые ключевые моменты:
- Я не хочу, чтобы зоны на сервере BIND обновлялись вручную; зоны должны быть перенесены с сервера AD и изменены / переписаны автоматически.
- Из общедоступного Интернета AD.EXAMPLE.COM не упоминается в записях SOA или NS. Что касается интернета, то это не DNS-сервер. NS1.EXAMPLE.COM - единственный владелец интернета.
- Другие серверы, подключенные к Интернету, могут быть подчиненными для NS1.EXAMPLE.COM, поэтому передача зон из BIND должна быть возможной (здесь я не ожидаю никаких проблем).
- Сервер BIND является авторитетным только для Интернета, но открытым распознавателем для локальной сети.
- DNSSec (если применимо) завершается на сервере BIND.
1 ответ
Одним из решений является настройка BIND с Split-DNS, одним представлением в качестве ведомого и одним главным представлением, и запуск задания cron на сервере BIND. Задание cron берет подчиненную зону (из внутреннего представления), редактирует ее и записывает как другой файл зоны (для внешнего просмотра).
Тем не менее, это выглядит довольно странно, и я не думаю, что это лучшее решение.