В соседней теме задал кучу теоретических вопросов по DNS, здесь хочу задать пару вопросов синтаксису bind, а в частности по указанным в названии темы директивам.
1. Как все таки работает @ (не уверен что это - переменная?)? Как я это понял на примере:
В named.conf.options указан рабочий каталог "/var/cache/bind"
В named.conf.local:
Код: Выделить всё
zone "targetx.ru" {
type master;
file "targetx.ru";сам файл зоны targetx.ru:
Код: Выделить всё
$TTL 3D
targetx.ru. IN SOA ns.targetx.ru. aim.targetx.ru. (
2015020201
8H
2H
2D
1D)
targetx.ru. IN NS ns.targetx.ru.
ns.targetx.ru. IN A x.x.x.x
test.targetx.ru. IN A y.y.y.yаналогичная запись с использованием @ будет выглядеть так:
Код: Выделить всё
$TTL 3D
@ IN SOA ns.targetx.ru. aim.targetx.ru. (
2015020201
8H
2H
2D
1D)
@ IN NS ns.targetx.ru.
ns IN A x.x.x.x
test IN A y.y.y.yверно? Если да, то получается что переменная @ содержит в себе "targetx.ru." именно с точкой в конце. Эту строчку она берет из упоминания в named.conf.local? почему не нужно указывать точку после записей "ns" и "test"?
2. $ORIGIN переопределяет имя зоны на указанное. Т.е. если мне нужно указать в моем описании зоны несколько хостов из другой зоны (скажем я делегировал суб зону другому/другим DNS):
Код: Выделить всё
$TTL 3D
@ IN SOA ns.targetx.ru. aim.targetx.ru. (
2015020201
8H
2H
2D
1D)
@ IN NS ns.targetx.ru.
ns IN A x.x.x.x
test IN A y.y.y.y
$ORIGIN sub.targetx.ru.
ns IN A a.a.a.a
ns1 IN A b.b.b.bВерно ли такое использование? Также видел пример использования $ORIGIN - в начале файла зоны используется запись "$ORIGIN .", зачем если @ и так подставляет точку в конце?
3. Может кто-то привести пример использования $INCLUDE в файле зоны?