Я хочу запустить настройку DNS, при которой зоны управляются на внутреннем DNS-сервере Active Directory. На границе сети есть подчиненный DNS-сервер, на котором выполняется BIND (я готов переключить его, я читал, что Unbound может быть лучше?). Что я хочу сделать, так это запустить DNS-сервер на границе с разделенным 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 с Split-DNS, одно представление в качестве ведомого и одно ведущее устройство и запустить задание cron на сервере BIND. Задание cron берет подчиненную зону (из внутреннего представления), редактирует ее и записывает как другой файл зоны (для внешнего представления).
Однако это выглядит довольно взломанным, и я не думаю, что это лучшее решение.