Как сохранить конфигурацию "systemd-resolve" для конкретного сетевого интерфейса?

я обновил свой рабочий стол Ubuntu до Bionic Beaver, который переключился на systemd-resolve. С этим изменением разрешение LXD DNS перестало работать.

для того, чтобы сделать контейнеры LXD обнаруживаемыми, я могу запустить следующую команду. Обратите внимание, IP 10.78.38.1 - это IP-адрес lxdbr0 мост.

$ sudo systemd-resolve --interface lxdbr0 --set-dns 10.78.38.1 --set-domain lxd

С этим на месте, я могу обнаружить LXD контейнер по их имени и конфигурации выглядит следующим образом.

$ systemd-resolve --status
.
.
.
Link 10 (lxdbr0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 10.78.38.1
          DNS Domain: lxd
.
.
.

однако после перезагрузки системы эта конфигурация пропала.

$ systemd-resolve --status
.
.
.
Link 10 (lxdbr0)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
.
.
.

для того, чтобы сделать выше постоянный, я рассмотрел systemd-resolve manpage http://manpages.ubuntu.com/manpages/bionic/man8/systemd-resolved.service.8.html. Он предлагает создать в/etc/systemd в/решен.конф.д/LXD по.conf файл, но нет доступных параметров, которые позволили бы мне сделать такая конфигурация специфична для одной конкретной сетевой карты.

11
задан quat
16.12.2022 18:28 Количество просмотров материала 3527
Распечатать страницу

2 ответа

Я понимаю, что этот вопрос был здесь 2 месяца, но, может быть, вам все еще нужны ответы?

1) Systemd-networkd хранить сетевые конфигурации в (по крайней мере) 3 каталогах, может быть больше. Тот, который кажется наиболее актуальным для вас:

/etc/systemd/network/ 

(он переопределяет остальные 2, а именно /lib/s /n и/run/s / n.

создайте текстовый файл, подобный этому:

[Match]
Name=enp0s4

[Network]
DHCP=yes
DNS=192.168.1.1

вы можете назвать его, что вы хотите, кажется, пока он находится в этом каталоге, мой называется enp0s4.сеть, получать право содержания критическое, если вы ошибаетесь, происходят плохие вещи, например, ваша сеть перестает работать, по крайней мере, на этом интерфейсе, пока вы не восстановите рабочую конфигурацию. Что нелегко, я испортил свой, и мне потребовался час, чтобы разобраться с этим. Хорошо, что мой" сервер " находится в соседней комнате, а не в удаленном дата-центре!

примеры настройки моста читайте здесь:

man systemd.network |grep -A 42 "Example 3"

примеры есть плюс мой сниппет кода может настроить:

Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 10.78.38.1

не уверен, что синтаксис для домена DNS, это должно быть возможно, man-страница, как 30 страниц! Если вы можете, пропустите его, пытаясь" домен= " испортил мою систему,вот как я знаю, что это плохо, личный опыт. :-) Так что найти правильный синтаксис, или не ставьте его, если вы не можете восстановить.

восстановление еще один пост, хотя я устал.

вот ссылки, которые я использовал:

Как проверить если сеть работает: /вопрос/как-в-отладка-команду systemd-networkd-106653/"https://askubuntu.com/posts/681768/revisions" название="Как включить если он отключен:">https://askubuntu.com/posts/681768/revisions

перезапустить systemd-resolver без перезагрузки:

sudo systemctl restart systemd-resolved

FYI: существует способ сказать systemd, чтобы позволить Network-Manager обрабатывать интерфейс, а также оставить его "неуправляемым" и работать с конфигурациями плоских файлов, такими как /etc/resolv.конф. Но я бы заставил его работать как если бы я была на твоем месте. И я, я просто пытаюсь настроить различные интерфейсы для другой цели, но мне нужна вся эта информация. выше, чтобы помочь себе, поэтому я подумал, что поделюсь. Так как вы поделились, как изменить его временно, что также полезно. : -)

HTH

0
отвечен Lubo Diakov 2022-12-18 02:16

это звучит правдоподобно, но, кажется, не имеют никакого эффекта:

по данным связан странице man 8 systemd-решено.служба, вы должны использовать файл конфигурации per link в /etc/systemd/network:

DNS-серверы определяются из глобальных настроек в /etc/systemd/resolved.conf, статические настройки для каждой ссылки в /etc/systemd/network/*.network файлы, динамические настройки для каждой ссылки, полученные по DHCP, и любая информация о DNS-сервере доступно другими системными службами.

для сохранения конфигурации необходимо создать файл /etc/systemd/network/lxdbr0.conf:

[Match]
Name=lxdbr0

[Resolve]
DNS=10.78.38.1
Domains=lxd
0
отвечен ctx 2022-12-18 04:33

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх