> Спасибо за ответ, но этот вариант не совсем подходит.
> ДНС сервер отвечает за несколько зон, поэтому он должен отвечать на запросы
> извне.т.е. ты пытаешься одновременно решить две абсолютно противоположные задачи 1) держать авторитативный сервер (т.е. он должен быть доступен для всех) 2) сделать blackhole (закрыть для всех)
пора бы уже это понять
> Для каждой зоны прописано allow-query { any; };
> А в опциях указано allow-query { mynet; }
> Таким образом он отвечает на запросы для зон, за которые отвечает сам,
> и на рекурсивные запросы с моих сетей. Всем остальным он отвечает
> refuse.
ну дак а blackhole это глобальный параметр, и как я понимаю твои allow-query не работают
> Но я вижу что часто к серверу обращаются с разными рекурсивными запросами.
> Видимо тк он долгое время был открыт кто-то им воспользовался. Еще
> периодически подвергаюсь атакам типа запрос зоны ANY/ripe.net с дикой частотой.
> Сейчас блокирую такие запросы фаерволом. Можно настроить fail2ban, но мне кажется было
> бы проще всего что бы он дропал такие запросы.
> Ответ refuse по моему плох тем, что судя по логам его игнорируют
> и продолжают слать запросы, а сервер на ответ тратит свои ресурсы.
вариант первый - рефузить и забыть (ripe.net - это не тебя скорее ддосят а райпы, ты как усилитель используешься)
вариант второй поглумится - настраиваешь 2 view
1) для своих клиентов: нормальный для резолвинга + свои авторитативные зоны
2) для внешного мира: свои авторитативные зоны + делаешь заглушки на все широкоиспользуемые домены и отдаешь на любые запросы адресок какого нибудь порносайта.
вариант третий - лимитить пакеты на 53 UDP фареволом (bind не помню умеет сам лимитить запросы или нет)