Собираюсь поднимать DNS-сервер, читаю литературу. Никак не могу вот понять классификацию DNS-серверов: они бывают первичные (master), вторичные(slave) и кэширующие.
Первичные DNS-сервера - это те, которые содержат описания хостов в файлах зон.
Вторичные - это те, у которых файлы зон изначально пусты, но потом они заполняются, получаясь с первичного, для этого вторичный сервер связывается с первичным, предъявляя ключ.
У кэширующего сервера файлы зон тоже изначально пусты, работает он так, что запросы от клиента он передают другому DNS-серверу, а ответы от него сначала кэширует в файлах зон, а потом передаёт клиенту. DNS-серверы провайдеров Интернета являются как раз кэширующими.
Я всё правильно понимаю? Если что-то переврал, то, пожалуйста, поправьте.
bind9 может одновременно работать и как первичный, и как вторичный, и как кэшируюший сервер. Определяется это тем, что в конфиге несколько инструкций zone, в каждой их которой директива type определяет класс сервера. Вот допустим в моей локалке я назначаю хостам доменные имена первого уровня: server, wifi, post-1. Это работа первичного сервера, а перый уровень определён в зоне ".", то есть:
zone "." {
type master;
file "db.local";
}