Для заведения типовых записей внутри DNS зоны, например, строк вида "adsl-1-2-3-4.pool.test.ru удобно использовать директиву "$GENERATE".
При помощи $GENERATE можно массово создавать элементы для записей A, CNAME, DNAME, NS и PTR.Например, создадим в зоне 128 записей подобных:
host-N IN A 192.168.1.N
где N от 0 до 127:
$GENERATE 0-127 $ A 192.168.1.$
Или массово пропишем в обратной зоне PTR для всех рабочих адресов:
$GENERATE 0-255 $ PTR host-$.pool.test.ru.
в итоге будут созданы записи:
0 PTR host-0.pool.test.ru.
1 PTR host-1.pool.test.ru.
...
255 PTR host-255.pool.test.ru.
URL:
Обсуждается: http://www.opennet.me/tips/info/2294.shtml
Всё это клёво, но:
1) нету n-аргументной генерации. те же ptr'ы на /16 это 256 GENERATE'ов.2) нету механизма замещения, т.е. если хочешь вклинить в генератор запись кустомную, то будь добр сделать два генератора. просто дописывая ручками получим два value на один key
#cat db.100
$TTL 3600
@ IN SOA ns1.your-server.ru. root.your-server.ru. (
2010011201 ; serial
10800 ; refresh
900 ; retry
1209600 ; expire
86400 ; minimum
)@ IN NS ns1.your-server.ru.
@ IN NS ns2.your-server.ru.^D
#for i in {1..254}; do echo -e "$i\t\tIN\t\tPTR\t100-100-100-$i.your-server.ru." >> db.100 ; done
Уныло. x256 обьем файла по сравнению с тем, если бы фича была.зы. неужели вы думаете, что человек работающий с биндом не знает что такое bash-скриптинг? :)
>Уныло. x256 обьем файла по сравнению с тем, если бы фича была.Вам нужно было замещение вот вам вариант с замещением.
>зы. неужели вы думаете, что человек работающий с биндом не знает что такое bash-скриптинг? :)
Ну тогда человек знающий bash-cкриптинг создаст любой необходимый объем данных, с возможностью их замещения за несколько секунд.
В этом смысле очень помогает переход с bind на pdns. Тот тоже умеет bind-файлы жевать, но обладает отличной штукой pipe-backend, 50-строковый скрипт на питоне экономит 1м записей в памяти.
>В этом смысле очень помогает переход с bind на pdns. Тот тоже
>умеет bind-файлы жевать, но обладает отличной штукой pipe-backend, 50-строковый скрипт на
>питоне экономит 1м записей в памяти.Экономя память вы используете больше времени CPU, ровно как и наоборот, экономя на CPU вы используете больше памяти.
У Bog BOS'а хорошо описана работа с $GENERATE http://www.bog.pp.ru/work/bind.html#subzone-odd
Интересно а на ipv6 есть что-то эдакое?
полезная фишка, спасиб незнал
Подскажите "панель управления" (вебморду) для Bind, чтобы она давала возможность заводить новые зоны и делегировать их администрирование некоему авторизованному пользователю. Желательно с функцией создания/удаления slave-зон на удаленных NS.
Посмотри webmin