Linux не разрешает записи зоны .local

Я столкнулся с проблемой, что у меня не работает локальный торрент-ретрекер от провайдера, который по классике располагается по адресу retracker.local .

# host retracker.local 
Host retracker.local not found: 2(SERVFAIL)

Для тех, кто НЕ использует локальный резолвер от systemd

Нужно отредактировать файл /etc/nsswitch.conf

sudo nano /etc/nsswitch.conf

И привести строчку:

hosts:          files mdns4_minimal [NOTFOUND=return] dns

К такому виду и сохранить файл

hosts:          files dns

Это изменит порядок разрешения имен, исключив обращения к mdns.

Для пользователей systemd-resolved

Простой способ

Проще всего исключить локальный резолвер. Это можно сделать выполнив команды ниже

sudo rm -f /etc/resolv.conf
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

После нужно переключить nsswitch, как это делается в первой части статьи.

Правильный способ

Т.к. я везде использую локальный резолвер systemd-resolved, который идет в составе ubuntu, то тут задача уже не такая тривиальная.

Нужно отредактировать файл сервиса systemd-resolved

Убрать символ # у опции Domains и дать ей значение

После чего нужно обновить конфигурацию сервиса в системе и перезагрузить сам сервис

Last updated