Настройка DNS клиента на Ubuntu. Использование DNS сервера dnsmasq

Категория: Linux

Настройка и управление DNS клиентом на Ubuntu 18.04. Конфигурация DNS сервера dnsmasq.

Проверка DNS записей

Проверить TXT запись в DNS:

nslookup -type=TXT _some.domain.com
dig -t txt _some.domain.com
dig @8.8.8.8 -t txt _some.domain.com
* DNS сервера AdGuard.com (блочит рекламу, счетчики, фишинговые сайты)
dig @94.140.14.14 2ip.fun
dig @94.140.15.15 2ip.fun


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

Определить используемый DNS сервер:

nslookup qip.cx
nslookup info
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   qip.cx
Address: x.x.x.x

Определить IP хоста (резолв hostname):

dig 2ip.fun +short

Определить IP хоста или проверить работоспособность заданного DNS сервера:

dig @8.8.8.8 skype.com

Определить hostname/domain по IP:

host 77.123.139.189

Очистить DNS кеш:

sudo /etc/init.d/dns-clean start

Установить статичный список DNS серверов:

sudo nano /etc/resolvconf/resolv.conf.d/tail
## My custom configuration in the /etc/resolvconf/resolv.conf.d/tail ##
nameserver 127.0.0.1
nameserver 8.8.8.8
nameserver 8.8.4.4

И обновить конфиг /etc/resolv.conf:

sudo resolvconf -u
Примечание

Грязный-хак - сделать неизменяемым /etc/resolv.conf:

sudo nano /etc/resolv.conf
## nameserver 8.8.8.8
sudo chattr +i /etc/resolv.conf

Чтобы переопределить DNS-серверы предоставляемые маршрутизаторами, добавьте параметр конфигурации:

sudo nano /etc/dhcp/dhclient.conf
supersede domain-name-servers 8.8.8.8,8.8.4.4;


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

Настройка собственной доменной зоны в отдельном конфиге:

sudo gedit /etc/dnsmasq.d/lcl.conf

Конфиг для корневого домена локальной разработки .lcl:

address=/.lcl/127.0.0.1      # Работает на локалке на любых соединениях с динамик IP. Но, не резолвит домены для других девайсов!
#address=/.lcl/192.168.1.101 # Работает на всех девайсах в локалке. Но только со статик IP: 192.168.1.101

В настройках сетевого соединения (Wi-Fi, Ethernet) в качестве DNS сервера нужно указать локальный хост: 127.0.0.1


DNS сервер для доступа к локальным сайтам на других девайсах в локальной сети:

sudo dnsmasq --address=/lcl/192.168.1.101 --listen-address=192.168.1.101
Внимание!

При ошибке:

dnsmasq: failed to create listening socket for port 53: Адрес уже используется

Смотрим список активных процессов, которые слушают 53 порт:

netstat -anlp | grep -w LISTEN
sudo lsof -i :53

#dns server, #dnsmasq

категория: Linux