Установка Ubuntu systemd разрешена

Обновлено: 21.11.2024

Затем поместите следующую строку в раздел [main] файла /etc/NetworkManager/NetworkManager.conf:

Удалить символическую ссылку /etc/resolv.conf

nelebadnjak прокомментировал 10 марта 2020 г.

Это неправильно, вместо dns=none должно быть dns=default

zoilomora прокомментировала 10 марта 2020 г.

Это неправильно, вместо dns=none должно быть dns=default

Да, я не знаю, что произошло на момент написания, но сейчас у меня dns=default , спасибо за предупреждение!

tweakunwanted прокомментировал 2 апреля 2020 г.

Что такое dns=default? Я использую версию 1.1.1.1 в своем файле resolv.conf и хочу продолжать использовать ее

zoilomora прокомментировала 2 апреля 2020 г.

@tweakunwanted вы можете ознакомиться с документацией NetworkManager. Если вы не хотите, чтобы /etc/resolv.conf изменялся, назначьте dns=none .

antonalechnovic прокомментировал 10 мая 2020 г.

Спасибо за исправление моего VPN, жаль, что я не нашел это на 2 часа раньше.

sej7278 прокомментировал 9 августа 2020 г. •

Есть идеи, как это сделать на centos8 — даже маска systemctl systemd-resolved не помогает, ни один из вышеперечисленных способов тоже не помогает, а /etc/resolv.conf не является символической ссылкой на centos8, dns=none — это по умолчанию

Прокомментировано JakeSays 6 октября 2020 г.

Это только что спасло мою задницу. По какой-то причине решил просто перестать работать. После двух часов обезболивания решили свое дело. Еще одна причина, по которой я ненавижу systemd. Просто хочу, чтобы он умер мучительной смертью.

dag-erling прокомментировал 13 октября 2020 г.

Ничего себе: мне кажется странным, что вы используете сервис для перезапуска NetworkManager, а не systemctl, поскольку первый является просто оболочкой совместимости для второго.

sanfx прокомментировано 31 октября 2020 г.

это начало вызывать

mdPlusPlus прокомментировал 15 ноября 2020 г.

Отлично работал на Kubuntu 20.04.1 LTS.

ajbogh прокомментировал 3 декабря 2020 г.

Просто примечание на случай, если кому-то понадобится отменить эти инструкции:

Символическая ссылка для /etc/resolv.conf указывает на ../run/systemd/resolve/stub-resolv.conf

torressam333 прокомментировал 23 мая 2021 г.

Это было полезно, я пытался настроить виртуальные хосты с помощью сетевого менеджера, и недостающей частью было удаление символической ссылки из systemd. Спасибо!

Клифра-Джонс прокомментировала 14 октября 2021 г.

Не знаю почему, но после возвращения в офис (я пользуюсь WIFI, потому что кто-то уронил кабель за стол) я теряю разрешение DNS. Работает несколько минут, потом глохнет. Кажется, это исправлено. Спасибо!

прокомментировал ahmathlete 25 октября 2021 г. •

dns=none не работал у меня даже после перезапуска сетевого менеджера. Однако dns=default устанавливает сервер имен на 127.0.0.53 после его перезапуска.

zhengxunWu1 прокомментировал 16 ноября 2021 г.

