В статье описывается, как устроены DLZ-драйверы в BIND 9, позволяющие хранить DNS-зоны не в файлах, а во внешнем источнике (SQL-базе данных, определенной структуре каталогов ReiserFS, LDAP). Поскольку DLZ-возможности BIND освещены в Интернете плохо, статья будет полезна не только программистам, но и системным администраторам, желающим понимать, что происходит "за сценой" при конфигурировании DLZ-модулей.
Для программистов даются сведения об API как DLZ/SDLZ, так и самого BIND (управление памятью), в объеме, необходимом для написания своего собственного драйвера SDLZ. Приведенная информация дает исчерпывающий ответ о порядке запросов, совершаемых BIND в сторону DLZ (и, следовательно, базы данных / другого внешнего источника).
В качестве примера приводится готовый модуль dlz_wildcard, обеспечивающий создание зоны в форме шаблона, в котором вместо жесткого задания имени домена, используется маска, например, можно создать зону "*test*.com" и выдавать типовую информацию на любые запросы к com-доменам со словом test. Модуль применяется в RU-CENTER для решения некоторых задач и распространяется под свободной лицензией.
|