Каков рекомендуемый способ переопределения глобального DNS-сервера в системе с помощью systemd -?

При использовании внутренних метаданных DRBD резервирует небольшой объем пространства, около 32 МБ на 1 ТиБ, на конце резервного диска. Вот как DRBD отслеживает такие вещи, как рассинхронизация блоков и характеристики резервного диска (s )своего партнера. Вот почему ваше устройство DRBD немного меньше, чем диск, который вы используете для резервного копирования DRBD.

7
25.03.2019, 01:03
3 ответа

Я предполагаю, что вы используете NetworkManager, так как это Ubuntu.

На ваш первый вопрос. Если вам не нужен не -глобальный DNS, то я не вижу никаких проблем с установкой глобального DNS на хорошо -известного и стабильного провайдера DNS. Любое изменение здесь также будет легко обратимым.

systemd -разрешено во многих системах имеет приоритет над /etc/resolv.conf, как вы можете видеть в /etc/nsswitch.conf, resolve, вероятно, предшествует dns.

Демон разрешения будет использовать адреса из настройки DNS=в /etc/systemd/resolved.conf, НО также будет использовать любой сервер, полученный для интерфейса параллельно с сервером из его опции DNS=. Обычно это не проблема, так как общедоступные DNS-запросы должны либо завершаться неудачно, либо возвращать такие же полезные результаты.

Я не знаю, есть ли способ помешать systemd -разрешить изучение новых DNS-серверов, но могут быть способы помешать NetworkManager установить их, например.

Изhttps://wiki.archlinux.org/index.php/NetworkManager#Unmanaged_/etc/resolv.conf:

В /etc/NetworkManager/conf.d/dns.confдобавьте или измените:

[main]
dns=none
systemd-resolved=false

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

1
14.04.2020, 23:07

Я скучаю по временам, когда было легко управлять серверами имен, просто редактируя /etc/resolv.conf. Хотя это на самом деле все еще работает, теперь дистрибутивы, такие как Ubuntu, добавляют службы, которые создают символические ссылки и управляют /etc/resolv.conf, заменяя все настройки, которые я делаю.

При использовании Ubuntu у меня возникла проблема, из-за которой мой systemd-resolveне устанавливает «Текущий DNS-сервер» из nmконфигурации VPN. Я использую это, чтобы обойти это.

sudo systemd-resolve --interface=ppp0 --set-dns=172.19.40.11
2
26.09.2020, 14:00

Я не думаю, что есть рекомендуемый способ, но вот несколько вариантов.

Отказ от ответственности :Все это было протестировано на системе Ubuntu 20.04, в других версиях могут быть некоторые отличия.

Ручное /etc/resolv.confуправление

  1. Создайте свой собственныйresolv.conf:

    echo 'nameserver 8.8.8.8' | sudo tee /etc/resolv-manual.conf
    
  2. Удалите символическую ссылку systemd -разрешенную и ссылку на свой собственный файл:

    sudo rm /etc/resolv.conf
    sudo ln -s /etc/resolv-manual.conf /etc/resolv.conf
    
  3. Убедитесь, что ваша конфигурация DNS используется, отправив запрос:dig google.com

Важно, чтобы resolv.confбыла символической ссылкой, поскольку в противном случае NetworkManager переопределяет ее.

Обратите внимание, что resolvectl statusпо-прежнему будет показывать DNS-серверы, предоставленные DHCP -для подключения, и они по-прежнему могут использоваться запросами, выполняемыми через интерфейс dbus для разрешения.

Принудительный глобальный DNS при разрешении

Это уже было:

  1. Создать /etc/systemd/resolved.conf.d/dns_servers.conf
    sudo mkdir -p /etc/systemd/resolved.conf.d
    cat <<EOF | sudo tee /etc/systemd/resolved.conf.d/dns_servers.conf
    [Resolve]
    DNS=192.168.35.1 fd7b:d0bd:7a6e::1
    Domains=~.
    EOF
    
  2. Решен перезапуск:sudo systemctl restart systemd-resolved
  3. Проверьте с помощьюresolvectl status

Вы по-прежнему будете видеть DNS-сервер, предоставленный провайдером -для соединения, но они будут использоваться только для доменов, перечисленных в DNS Domain:в выходных данных resolvectl status.

Если вы хотите полностью избавиться от этих DNS-серверов:

  1. Сообщите NetworkManager, чтобы он не устанавливал DNS-серверы для разрешенных :
    cat <<EOF | sudo tee /etc/NetworkManager/conf.d/dns.conf
    [main]
    dns=none
    systemd-resolved=false
    
  2. Перезагрузить NetworkManager:sudo systemctl reload NetworkManager.service
  3. решено, будут запоминаться последние DNS для интерфейса, поэтому вручную переопределить их:sudo systemd-resolve --interface=wlp3s0 --set-dns 8.8.8.8
1
25.09.2021, 08:49

Теги

Похожие вопросы