У меня есть network-manager: нераспознанный сервис на ubuntu 18.04, что мне делать?
попытаться исправить ошибку браузера на основе хрома
[1116/153011.148474:ERROR:file_io_posix.cc(144)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq: Нет такого файла или каталог (2)
[1116/153011.148719:ERROR:file_io_posix.cc(144)] open /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq: Нет такого файла или каталога (2)

Maxl94 прокомментировал 18 ноября 2021 г. •

У меня не работает с Ubuntu 21.10. Я использовал команду из источника этой сути.

martijn прокомментировал 12 января 2022 г.

Спасибо, это разрешило DNS-серверы, выданные VPN, которые не использовались в контейнерах Docker для меня на Pop_OS! 21.10.

thekoma прокомментировал 4 марта 2022 г. •

Если кто-то хочет сделать это побыстрее, я написал небольшой учебник:

mdPlusPlus прокомментировал 7 марта 2022 г.

@thekoma: Я бы посоветовал всем не использовать сокращатели URL-адресов, когда речь идет о слепом выполнении кода на компьютерах пользователей. Контент, скрывающийся за этим URL, может измениться в любой момент и стать вредоносным.

thekoma прокомментировала 7 марта 2022 г.

Вы не можете выполнить это действие в данный момент.

Вы вошли в другую вкладку или окно. Перезагрузите, чтобы обновить сеанс. Вы вышли на другой вкладке или в другом окне. Перезагрузите, чтобы обновить сеанс.

systemd-resolved — это служба systemd, которая обеспечивает разрешение сетевых имен для локальных приложений через интерфейс D-Bus, службу разрешения NSS ( nss-resolve(8) ) и локальную заглушку DNS. слушатель на 127.0.0.53. См. systemd-resolve(8) для использования.

Содержание

Установка

systemd-resolved — это часть пакета systemd, который устанавливается по умолчанию.

Конфигурация

Резолвер можно настроить, отредактировав /etc/systemd/resolved.conf и/или вставив файлы .conf в /etc/systemd/resolved.conf.d/ . См. разрешенный.conf(5) .

Чтобы использовать systemd-resolved, запустите и включите systemd-resolved.service .

Программное обеспечение, использующее функцию getaddrinfo(3) (или аналогичную) glibc, будет работать сразу после установки, поскольку по умолчанию файл /etc/nsswitch.conf настроен на использование nss-resolve(8), если он доступен.< /p>

Чтобы обеспечить разрешение доменных имен для программного обеспечения, которое напрямую читает /etc/resolv.conf, такого как веб-браузеры и GnuPG, systemd-resolved имеет четыре различных режима обработки файла: заглушка, статический, восходящий и внешний. Они описаны в systemd-resolved(8) § /ETC/RESOLV.CONF. Здесь мы сосредоточимся только на рекомендуемом режиме, то есть на режиме-заглушке, который использует /run/systemd/resolve/stub-resolv.conf .

/run/systemd/resolve/stub-resolv.conf содержит локальную заглушку 127.0.0.53 в качестве единственного DNS-сервера и список поисковых доменов. Это рекомендуемый режим работы, при котором управляемая конфигурация systemd-resolved распространяется на всех клиентов. Чтобы использовать его, замените /etc/resolv.conf символической ссылкой на него:

  • Неправильная настройка файла /etc/resolv.conf приведет к нарушению разрешения DNS.
  • Создание символической ссылки /etc/resolv.conf будет невозможно внутри arch-chroot, так как файл монтируется из внешней системы с помощью привязки. Вместо этого создайте символическую ссылку вне chroot. Например,

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

Автоматически

systemd-resolved будет работать по умолчанию с сетевым менеджером, использующим /etc/resolv.conf . Никакой особой настройки не требуется, так как systemd-resolved будет обнаружен при переходе по символической ссылке /etc/resolv.conf. Это произойдет с systemd-networkd, NetworkManager и iwd.

  • systemd-resolved имеет ограниченный интерфейс resolvconf и может работать не со всеми клиентами. Дополнительную информацию см. в разделе resolvectl(1) § СОВМЕСТИМОСТЬ С RESOLVCONF(8).
  • systemd-resolvedconf работает только при запущенном systemd-resolved.service. Если вы не используете systemd-resolved, убедитесь, что пакет systemd-resolvconf удален, иначе это вызовет проблемы с сетевым программным обеспечением, которое ожидает рабочий двоичный файл /usr/bin/resolvconf.
Вручную

В тупиковом и статическом режимах пользовательские DNS-серверы могут быть установлены в файле resolve.conf(5):

  • Без доменов=~. option в файле resolve.conf(5) , systemd-resolved может использовать DNS-серверы для каждой ссылки, если какой-либо из них имеет значение Domains=~. в конфигурации для каждой ссылки.
  • Этот параметр не повлияет на запросы доменных имен, которые соответствуют более конкретным поисковым доменам, указанным в конфигурации для каждой ссылки, они по-прежнему будут разрешаться с использованием соответствующих DNS-серверов для каждой ссылки.
Запасной вариант

Если systemd-resolved не получает адреса DNS-серверов от администратора сети и никакие DNS-серверы не настроены вручную, тогда systemd-resolved возвращается к резервным DNS-адресам для убедитесь, что разрешение DNS всегда работает.

Примечание. Резервные DNS расположены в следующем порядке: Cloudflare, Quad9 (без фильтрации и без DNSSEC) и Google; см. systemd PKGBUILD, где определены серверы.

Адреса можно изменить, установив FallbackDNS= в файле resolve.conf(5) . Например:

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

DNSSEC

Проверку DNSSEC можно включить, изменив параметр DNSSEC= в файле resolve.conf(5) .

  • Установите DNSSEC=allow-downgrade, чтобы проверять DNSSEC только в том случае, если его поддерживает вышестоящий DNS-сервер.
  • Установите DNSSEC=true, чтобы всегда проверять DNSSEC, тем самым нарушая разрешение DNS с серверами имен, которые его не поддерживают. Например:
  • Если ваш DNS-сервер не поддерживает DNSSEC и у вас возникли проблемы с режимом разрешения перехода на более раннюю версию по умолчанию (например, ошибка systemd 10579), вы можете явным образом отключить поддержку DNSSEC в systemd-resolved, установив DNSSEC=false .
  • systemd-resolved может отключить DNSSEC после нескольких неудачных проверок. Если для параметра DNSSEC установлено значение true , разрешение DNS полностью перестанет работать. См. проблему systemd 9867.

DNS через TLS

ngrep можно использовать для проверки работы DNS через TLS, поскольку DNS через TLS всегда использует порт 853 и никогда не использует порт 53. Команда ngrep port 53 не должна выдавать никаких результатов, если имя хоста разрешается с помощью DNS через TLS и порта 853 ngrep. должен производить зашифрованный вывод.

Wireshark можно использовать для более детальной проверки пакетов DNS через запросы TLS.

systemd-resolved может работать как многоадресный преобразователь и ответчик DNS.

Распознаватель обеспечивает разрешение имени хоста с использованием схемы именования "hostname.local".

mDNS будет активирован для подключения только в том случае, если включены глобальные настройки systemd-resolved ( MulticastDNS= в resolve.conf(5) ) и настройки сетевого менеджера для каждого подключения.По умолчанию systemd-resolved включает ответчик mDNS, но ни systemd-networkd, ни NetworkManager[1] не включают его для подключений:

Примечание. Если установлен Avahi, рассмотрите возможность отключения или маскировки avahi-daemon.service и avahi-daemon.socket, чтобы предотвратить конфликты с systemd-resolved.

Совет. Значение по умолчанию для всех подключений NetworkManager можно задать, создав файл конфигурации в /etc/NetworkManager/conf.d/ и установив connection.mdns= в разделе [connection]. См. NetworkManager.conf(5) .

Если вы планируете использовать mDNS и использовать брандмауэр, обязательно откройте UDP-порт 5353 .

LLMNR

Link-Local Multicast Name Resolution — это протокол разрешения имен хостов, созданный Microsoft.

LLMNR будет активирован для подключения только в том случае, если включены глобальные настройки systemd-resolved ( LLMNR= в resolve.conf(5) ) и настройки сетевого менеджера для каждого подключения. По умолчанию systemd-resolved включает ответчик LLMNR; systemd-networkd и NetworkManager[2] включают его для подключений.

Совет. Значение по умолчанию для всех подключений NetworkManager можно задать, создав файл конфигурации в /etc/NetworkManager/conf.d/ и установив connection.llmnr= в разделе [connection]. См. NetworkManager.conf(5) .

Если вы планируете использовать LLMNR и использовать брандмауэр, убедитесь, что открыты порты UDP и TCP 5355 .

Поиск

Для запроса записей DNS, узлов mDNS или LLMNR можно использовать утилиту resolvectl.

Например, чтобы запросить запись DNS:

Устранение неполадок

systemd-resolved не выполняет поиск в локальном домене

  • Отключите LLMNR, чтобы позволить systemd-resolved немедленно продолжить добавление DNS-суффиксов
  • Обрезать базу данных хостов /etc/nsswitch.conf (например, удалив параметр [!UNAVAIL=return] после службы разрешения)
  • Переключиться на использование полных доменных имен
  • Используйте /etc/hosts для разрешения имен хостов
  • Вернуться к использованию dns glibc вместо использования разрешения systemd

systemd-resolved не разрешает имена хостов без суффикса

Чтобы разрешить systemd разрешать имена хостов, которые не являются полными доменными именами, добавьте ResolveUnicastSingleLabel=yes в /etc/systemd/resolved.conf .

Предупреждение. Это приведет к переадресации однокомпонентных имен на глобальные DNS-серверы, которые могут не находиться под вашим контролем. Такое поведение не соответствует стандартам и может создать угрозу конфиденциальности и безопасности. Подробнее см. в файле resolve.conf(5).

Похоже, это работает только с отключенным LLMNR ( LLMNR=no ).

В этом руководстве показано, как включать и отключать службу разрешения systemd в Ubuntu.

Оглавление

Что такое системное разрешение?

systemd-resolved — это служба systemd, обеспечивающая разрешение сетевых имен для локальных приложений. Кроме того, systemd-resolved устанавливается по умолчанию как часть пакета systemd.

systemd-resolved предоставляет следующие службы распознавателя:

  • Система доменных имен (DNS, DNSSEC и DNS через TLS)
  • Многоадресный DNS
  • Разрешение имен Link-Local Multicast

Зачем его отключать?

Вы можете отключить systemd-resolved, чтобы использовать другой преобразователь на том же хосте. Например, это необходимо сделать перед установкой PiHole в качестве альтернативного DNS-сервера.

Pi-hole – это приложение для блокировки рекламы, которое действует как DNS. Он также блокирует интернет-трекеры. Нажмите здесь, чтобы узнать больше.

Необходимо отключить одну службу DNS, так как две службы не могут прослушивать один и тот же порт.

Изменения в Ubuntu 18.04

Netplan теперь является инструментом управления сетью по умолчанию, начиная с Ubuntu 18.04. Netplan заменяет файлы конфигурации /etc/resolv.conf и /etc/network/interfaces, используемые для настройки сети.

Как отключить systemd-resolved в Ubuntu

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

Как включить разрешение systemd в Ubuntu

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

Вас также может заинтересовать

Об авторах

Коллектив редакторов Anto любит облако так же сильно, как и вы! Каждый член редакционной команды Anto является экспертом в области облачных вычислений. Anto Online гордится тем, что помогает другим энтузиастам облачных вычислений. Дайте нам знать, если у вас есть отличная идея для следующей темы! Если вы хотите внести свой вклад, свяжитесь с Anto Online.

Поддержите дело

Поддержите Anto Online и купите нам кофе. Все возможно с кофе и кодом.

Используйте этот тег для вопросов, которые непосредственно относятся к разрешенной версии systemd. Не используйте этот тег для dnsmasq или обычного разрешения.

Неправильные серверы имен отображаются с `systemd-resolve --status`

У меня есть несколько мошеннических серверов имен, от которых я не могу избавиться на моем сервере Ubuntu 20.04. Я запускаю 2 экземпляра pihole, которые были настроены для работы с ipv4 и ipv6 Cloudflare DOH. При беге. ;

Конфликт портов при установке Pi-Hole Docker с процессом systemd-resolve

Я пытаюсь установить Pi-Hole вместе с Nextcloud на свой Raspberry Pi с Ubuntu 20.04. NextCloud обычно устанавливается поверх Ubuntu, тогда как я пытаюсь установить Pi-Hole в контейнере на . ;

Преобразователь DNS Ubuntu не использует порт 853 DNS Over TLS для разрешения DNS

У меня сервер Ubuntu 20.04. Этот сервер настроен для запуска сайтов WordPress (стек LEMP). На этом сервере я настроил преобразователь DNS Ubuntu для использования «DNS через TLS». Используйте DNS-сервис Cloudflare. . ;

Перезапуск сети после сброса маршрутов (systemd-resolved не перезапустится)

Я очистил таблицу маршрутизации ядра и хотел вернуться к использованию сети, но обнаружил, что все серверы недоступны. Я закончил тем, что перезагрузил свой компьютер, чтобы восстановить функциональность. Можете ли вы помочь мне определить, что . ;

Как разделить разрешение DNS на основе целевого домена?

Примечание. Я прочитал два других вопроса (здесь и здесь), которые касаются той же проблемы, но ни одно из решений не применимо к моему случаю. Я запускаю Pi-hole в докер-контейнере в качестве своего DNS-сервера — для сервера. ;

DNS-серверы «игнорируются» NetworkManager, systemd-resolved и VPN-туннелем

В Ubuntu 20.04 я подключаюсь к Интернету через WLan с помощью NetworkManager. Затем я устанавливаю VPN с OpenConnect. Я использую «заглушку resolv.conf»: /etc/resolv.conf -> /run/systemd/. ;

Ubuntu Server 20.04.3 LTS 00-installer-config.yaml или resolv.conf для настроек DNS

systemd-resolve не применяет настройки, основанные на сетевом интерфейсе

Смена серверов имен DNS с помощью systemd-resolve не сохраняется

позвольте мне начать с того, что я не уверен, использую ли я сервер Ubuntu или рабочий стол Ubuntu, при этом мой «сервер» работает на VPS. Вот вывод lsb_release -a: Модулей LSB нет. ;

Проблема с /etc/resolv.conf

Я не могу добавить комментарии к вопросу 1128536 (Как внести постоянные изменения в /etc/resolv.conf Ubuntu 18.10) Используя Ubuntu 20.04.3 на ноутбуке; последнее обновление 19 октября, после одного, но последнего обновления октября. ;

systemd-resolved не разрешает никаких доменов

Мой NetworkManager подключается к Интернету, но у меня нет доступа к Интернету из-за неправильной конфигурации DNS. У меня нет большого опыта работы с настройками DNS, но, похоже, проблема связана с . ;

Systemd не запрашивает локальный сервер (dnsmasq) в автономном режиме

Нет вывода графики с RTX 3080; X-сервер не настроен

Начинающий пользователь здесь. У меня есть серверная коробка с Intel S2600ST, Intel Xeon Silver 4216 и RTX 3080, а также Ubuntu 20.04.03 или 21.04. Когда я загрузил LTS, он будет . ;

DNS в Ubuntu 18.04 не работает

У меня проблема с DNS в Ubuntu 18.04. Я думаю, что есть неправильная конфигурация где-то между netwrok-manager, systemd-resolved и resolvconf. Я могу нормально пинговать IP-адреса, но не имена хостов: $ . ;

Читайте также: