Установка и Настройка Кэширующего DNS-сервера

BIND – открытая и наиболее распространённая реализация DNS-сервера, обеспечивающая выполнение преобразования DNS-имени в IP-адрес и наоборот.

BIND поддерживается организацией Internet Systems Consortium.

BIND был создан студентами и впервые был выпущен в BSD 4.3.

Цели

  1. Ускорить работу DNS-сервера;
  2. Уменьшить количество трафика;
  3. Поставленные цели достигаются за счет того, что локальный DNS-сервер кэширует результаты запросов.

Установка

Установите следующие пакеты:

  1. bind
  2. caching-nameserver
  3. bind-libs
  4. bind-utils

Настройка

Прослушиваемые IP-адреса и порты

В файл /etc/named.conf в секцию options добавьте строку:

listen-on { 127.0.0.1; 192.168.0.254; };

В данном примере:

  • 127.0.0.1 – должен быть обязательно!
  • 192.168.0.254 – IP-адрес внутреннего интерфейса сервера

Ограничение доступа

В файл /etc/named.conf в секцию options добавьте строку:

allow-query { 127.0.0.1; 192.168.0.0/24; };

где перечислите IP-адреса или сети компьютеров, которым разрешено работать с Вашим DNS-сервером.

В данном примере:

  • 127.0.0.1 – должен быть обязательно!
  • 192.168.0.0/24 – сеть 192.168.0.0 с маской 255.255.255.0

Разделитель – точка с запятой.

Автозагрузка службы

Настройте автозагрузку службы named при загрузке системы.

Перезагрузка службы

Перезагрузите службу named.

Выбор текущего DNS-сервера

Измените IP-адрес Вашего текущего DNS-сервера на 127.0.0.1

Настройка клиентов

На всех клиентах в качестве DNS-сервера укажите один из IP-адресов, который Вы указали в параметре listen-on.

Тестирование работы сервера

Получение статистики от DNS-сервера

# /etc/init.d/named status
number of zones: 6
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/1000
tcp clients: 0/100
server is up and running

Следующий результат означает, что скорее всего:

  1. Служба named не запущена;
  2. Служба named не настроена корректно;
  3. Доступ блокирует iptables.
rndc: connect failed: connection refused

Проверка наличия запущенной службы named

# ps aux | grep named
named     2640  0.0  2.0  36476  2604 ?        Ssl  11:46   0:00 /usr/sbin/named -u named
root      2655  0.0  0.5   3784   748 pts/1    R+   11:46   0:00 grep named

Следующий результат означает, что служба named у Вас не запущена:

# ps aux | grep named
root      2655  0.0  0.5   3784   748 pts/1    R+   11:46   0:00 grep named

Проверка подключения к порту службы DNS

# telnet DNS_IP_ADDRESS 53

Вместо DNS_IP_ADDRESS укажите IP-адрес DNS-сервера:

# telnet 127.0.0.1 53
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.

Следующий результат означает, что:

  • Служба не запущена.
  • У Вас нет прав на подключение к данному DNS-серверу.
  • Доступ блокирует iptables.
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host: Connection refused

Проверка результатов резолвинга

# dig google.com
...
;; ANSWER SECTION:
google.com.             300     IN      A       64.233.187.99
...
;; SERVER: 127.0.0.1#53(127.0.0.1)

Следующий результат означает, что DNS-сервер недоступен:

# dig google.com
; <<>> DiG 9.2.4 <<>> google.com
;; global options:  printcmd
;; connection timed out; no servers could be reached

Статьи по Теме

Категории
Поиск