Перейти к основному содержанию

Установка Bind в Debian 11

DNS

Установим DNS сервер bind в Debian 11.

BIND (Berkeley Internet Name Domain) — это набор ПО для организации DNS-сервера.

BIND 9 — серия версий 9.x, первый выпуск которой состоялся в 2000 году. BIND 9 — это очень функциональное программное обеспечение DNS-сервера, оно не только может работать как кэширующий DNS-сервер, рекурсивно разрешать DNS-запросы, выступать в роли первичного и/или вторичного сервера для зон DNS, поддерживать DNSSEC, DDNS, хорошо поддерживает работу в режиме chroot и т. д., но также отлично конфигурируется и имеет множество расширенных возможностей и функций.

BIND 9 — не единственное программное обеспечение для DNS-сервера, но довольно популярное, имеет долгую историю и множество функций и возможностей.

Подготовка

У нас на тестовом сервере свежая система. Нужно её подготовить. Обновляем кэш репозиториев.

apt update

DNS работает на порту 53 UDP. Для простого DNS сервера достаточно разрешить входящие запросы на этот порт. У меня в системе стоит UFW.

ufw allow 53/udp

Если не используется ufw, можно влезть в iptables:

iptables -I INPUT 1 -p udp --dport 53 -j ACCEPT

Сохранить правила можно с помощью iptables-persistent:

apt install iptables-persistent
netfilter-persistent save

Установка

apt install bind9 dnsutils

При установке пакета bind9 автоматически устанавливается пакет инструментов командной строки bind9utils. Среди этих инструментов пригодятся:

  • named-checkconf  — инструмент проверки синтаксиса файлов конфигурации
  • named-checkzone — инструмент проверки файлов зон DNS
  • rndc — инструмент управления службой DNS

В составе пакета dnsutils будут установлены дополнительные инструменты командной строки:

  • dig — инструмент для опроса DNS-серверов и проверки их реакции
  • nslookup — инструмент для проверки преобразования имен в IP-адреса (разрешение имён)
  • nsupdate — инструмент для динамического обновления записей DNS

После установки сервис DNS уже работает, проверим:

nslookup internet-lab.ru 127.0.0.1

Получим:

Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   internet-lab.ru
Address: 176.109.108.64

Всё работает.

Начальная настройка

При установке BIND9 в каталоге /etc/bind автоматически создаются конфигурационные файлы:

  • /etc/bind/named.conf — Основной файл конфигурации. Этот файл изменять не будем, он содержит в себе только ссылки на остальные конфигурационные файлы.
  • /etc/bind/named.conf.option — Файл для глобальных настроек службы
  • /etc/bind/named.conf.local — Файл для настроек зоны DNS
  • /etc/bind/named.conf.default-zones — Файл конфигурации зон "по умолчанию". В частности, в этом файле содержатся ссылки на автоматически созданные файлы конфигурации зоны localhost /etc/bind/db.local и /etc/bind/127.db

Редактируем /etc/bind/named.conf.options. Добавляем строку в раздел options:

allow-query     { any; };

Тем самым мы разрешаем запросы для всех клиентов (внутренних и внешних). Вместо any можно прописать конкретные сети или IP-адреса:

allow-query     { 10.10.10.0/24; };

Если необходимо перенаправлять запросы на определенный сервер DNS, добавляем строку в раздел options:

forwarders { 1.1.1.1; 8.8.8.8; };

Если DNS сервер не знает какой IP адрес у запрошенного домена, он переадресует запрос сначала к 1.1.1.1, потом к 8.8.8.8.

Перезагружаем службу:

systemctl restart bind9

Начальная настройка завершена, DNS сервер может разрешать доменные имена. Установленная по умолчанию служба bind9 сразу настроена на выполнение роли кэширующего сервера.

Теги

 

Похожие материалы

Putty — SOCKS5 прокси через SSH-туннель

Однажды один из IP адресов на работе попал в SORBS SPAM. IP адрес можно выкинуть из спам листа, если зайти на сайт sorbs.net именно с этого IP адреса. Но у меня на компе другой внешний IP адрес, а на почтовике с нужным IP стоит linux и нет возможности запустить браузер. Сделаем с помощью putty SSH туннель. 

Теги

Postfix с SMTP аутентификацией Cyrus

Понадобилось сделать Postfix с SMTP аутентификацией. Раньше не настраивал, перерыл кучу статей. Очень сумбурно всё изложено, поэтому пришлось написать свой вариант. Если кто-то знает хорошую инструкцию по данному вопросу без лишней воды — пишите в комментариях.

Теги