BIND (Berkeley Internet Name Domain) — открытая и наиболее распространённая реализация DNS-сервера, обеспечивающая выполнение преобразования DNS-имени в IP-адрес и наоборот.
Установка в Linux Ubuntu:
sudo apt-get install bind9
Остановка/Запуск/Перезапуск Bind9:
sudo /etc/init.d/bind9 stop/start/restart
Просмотр установленной версии:
named -v
Чтобы использовать локальный DNS нужно прописать в /etc/resolv.conf:
nameserver 127.0.0.1
Редактируем конфигурационные файлы в директории /etc/bind/ под свои нужды.
Откроем файл конфигурации named.conf.options например в текстовом редакторе nano:
sudo nano /etc/bind/named.conf.options
Добавим вначале ACL с сетями которым будут разрешены запросы к DNS серверу:
acl localclients {
localhost;
localnets;
10.0.0.0/8;
172.16.0.0/12;
192.168.0.0/16;
};
В options укажем этот ACL, разрешив запросы:
allow-recursion { localclients; };
allow-query { localclients; };
allow-query-cache { localclients; };
Если не указать «allow-recursion» в конфигурации, то в целях безопасности начиная с версии bind 9.4.1-P1, значение этого параметра равно «localnets; localhost;», то есть DNS сервер не будет общедоступным.
Можно указать IP-адреса на которых будет работать bind9:
listen-on {
127.0.0.1;
192.168.1.1;
};
Или на всех:
listen-on { any; };
Либо можно также указать адреса которым разрешена рекурсия, чтобы DNS не обслуживал запросы всех клиентов, а только указанных (все остальные не прописанные адреса смогут получить только информацию прописанную в этом DNS):
allow-recursion { 127.0.0.1; 10.0.0.0/8; 192.168.0.0/16; 172.16.0.0/16; };
Укажем сколько оперативной памяти разрешено использовать под кэш (по умолчанию 90%):
max-cache-size 50%;
Правильность настроек можно проверить следующей командой (если она ничего не сообщила — значит все в порядке):
named-checkconf
Применяем изменения:
sudo rndc reload
или так:
sudo /etc/init.d/bind9 restart
Проверка:
rndc status
netstat -lnp | grep :53
sudo ps -ax | grep bind
Из Windows можно проверить командой (где 192.168.1.1 — адрес bind9):
nslookup example.com 192.168.1.1
Кэш DNS сервера можно очистить командой:
sudo rndc flush
Сохранить кэш в файл (/var/cache/bind/):
sudo rndc dumpdb
Рекомендую проверить установленный DNS сервер тут dnsflagday.net
Смотрите также мои статьи:
- Настройка логов Bind9
- Настройка DNS зоны
- Настройка RPZ в Bind9 (блокировка сайтов)
- IPTables правила для DNS
- Настройка PTR записи
- Настройка Fail2Ban под Bind9
- Описание атак DNS Amplification
- Dnstop — мониторинг запросов к DNS серверу
A как насчет фильтрации IP адресов автор ?? Как её настроить ?
Что бы сервер отщелкивал внесенные в черный список IP адресa .