Однажды передо мной встала задача предоставить одному из моих клиентов право редактировать PTR-записи закрепленной за ним подсети /28. У меня нет автоматизации редактирования настроек BIND извне.
Поэтому я решил пойти другим путем — делегировать клиенту часть PTR-зоны подсети /24. Казалось бы – что может быть проще? Мы просто регистрируем подсеть по мере необходимости и направляем ее на нужный NS, как это делается с поддоменом.
Но нет. Это не так просто (хотя на самом деле это вообще примитивно, но интуиция не поможет), поэтому я и пишу эту статью.
Кто хочет разобраться в себе, может прочитать RFC Кто хочет готовое решение, добро пожаловать под кат. Чтобы не задерживать любителей метода копипаста, выложу сначала практическую часть, а потом теоретическую.
1. Практика.
Делегирующая зона /28 Допустим, у нас есть подсеть 7.8.9.0/24 .
Нам нужно делегировать подсеть 7.8.9.240/28 к DNS-клиенту 7.8.7.8 ( ns1.client.domain ).
На DNS провайдера нужно найти файл, описывающий обратную зону этой подсети.
Будь как будет 9.8.7.in-addr.arpa .
Комментируем записи с 240 по 255, если они есть.
И в конце файла пишем следующее:
не забудьте увеличить серийную зону и сделать255-240 IN NS 7.8.7.8 $GENERATE 240-255 $ CNAME $.
255-240
rndc reload
На этом провайдерская часть завершена.
Перейдем к клиентскому DNS.
Для начала создадим файл /etc/bind/master/255-240.9.8.7.in-addr.arpa следующее содержание: $ORIGIN 255-240.9.8.7.in-addr.arpa.
$TTL 1W
@ 1D IN SOA ns1.client.domain. root.client.domain. (
2008152607 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS ns1.client.domain.
@ IN NS ns2.client.domain.
241 IN PTR test.client.domain.
242 IN PTR test2.client.domain.
245 IN PTR test5.client.domain.
И в именованный.
conf добавляем описание нашего нового файла: zone "255-240.9.8.7.in-addr.arpa." IN {
type master;
file "master/255-240.9.8.7.in-addr.arpa";
};
B перезапустите процесс привязки.
/etc/init.d/named restart
Все.
Теперь вы можете проверить.
#> host 7.8.9.245
245.9.8.7.in-addr.arpa is an alias for 245.255-240.9.8.7.in-addr.arpa.
245.255-240.9.8.7.in-addr.arpa domain name pointer test5.client.domain.
Обратите внимание, что указывается не только запись PTR, но и CNAME. Так и должно быть.
Если вам интересно, почему, то добро пожаловать в следующую главу.
2. Теория.
Как это работает. Черный ящик сложно настроить и отладить.
Гораздо проще, если понимать, что происходит внутри.
Когда мы делегируем поддомен в домене домен , то пишем что-то вроде этого: client.domain.
Теги: #*nix #dns #Администрирование доменных имен #bind dns делегирование ptr
-
«Разумный» Человек
19 Oct, 24 -
Mozilla Предпочитает Html5 Flash
19 Oct, 24 -
Критическая Уязвимость В Microsoft Schannel
19 Oct, 24 -
Digg.com Поймал Взяточника
19 Oct, 24