Проект «SnakeProject» Михаила КозловаРегистрация

Навигация
⇒FreeBSD and Nix⇒

⇐CISCO
⇐Voice(Asterisk\Cisco)
⇐Microsoft
⇐Powershell
⇐Python
⇐SQL\T-SQL
⇐1С
⇐Общая
⇐WEB Разработка
⇐ORACLE SQL \ JAVA
⇐Мото

Настройка DNS на Ubuntu Server 20.04


 

Настройка DNS на Ubuntu Server 20.04


Преамбула...

Поставил намедни сервер Ubuntu Server 20.04

Настроил сеть... И выкусил!

В /etc/resolv.conf:
127.0.0.53 
options edns0

Перезагрузка сервисов и указание руками не помогает

Ранее в Linux...

В Linux обычно запускался локальный DNS-сервер для ускорения работы
Он кеширует ответы повторяющихся DNS-запросов

В /etc/resolv.conf помещается директива - nameserver 127.0.0.1
IP адреса внешних DNS-серверов переносятся в настройки локального

Некторые утилиты при работе нуждаются в изменении файла resolv.conf

При одновременном доступе утилиты конфликтуют друг с другом за файл

Утилита resolvconf является посредником между конфликтующими утилитами

Сам файл resolv.conf заменяется символической ссылкой /run/resolvconf/resolv.conf

В следствии утилиты используют динамически сгенерированный файл

Если в ОС отсутствует служба resolvconf.service - файл resolv.conf поддерживается руками


Проблемы пришли с появлением Systemd и NetworkManager

Система инициализации Systemd имеет собственный распознаватель systemd-resolved

Он запускается по умолчанию, требует настройки

NetworkManager - прокладка посути между resolvconf и Systemd

Имеем, что в ОС порт 53 может прослушивать несколько разных распознавателей

Во избежание конфликтов NetworkManager и systemd-resolved используют вместо 127.0.0.1:
127.0.0.1 - dnsmasq или unbound с настройками по дефолту
127.0.1.1 - dnsmasq или unbound, запускается NetworkManager
127.0.0.53 - systemd-resolved, запускается по дефолту


Настройка распознавателя systemd-resolved

На Ubuntu Server 20.04 служба установлена и работает по дефолту

При ее отсутствии установка:
# apt install systemd-resolved


Правим строку "hosts: files resolve dns":
# vi /etc/nsswitch.conf
passwd:         files systemd
group:          files systemd
shadow:         files
gshadow:        files

hosts:          files resolve dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Где:
"hosts: files resolve dns" - последовательность обращений утилит для разрешения доменных имен

Т.е. в данном случае:
Утилита обратится к файлу /etc/hosts
Затем обратиться к сервису systemd-resolved
Затем обратиться к DNS серверам


Указываем systemd-resolved IP-адреса DNS-серверов, для разрешения доменных имен:

# vi /etc/systemd/resolved.conf
[Resolve]
DNS=8.8.8.8 8.8.8.4 192.168.1.9


Утилитамы не использующие библиотечные вызовы, обращающимися к DNS-серверам напрямую

Получают IP адреса из /etc/resolv.conf

Для них нужно создать символическую ссылку:
# ln -svi /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf


По итогу имеем:
$ cat /run/systemd/resolve/stub-resolv.conf
nameserver 8.8.8.8     # из файла конфигурации /etc/systemd/resolved.conf
nameserver 8.8.8.4     # из файла конфигурации /etc/systemd/resolved.conf
nameserver 192.168.1.9 # из файла конфигурации /etc/systemd/resolved.conf


Символическая ссылка /run/systemd/resolve/resolv.conf

Содержит DNS-сервера, полученные от DHCP-сервера и из файла /etc/systemd/resolved.conf

В данном случае локальный кеширующий сервер не используется, это замедлит преобразование имен

# ln -svi /run/systemd/resolve/resolv.conf /etc/resolv.conf


Включаем запуск службы при загрузке ОС:
# systemdctl enable systemd-resolved
# reboot


После перезагрузки проверяем

# cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 192.168.1.9

# ping ya.ru
PING ya.ru (87.250.250.242) 56(84) bytes of data.
64 bytes from ya.ru (87.250.250.242): icmp_seq=1 ttl=249 time=4.12 ms
64 bytes from ya.ru (87.250.250.242): icmp_seq=2 ttl=249 time=4.04 ms
64 bytes from ya.ru (87.250.250.242): icmp_seq=3 ttl=249 time=4.24 ms
64 bytes from ya.ru (87.250.250.242): icmp_seq=4 ttl=249 time=4.08 ms
^C
--- ya.ru ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 10635ms
rtt min/avg/max/mdev = 4.041/4.118/4.236/0.072 ms


# nslookup ya.ru
Server:         192.168.1.9
Address:        192.168.1.9#53

Non-authoritative answer:
Name:   ya.ru
Address: 87.250.250.242
Name:   ya.ru
Address: 2a02:6b8::2:242

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

© Snakeproject.ru создан в 2013 году. При копировании материала с сайта - оставьте ссылку.


Яндекс.Метрика

Goon Каталог сайтов Рейтинг@Mail.ru