Июн 01
Допустим, что у вас в сети существует 2 DNS сервера: 1-й – master 192.168.0.1, второй slave 194.168.0.2.
На клиенте прописано в следующем порядке:
192.168.0.1
194.168.0.2
Все изменения в файлы зон Вы вносите на 1-м DNS сервере, допускаете ошибку…
перезагружаете сервер зону, и она после этой ошибки становится неработоспособной, клиент при резолвинге хоста из неё получает SERVFAIL…
При этом slave не осуществляет трансфер «сломанной» зоны и может отвечать клиентам правильно, отдавая старые, правильные данные.
Из этого следуют 2 совета:
- Можно писать в resolv.conf первым slave, т.е. так:
192.168.0.2
194.168.0.1
клиент по умолчанию спрашивает только у первого сервера. И только если он недоступен – у второго. если не включена опция rotate. Этого не нужно делать в Windows XP, так как там действует следующий механизм: Если клиент получает хотя бы один положительный ответ от любого из DNS-серверов, то возвращает этот ответ. - Другой вариант: делаем «скрытый» DNS сервер, к которому нельзя отправлять запросы. И наши 2 других сервера настраиваем как slave для этого сервера. Клиентам прописываем эти два slave сервера. В итоге получаем зоны, в которых никогда не будет SERVFAIL (конечно можно постараться и с ними такое сделать:) )
Декабрь 3rd, 2009 at 21:18
перезагружать сервер после обновления зоны – чтото новенькое.
Декабрь 3rd, 2009 at 21:31
переборщил, да :)
имелось ввиду перезагрузка зоны (rndc reload zone_name) :)
или презагрузка ДНС сервиса (reload т.е.)