Установка и настройка DNS на Ubuntu Server

12 комментариев
dns_bind9

Сегодня рассмотрим установку и настройку DNS сервера внутри локальной сети с доменным именем «lan«.

Всё это великолепие будет производиться на локальной машине Ubuntu Server 18.04, хотя действия идентичны и для других дистрибутивов Linux (Debian, Rasbian, Linux Mint и т.д.).

Начальная конфигурация сервера.

Установка DNS сервера

В качестве DNS сервера будем использовать пакет bind9. Для его установки подключаемся к серверу по ssh или открываем консоль на самом сервере и набираем следующую команду:

sudo apt update && sudo apt dist-upgrade -y
sudo apt install bind9 -y

После установки пакета bind9, необходимо произвести его настройку.

Настройка DNS сервера bind9

Для начала отредактируем файл named.conf.options

 sudo nano /etc/bind/named.conf.options

Добавим в него следующий код:

options {
  directory "/var/cache/bind";
# с каких сетей или  IP адресов будут обслуживаться запросы нашим DNS сервером.
  listen-on { 
      80.81.82.83/32; # наш внешний ip адрес
      10.5.5.0/24; # наша локальная сеть.
      127.0.0.0/8; # ip адрес локальной петли (lo интерфейс)
  };
# вышестоящий dns сервер, используется если URL запроса не найден в нашей базе.
  forwarders { 
      77.88.8.1; 
      8.8.8.8; 
  };
# Запросы DNSSEC
  dnssec-validation auto;
# Запросы NXDOMAIN
  auth-nxdomain no;
# с каких сетей или  IPv6 адресов будут обслуживаться запросы нашим DNS сервером
  listen-on-v6 { all; };
# Прописываем версию DNS - для защиты от любопытных
  version "DNS server v1.0";
};

Теперь открываем файл конфигурации зон и вносим информацию о наших зонах.

sudo nano /etc/bind/named.conf.local
 // зона прямого просмотра
zone "lan" {
  type master; 
  file "/var/lib/bind/db.lan";
  };
// зона обратного просмотра
zone "5.5.10.in-addr.arpa" {  
  type master; 
  file "/var/lib/bind/db.revers.lan";
  };

Сохраняем ctrl+o, закрываем ctrl+x.

Зона прямого просмотра

Теперь самое время создать зону прямого просмотра, для этого создадим копию файл db.local:

sudo cp /etc/bind/db.local /var/lib/bind/db.lan

Откроем файл db.lan:

sudo nano /var/lib/bind/db.lan

и приведем его к следующему виду:

$ORIGIN .
$TTL 14400  
lan  IN  SOA  ns1.lan.  root.ns1.lan. (
            2020040501 ; serial 
            604800     ; refresh
            86400      ; retry
            2419200    ; expire
            604800     ; minimum
            )
         NS ns1.lan.
         A  10.5.5.1
$ORIGIN lan.
$TTL 14400
ns1      A  10.5.5.1
test     A  10.5.5.100
  • Записи вида А — предназначена для ip адресов версии 4
  • Запись вида АААА — предназначена для ip адресов версии 6
  • Запись вида NS — для DNS серверов.

Настройка зоны обратного просмотра DNS

Обратная зона преобразовывает IP адреса машины в доменное имя FQDN. Давайте сделаем копию файла прямого просмотра:

sudo cp /var/lib/bind/db.lan /var/lib/bind/db.revers.lan

Открываем его на редактирование:

sudo nano /var/lib/bind/db.revers.lan

Вносим следующие изменения:

$TTL 14400  
@  IN  SOA  ns1.lan.  root.ns1.lan. (
            2020040501 ; serial 
            604800     ; refresh
            86400      ; retry
            2419200    ; expire
            604800     ; minimum
            )
         NS   ns1.lan.
1        PTR  ns1.lan.
100      PTR  test.lan.

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

Давайте присвоим нашему второму интерфейсу IP-адрес 10.5.5.1, для этого пропишем следующее:

sudo ip addr add 10.5.5.1/24 dev enp3s0
  • enp3s0 — имя второго сетевого интерфейса (для просмотра набираем команду ifconfig)

Проверка DNS сервера bind9

Теперь проверим правильность синтаксиса конфигурационных файлов BIND.

sudo named-checkconf

Если конфигурационные файлы не содержат ошибок, вывод этой программы будет пуст.

Перезагружаем bind9:

sudo /etc/init.d/bind9 restart

Настройка resolv.conf

Теперь откроем и отредактируем файл resolv.conf

sudo nano /etc/resolv.conf

В этом файле необходимо удалить все и прописать следующие строки

nameserver 10.5.5.1
nameserver 8.8.8.8
search lan 

Теперь можно проверить работу DNS сервера:

nslookup ns1.lan

в ответ вы должны увидеть:

Server:     10.5.5.1
Address:    10.5.5.1#53
Non-authoritative answer:
Name:    ns1.lan
Address: 10.5.5.1

Как видите зона прямого просмотра работает, сервер выдал ip адрес проверяемого имени.

Теперь проверим работу зоны обратного просмотра

nslookup 10.5.5.1

В ответ должны получить:

Server:     10.5.5.1
Address:    10.5.5.1#53
Non-authoritative answer:
1.5.5.10.in-addr.arpa    name = ns1.lan.
Authoritative answers can be found from:

Как видим в ответ мы получили имя сервера по его IP адресу. Если у вас в ответ на nslookup так же все корректно отображается, значит вы все сделали правильно! Если нет, то проверяйте что сделали не так.

Проверяем версию DNS сервера

dig @ns1.lan version.bind chaos txt

Примерный вывод команды:

...
 ;; ANSWER SECTION:
 version.bind.        0   CH  TXT "DNS server v1.0"
...
 ;; Query time: 0 msec
 ;; SERVER: 10.5.5.1#53(10.5.5.1)

Вот и всё, установка и настройка сервера DNS на этом закончена.

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВК или подписаться на Twitter. Ссылки в шапки страницы.
Заранее всем спасибо!!!

RSS

Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Обновления Ubuntu Server 18.04 до Ubuntu Server 20.04
ubuntu-20.04-logo

В этой статье рассмотрим пример обновления Ubuntu Server 18.04 LTS до Ubuntu Server 20.04 LTS,сперва необходимо настроить менеджер обновлений.

Как создать SWAP файл в Linux
swap-ubuntu-logo

Сегодня опишем процесс создания swap файла в ОС Ubuntu Sever 18.04. Отводить под swap целый раздел нашего HDD достаточно расточительно, Читать

Как восстановить GRUB из терминала в Linux
linux-logo

Многие пользователи дистрибутивов Linux устанавливают на жёстком диске своего компьютера две и более систем, одну как рабочую, а другую/другие для Читать

Безопасность Ubuntu Server мелкие хитрости
linux-logo

Безопасность Ubuntu Server и мелкие хитрости. Сегодня в статье приведу примеры для обеспечения начальной безопасности на Ubuntu/Debian системе.

5 2 голоса
Рейтинг статьи

Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

12 комментариев
новее
старее большинство голосов
Inline Feedbacks
Просмотреть все комментарии
xiaoPingGuo
xiaoPingGuo
10.01.2021 17:27

На Ubuntu 20.04 всё заработало обычным копипастом, с подстановкой своих айпишников.

Живко
Живко
26.06.2020 17:48

Привет! Спосибо про статию. У меня ситуация такая: провайдер оттдал только 1 реальний адрес. хочу ставить на етот IP DNS;WWW;mail server. Сейчас стоит UBUNTU 20.04 Lts. Тогда что нужно сделать? Можно? Я из Болгарии и извините если есть ошибки.

Последний раз редактировалось 2 лет назад by Живко
Живко
Живко
Ответить на  webmaster С.
26.06.2020 18:00

Если правильно понял, вполне возможно, и в примерах, просто надо поменять адрес и имя и уменя получится все что веб и мей сервер заработало? правильно понял?

Живко
Живко
Ответить на  webmaster С.
26.06.2020 18:05

ОЧЕНЬ БОЛЬШОЕ СПАСИБО!!!!

Дмитрий
Дмитрий
04.04.2020 09:39

На последних шагах все равно не получается(((( teacher@terminal:~$ nslookup ns1.lan Server: 127.0.0.1 Address: 127.0.0.1#53 Name: ns1.lan Address: 10.5.5.1 teacher@terminal:~$ nslookup 10.5.5.1 ;; Got SERVFAIL reply from 127.0.0.1, trying next server ;; connection timed out; no servers could be reached teacher@terminal:~$ dig @ns1.lan version.bind chaos txt ; <> DiG 9.10.3-P4-Ubuntu <>… Подробнее »

Дмитрий
Дмитрий
03.04.2020 14:33

Не прошел этот шаг
nslookup ns1.lan

Server: 127.0.1.1
Address: 127.0.1.1#53
** server can’t find ns1.lan: NXDOMAIN

Дмитрий
Дмитрий
Ответить на  webmaster С.
20.09.2020 22:27
аналогично, не прокатывает. по конфигу настроено как в статье -   auth-nxdomain no;

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять