- Как настроить локальный DNS-сервер на Linux?
- Как мне поможет локальный DNS-сервер?
- Какой локальный кеширующий DNQS мы будем использовать?
- 1. Как проверить, используете ли вы уже systemd-resolved?
- 2. Включение и настройка systemd-resolved
- Конфигурация системы для использования systemd-resolved
- Настройка рекомендуемого режима
- Настройка режима совместимости
- 3. Отладка systemd-resolved
- 4. Использование безопасных DNS-запросов
- Заключение
- Аааа, помогиите! в Debian не работают DNS запросы.
Как настроить локальный DNS-сервер на Linux?
Если у вашего домашнего или офисного интернет-провайдера медленные серверы имен или ваш сервер выполняет много операций поиска, то вам нужен локальный кеширующий DNS-сервер.
Как мне поможет локальный DNS-сервер?
Кеширующий DNS-сервер работает, выполняя все DNS-запросы, которые обрабатывает ваша система, а затем сохраняя или кэшируя результаты в памяти. Как только результаты кэшируются в памяти, каждый раз, когда вы делаете повторный запрос для домена, результат будет почти мгновенно получен из памяти.
Локальный DNS-сервер не только поможет в вашем доме или офисе, но и на вашем сервере. Если у вас есть приложение, которое выполняет множество операций поиска DNS, например, почтовый сервер, на котором запущено антиспамовое программное обеспечение, оно получит повышение скорости от локального кэширующего DNS-сервера.
Наконец, утилита systemd-resolved поддерживает самые последние, безопасные стандарты DNS DNSSEC и DNSoverTLS или DoT. Они помогают защитить вас и сохранить вашу конфиденциальность в Интернете.
Какой локальный кеширующий DNQS мы будем использовать?
Локальный кеширующий DNS-сервер, который мы включим и настроим в этом руководстве, это systemd-resolved. Данный инструмент является частью Systemd набора инструментов управления системой. Если ваша система использует systemd , и почти все основные дистрибутивы Linux используются, то у вас уже будет установлен systemd-resolved , но он не будет работать. Большинство дистрибутивов не используют systemd-resolved, даже если он присутствует.
systemd-resolved работает, запустив небольшой локальный кеширующий DNS-сервер, который мы настроим для запуска при загрузке. Затем мы перенастроим остальную часть системы, чтобы направлять их DNS-запросы в DNS-систему с локальным кэшированием.
1. Как проверить, используете ли вы уже systemd-resolved?
В некоторых дистрибутивах Linux по умолчанию уже используется systemd-resolved, например Ubuntu 19.04.
Если вы уже запустили systemd-resolved, вам не нужно включать его или настраивать систему для его использования. Однако вам может потребоваться убедиться, что инструменты управления сетью, такие как NetworkManager, настроены правильно, поскольку они могут игнорировать конфигурацию сети системы.
Прежде чем перейти к следующему разделу, выполните следующую команду, чтобы проверить, запущен ли уже systemd-resolved:
Если вы получили сообщение:
Вы не используете systemd-resolved и должны перейти к следующему разделу. Если вместо этого вы видите вывод, который начинается примерно так:
Тогда вы уже используете systemd-resolved и вам не нужно его включать.
2. Включение и настройка systemd-resolved
Нам не нужно устанавливать systemd-resolved как часть systemd. Все, что нам нужно сделать, — это запустить его, чтобы запустить сервер кэширования DNS, а затем включить его при загрузке.
Запустите следующую команду в терминале от имени пользователя sudo для запуска systemd-resolved:
Затем выполните следующую команду, чтобы запустить systemd-resolved при загрузке системы:
Последний оставленный элемент конфигурации — это настройка DNS-серверов, которые systemd-resolved будет запрашивать разрешенные домены. Здесь много вариантов, но любая из следующих пар бесплатна, быстра, и они обе поддерживают DNSSEC и DoT:
Откройте основной файл конфигурации с разрешением systemd в вашем любимом текстовом редакторе, здесь я использовал nano:
Измените строку начинающуюся с:
Уберите комментарий со строки и вставьте желаемый Public DNS из списка выше. В моем случае я выберу Cloudflare Public DNS.
Сохраните и выйдите из текстового редактора. Теперь нам нужно перезапустить systemd-resolved, чтобы он начал использовать серверы имен:
systemd-resolved теперь запущен и готов начать обработке и защите DNS-запросов, как только мы настроим систему для ее использования.
Конфигурация системы для использования systemd-resolved
Ваша система может быть настроена несколькими способами для использования systemd-resolved, но мы рассмотрим две конфигурации, которые покрывают большинство случаев использования. Первые два режима системного разрешения сосредоточены вокруг того, как управляется содержимое этого файла. В рекомендуемом режиме /etc/resolv.conf делается символическая ссылка на /run/systemd/resolve/stub-resolv.conf.
Этот файл управляется systemd-resolved и, следовательно, systemd-resolved управляет информацией о конфигурации DNS для всех других программ в системе.я — это рекомендуемая конфигурация, а вторая — конфигурация совместимости. Разница между ними заключается в том, как файл /etc/resolv.conf управляется.
Два режима системного разрешения сосредоточены вокруг того, как управляется содержимое этого файла. В рекомендуемом режиме /etc/resolv.conf делается символическая ссылка на /run/systemd/resolve/stub-resolv.conf. Этот файл управляется systemd-resolved и, следовательно, systemd-resolved управляет информацией о конфигурации DNS для всех других программ в системе.
Это может вызвать проблемы, когда другие программы пытаются управлять содержимым /etc/resolv.conf. Режим совместимости оставляет /etc/resolv.conf на месте, позволяя другим программам управлять им, в то время как systemd-resolved использует эту информацию DNS. В этом режиме другие программы, управляющие /etc/resolv.conf, должны быть настроены для установки 127.0.0.53 в качестве системного сервера имен в /etc/resolv.conf.
Настройка рекомендуемого режима
Сначала удалите или переименуйте существующий файл /etc/resolv.conf . Переименование является лучшим вариантом, поскольку оно будет иметь тот же эффект, но вы всегда можете обратиться к оригиналу, если вам нужна содержащаяся в нем информация. Здесь мы переименовываем /etc/resolv.conf с помощью команды mv:
Затем создайте символическую ссылку:
Наконец, перезапустите systemd-resolved:
Настройка режима совместимости
В этом режиме вам нужно убедиться, что локальный сервер имен, запущенный systemd-resolved запущен системными службами. Откройте /etc/resolv.conf в текстовом редакторе. Я использую редактор nano:
Удалите все встречающиеся строки, начинающиеся с «nameserver», и добавьте эту строку:
3. Отладка systemd-resolved
Узнать, как именно ваша система выполняет DNS-запросы после внесения этих изменений, может быть сложно. Самый эффективный способ наблюдения за происходящим — перевести systemd-resolved в режим отладки и посмотреть файл журнала.
systemd-resolved — это служба systemd, что означает, что ее можно легко перевести в режим отладки, создав файл службы, содержащий параметр отладки. Следующая команда создаст правильный файл в правильном месте:
Вставьте следующие строки в редактор, затем сохраните и выйдите:
Служба с разрешением systemd будет автоматически перезагружена при успешном сохранении и выходе.
Откройте второй терминал на том же сервере и просмотрите журнал journald для службы с разрешением systemd:
Строка, которая начинается с «Using DNS server», например:
Сообщает вам, какой именно DNS-сервер используется для DNS-запросов. В этом случае DNS-сервер Cloudflare на 1.1.1.1 был запрошен.
Строки «Cache miss» указывают на то, что доменное имя не было кэшировано. Например:
Строки, начинающиеся с «Positive cache hit», например:
Укажите, что systemd-resolved ранее запрашивал этот домен, и ответ был получен из кэша в локальной памяти.
Вы должны отключить режим отладки, когда вы закончите работать с systemd-resolved, так как он создаст очень большой файл журнала в загруженной системе. Вы можете отключить ведение журнала отладки, выполнив:
4. Использование безопасных DNS-запросов
systemd-resolved — это один из немногих доступных в настоящее время DNS-серверов, которые поддерживают DNSSEC и DNSoverTLS. Оба из них помогают гарантировать, что вы получаете подлинную информацию DNS (DNSSEC) и что никто не может отслеживать ваш трафик DNS, когда он проходит через Интернет. (DOT).
Эти параметры легко включить, открыв основной файл конфигурации systemd-resolved в текстовом редакторе:
И редактируем файл так, чтобы были установлены следующие две строки:
Сохраните и выйдите из редактора, затем перезагрузите systemd-resolved:
Пока на DNS-сервере вы установили поддержку DNSSEC и DoT, ваши DNS-запросы будут защищены. Оба публичных DNS-сервера Google и Cloudflare поддерживают эти протоколы.
Заключение
Теперь ваша система настроена на быстрое и эффективное выполнение DNS-запросов, даже если DNS-сервер вашего интернет-провайдера не отвечает так быстро, как следовало бы. Кроме того, ваша цифровая активность становится более безопасной, поскольку вы используете новейшие безопасные протоколы DNS для защиты своих запросов.
Источник
Аааа, помогиите! в Debian не работают DNS запросы.
ну там системD, полный фарш .
добавил в него nameserver 8.8.8.8
пинг 8.8.8.8 фунциклирует нормально
запущен dnsmasq, попытался в него добавить server 8.8.8.8 перезапустил dnsmasq, безуспешно
уух, какая же смачная ****аха этот системD, но временно нужно, чтобы apt-get нуться
Наверно, нужно что-то добавить в каталог /etc/resolvconf/ ?
или перезапустить какие-то сервисы, интернет на хосте появился уже после старта системы, минут через 10
через ifconfig, без перезапуска сетевых служб
«`resolvectl«` посмотри что пишет
command not found
Посмотри логи systemd-resolved:
У меня в дебиане работают, врун.
nslookup чего вещает ?
command not found
а что он может вещать, если не настроено разрешение?
а что там первородным методом является нынче?
как там задается последовательность разрешения: hosts, resolv.conf, etc.
кажется, что-то про NSS?
уже проще наверно в hosts нацарапать нужные репы для apt?
прописал в hosts первый попавшийся deb.debian.org, apt-get update висит
что ему еще надо?
небось по ipv6 везде долбится.
sudo apt install resolvconf
еще бы apt работал, но можно конечно на большом компе.
Так разве не через netplan? Давненько не ковырял Debian.
фууу, как же системГшники все испоганили, даже network/interfaces не работает
ты что-то сделал не так.
может nm поставил ?
прописал параметр ядра ipv6.disable=1
перезагрузился, IPv6 исчез
по прежнему не работает
как прописать в конфигах apt, чтобы она показывал к каким хостам пытается обратиться, чтобы прописать их в /etc/hosts
похоже, я даже недооценивал всю трагедию появления системG.
Ничего не ставил, DNS не работал сразу же после заливки образа на SD карточку.
Похоже, это то, что надо.
А еще есть: openresolv
Да задолбало, проще чрутнуться на SD после:
cp /usr/bin/qemu-arm-static usr/bin/
фууу, как же системГшники все испоганили, даже network/interfaces не работает
Одно с другим вообще никак не связано.
как ты определяешь, что не работают DNS запросы?
какой адрес DNS? прописанный тобой или провайдером?
прежде, чем пробовать чинить, попробуй другой сервер DNS: 1.1.1.1. Прописать также как ты прописывал гуглский.
Не связано, только в Devuan все работает, как и раньше без извращений.
Вообще, получается, этот мерзкий системГ — это оружие массового поражения двойного и более назначения, как минимум:
1) Унификация сложнейшего зонда для профитов проприерастов. Админу и пользователю одни убытки, раньше все работало само или с полпинка, а щас за 2 часа не удается настроить DNS в готовом для использования образе.
2) Так называемые новички «неосиляторы» (а кому это говно извините нужно осиливать да еще и за свой счет) этой гомосятины уходят на Шиндоуз, какой хитрый ход! на Шиндоуз стадо погнали не запретом лучшего линупса, как пытались 10 лет назад, а сначала доведением его до умопомрачения, аналогичного Шиндоуз и даже хуже внедрением системГ.
Работать с таким системГ — реально шизофрения при наличии Devuan и Calculate/Gentoo, поэтому «неосиляторы» гомосятины системГ с опытом взаимодействия с православной системой массово уходят на дистры без этого постыдного системГ безобразия.
А зачем? Если 8888 работает в Devuan и Gentoo.
Источник