Проект Distributed Realtime Black List


На главную   F.A.Q.   Программное обеспечение   Список зон

Старая версия генератора рабочей зоны

Начальные версии (до 1.04 включительно) были созданы Кириллом Вечерой. 25 января 2001 года вышла версия 1.05; авторы исправлений - D Kelmi aka MiksIr (miksir_at_mixup.org.ru) и Владимир Гребенщиков (vova_at_express.ru). Программа представляет собой скрипт на языке Perl, так что с переносимостью проблем быть не должно. К версии вышло два багфикса, последний (1.05.02) получен от Andy Igoshin (ai_at_vsu.ru) через MiksIr'а 10.04.2001.

28 июля 2001 года опубликована версия 1.06; автор исправлений - Дмитрий Морозовский (marck_at_rinet.ru).

Скачать программу можно здесь:
Краткая инструкция по установке

Скачайте архив drbl.tgz и раскройте его, например, в директорию /usr/local/drbl.

Отредактируйте файл zones. Каждая строчка этого файла имеет три поля - имя голосующей зоны, вес, приписанный ей, и имя сервера, с которого эту зону можно взять по axfr. Например, файл zones может выглядеть так:

vote.drbl.this.is.my.network.ru  1      ns.in.my.network.ru
vote.drbl.piter.net              0.7    main.piter.net
vote.drbl.tomsknet.ru            0.7    ns.tomsknet.ru
vote.rsbs.express.ru             0.7    ns1.express.ru

Отредактируйте файл header. Содержимое этого файла всегда предваряет генерируемую информацию в рабочей зоне. Файл header должен содержать SOA-record вашей рабочей зоны (вместо serial можно подставить $time$, чтобы автоматически бралось время в секундах since epoch), а так же NS-records. Вот пример файла header:

@               IN      SOA     ns1.mynetwork.ru. abuse.mynetwork.ru. (
                                $time$    ; Serial == sec. since epoch
                                10800     ; Refresh
                                1800      ; Retry
                                604800    ; Expire
                                86400 )   ; Minimum
                IN      NS      ns1.mynetwork.ru.
                IN      NS      ns2.mynetwork.ru.

Собственно генерация производится скриптом build_drbl. Скрипт имеет три параметра. Первый - путь к файлу zones. Второй - пороговое значение. Третий - путь к файлу header. Например, если все файлы находятся в директории /usr/local/drbl, можно дать примерно такую команду:

cd /usr/local/drbl
./build_drbl ./zones 1 ./header
Команда выдаст на stdout содержимое генеренной зоны. Если все в порядке, остается только дать эту команду еще раз, перенаправив вывод в файл вашей рабочей зоны, и перезапустить named.

После нескольких успешных ручных запусков рекомендуется вставить перегенерацию рабочей зоны в crontab.




Комментарии к версии 1.06
Основные исправления:
Комментарии автора фикса 1.05.02

build_drbl теперь умеет жить с bind 9. Обнаруженная ошибка: если $put_full_subnets = 0, то одиночные адреса из всех зон не включаются в итоговую.

(Комментарий получен от Andy Igoshin <ai_at_vsu.ru>)




Комментарии авторов исправлений к версии 1.05

Что исправлено: Описанный баг. Теперь вес некого адреса повышается весом подсети (в который этот адрес входит), взятой с некой голосующей зоны, только в том случае, если этот адрес еще не повышался из этой голосующей зоны. Поясню: если с vote1 пришел 4.3.2.1, а с vote2 *.3.2.1, то 4.3.2.1 получает вес 2-х vote зон (но не наоборот - вес сети *.3.2.1 не повышается). Однако, если с vote 3 придет 4.3.2.1 и *.3.2.1, то вес 4.3.2.1 повысится только один раз (раньше повышалось 2))

Что добавлено (все отключаемо): Ну и еще парочка вольностей.

За работоспособность все еще есть сомнения - тестировалось весьма мало.

(Комментарий получен от D Kelmi (MiksIr) miksir_at_mixup.org.ru)


Сайт в настоящее время поддерживает Андрей Столяров (crocodil_at_croco.net)

Последний раз изменено 10 ноября 2002 года.