Директива $ GENERATE команды bind9 позволяет автоматически сгенерировать обратное отображение для диапазона IP-адресов, что действительно полезно для обратных DNS диапазона DHCP. Но похоже, что директива $ GENERATE может генерировать обратный DNS только для подсети / 24. Итак, есть ли простой способ автогенерации обратного сопоставления, например, диапазона подсети / 18 без файла зоны с более чем 16 КБ строк?
Также приветствуется решение с другим DNS-сервером или способ без $ GENERATE.
Подсказка: Вся обратная зона - это / 16, а не / 18, но мне нужно только сгенерировать rDNS PTR RR для диапазона a / 18.
Я не верю, что можно гнездиться $GENERATE
, если это то, что вы хотели. $GENERATE
сам по себе создает последовательность для одного диапазона чисел, не обязательно / 24 в случае использования для обратных зон, но не для нескольких диапазонов одновременно (хотя есть модификаторы которые можно использовать для некоторого изменения вывода).
Однако в любом случае у вас не может быть сети / 18 в качестве единой обратной зоны, это будут зоны 64/24.
Это просто основано на том, как адреса IPv4 сопоставляются с именами (например, 192.0.2.1
-> 1.2.0.192.in-addr.arpa
). На основе этого сопоставления делегирование может происходить только на границах октетов, что означает, что зоны могут быть созданы только для / 32, / 24, / 16 и / 8.
(Существует решение на основе CNAME для зон sub / 24, описанное в rfc2317 но на самом деле это последнее средство для небольших сетей, с которыми в противном случае было бы вообще трудно иметь дело.)
Увидев, что вы добавили информацию, что на самом деле это обратная зона / 16, куда вы хотите добавить записи только для части вашей сети, вы можете добавить 64 директивы $ GENERATE.
Пример для чего-то вроде 10.0.0.0/18:
$GENERATE 0-255 $.0 PTR $.foo.
$GENERATE 0-255 $.1 PTR $.bar.
...
$GENERATE 0-255 $.63 PTR $.baz.