Как стать автором
Обновить

Комментарии 17

Добавьте, пожалуйста, пункт 0) с ответом на вопрос зачем это в принципе может быть нужно.

Для кэширования dns запросов например

Для дома для семьи проще како-нибудь pihole взять.
Простая установка, управление через вебинтерфейс.
Заодно рекламу порежете.

А Шаг 3 точно имеет смысл делать на каждой машине? Может это можно на роутере это настроить один раз для всех?

Согласен. Этим реально проще маршрутизатор озадачить, прописав в настройки DHCP необходимый сервер (сервера).

Но я считаю, что с функционалом данного локального сервера прекрасно справится маршрутизатор. Например, в домашнем Mikrotik я спокойно могу задать IP адреса локальным серверам через IP → DNS → Static.

Во-первых,

Пакет resolvconf устанавливается для того, чтобы в файл /etc/resolv.conf при перезапуске компьютера автоматически записывалась строчка nameserver 127.0.0.1

Возможно вы получаете настройки сети по DHCP, поэтому и перезаписывается resolv.conf или используете какой-то сторонний нетворк мэнеджер. Потому, что например с дефолтным

/etc/network/interfaces

allow-hotplug eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1

Файл resolv.conf самостоятельно не изменяется.

Во-вторых,

failed to create listening socket for port 53: Address already in use

По умолчанию после установки Debian в минимальной конфигурации, никакие сервисы не прослушивают 53 порт. Возможно вам стоит уточнить, что такое у вас установленно и откуда, что данный порт занят.

По крайне мере, всё выше перечисленное, действительно для текущего latest Debian 11.6.

Послесловие, я не совсем понимаю, почему вы используете Ubuntu 18.04.4 LTS ведь это Old Releases. Единственная причина - это VPS от какого-то хостинг провайдера, но тогда бегите от него. К любому нормальному хостеру где у вас будет возможность самостоятельно установить систему с ISO, "обычный" дебиан\убунту. А то это всё равно, что купить старый, латанный автоваз, с дикими и непонятными изменениями от прошлых хозяев, и заниматься на нём тюнингом.

Добавьте в файл /etc/hosts необходимые домены и их IP адреса.

Но зачем, Бэрримор? address=/your.domain.name/11.22.33.44 в том же dnsmasq.conf

В этих ваших линухах нет даже DNS сервера из коробки?

echo 'local-data: "blah.blah.blah. IN A 192.168.x.y"' >> /var/unbound/unbound.conf

все необходимое и достаточное для домашнего DNS

В этих ваших линухах нет даже DNS сервера из коробки?

Всё есть в репах, просто по умолчанию не везде ставится - зависит от дистра и выбора пакетов при установке.

А в этих ваших виндах он сразу ставится и работает после установки, и на серверах, и на рабочих станциях? </sarcasm>

Где вы в винде видели unbound?

В *BSD, Solaris и их деривативах (eg TrueNas) является частью системы. Одной командой добавить в загрузку, второй добавить DNS запись.

Поправьте, если ошибаюсь, но unbound является dns или dhcp сервером? Кажется это просто кэширующий dns клиент или резолвер и запись в var/unbound/unbound.conf не сильно отличается от записи в hosts.

Это кеширующий резолвер с dnssec и прочим блэкджеком. Речь шла о DNS для локальной сети. Для этого не нужен авторизующий bind/nsd. А запись в unbound.conf отличается от записи в hosts так же, как и запись в полноценном DNS сервере - она доступна для запроса любому клиенту.

failed to create listening socket for port 53: Address already in use
FAILED to start up
Failed to start dnsmasq — A lightweight DHCP and caching DNS server.
Это нормально! Мы ещё не настроили сервер – ошибка происходит из-за этого

В Ubuntu 18.04.6 LTS по умолчанию установлен легковесный кэширующий DNS-сервер systemd-resolve(слушает 127.0.0.53)

sudo systemctl disable systemd-resolved --now
sudo systemctl enable --now dnsmasq

Пора начинать думать об апгрейде или подключаться к Extended Security Maintenance (ESM):
Free for personal use - Anyone can use Ubuntu Pro for free on up to 5 machines, or 50 if you are an official Ubuntu Community member.
Ubuntu 18.04.6 LTS - End of Standard Support: April 2023
Ubuntu 18.04.6 ESM - Start of ESM: April 2023 End of Life: April 2028

Статья хорошая для тех кто ничего не понимает и никогда такого не делал. Теперь такую же про email с начала, и отдельно про файрволл тоже с начала.

Это нормально! Мы ещё не настроили сервер – ошибка происходит из-за этого.

Это не нормально, это лень разработчика обработать ситуации.

Начнем критиковать.

Если вы впервые столкнулись с необходимостью поднять DNS-сервер для локальной сети под Linux, то эта статья – для вас.

Эта статья все-таки не для вас

Преимущество предлагаемого способа – простота: сервер можно настроить буквально за несколько минут.

Совершив много лишних действий

Но этот способ, скорее всего, не подойдёт для продакшн серверов.

Действительно, данный способ применим только для мелких локальных сетей.

Автор статьи провёл несколько часов в борьбе с ошибками, багами и непонятным поведением системы прежде чем получил стабильный результат.

За несколько часов автор родил только очередной велосипед (или троллейбус из буханки хлеба, кому как нравится)

На хостах установлен Ubuntu 18.04.4 LTS (для других версий не проверялось).

Автору надо обновить ОС. Уже успело выйти 2 LTS и 7 обычных выпусков Ubuntu

Шаг 1. Установка необходимых пакетов

Не надо вообще ничего ставить. На сервере заполняем /etc/hosts.

Например:

1.2.3.4 myserver.tst

Главное помнить, что не надо использовать домены "от балды".

Шаг 2. Настройка пакетов

Предполагаем, что у вас не древний дистрибутив с systemd.

Проверяем работу systemd-resolved.service

sudo systemctl status systemd-resolved.service

Если он в состоянии disabled, то включаем

sudo systemctl enable systemd-resolved.service

Открываем в любимом редакторе (я советую vi :trollface ) /etc/systemd/resolved.conf

После DNS= вписываем ваш любимый сервер. Если вписать 8.8.8.8:853#dns.google, то у вас даже будет DoT от Google. Делаем Cache=yes для того, чтобы работало кэширование запросов. В DNSStubListenerExtra= вписываем ip вашего сервера. ReadEtcHosts= устанавливаем в yes. Сохраняем изменения и перезапускаем сервис.

sudo systemctl restart systemd-resolved.service

Все, мы запустили на своем сервере кэширующий dns-сервер с разрешением локальных имен и при этом ничего даже не ставили.

Лично я в краю угла ставлю не кеширование или порезка рекламы за счет BL, а возможность шифровать DNS за счет протоколов: DoH/DoT и DNScrypt v2.

На втором месте идет использование локальных доменов, то есть внутри своей сети вместо IP можно привязать любой(почти) домен, хоть домен хабра, и пользовать его и субдомены для своих внутренних хостов. Работает без интернета, если кто не понял. Для хоумлаба прям мастхев.

Эти топики было бы хорошо раскрыть раз уж идет спич за локальный DNS.

Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории