сделать netplan написать resol.conf

У меня есть Odroid C2 - одноплатный компьютер с минимальной 18.04 для ARM. Первоначально он использовал NetworkManager + systemd-resolved для управления сетевыми подключениями, но поскольку я использую только Ethernet и всегда подключен к одной и той же сети, я нахожу это немного излишним, поэтому я отключил их оба и перешел на Netplan. Вот мой /etc/netplan/02-networkd.yaml:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: yes

Как видите, это простая конфигурация DHCP. Вот результат использования этой конфигурации:

# netplan ip leases eth0
ADDRESS=10.0.0.4
NETMASK=255.255.255.0
ROUTER=10.0.0.1
SERVER_ADDRESS=10.0.0.1
T1=7200
T2=12600
LIFETIME=14400
DNS=10.0.0.1
NTP=10.0.0.1
DOMAINNAME=vault
CLIENTID=fff75f76ac00020000ab11a7b5e398b7e20ac7

IP-адрес и все параметры интерфейса установлены правильно. Единственная проблема у меня с DNS. Я обнаружил, что netplan не обновляет /etc/resolve.conf, даже если в нем содержится вся обязательная информация.

Есть ли способ заставить Netplane обновлять / конфигурировать /etc/resolve.conf с помощью DNS-информации, которую он получает от DHCP без использования NetworkManager или разрешенной? Вот дополнительная информация:

# ls -lA /etc/resolv.conf
-rw-r--r-- 1 root root 20 Apr 21 00:13 /etc/resolv.conf

# cat /etc/resolv.conf 
nameserver 10.0.0.1
search vault
2
задан 21 April 2019 в 00:16

4 ответа

Это продуманное проектное решение, согласно которому netplan делегирует управление конфигурацией решателя системному разрешению. В netplan не поддерживается непосредственное управление /etc/resolv.conf на основе ответов на запросы dhcp. Действительно, systemd-networkd ожидает передачи этой информации в systemd-разрешения, и netplan полагается на такое поведение.

0
ответ дан 21 April 2019 в 00:16

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

В terminal...

cd /etc # каталог изменения

sudo mv resolv.conf resolv.conf.BAK # переименуйте текущий resolv.conf как файл резервной копии

sudo ln -s /run/resolvconf/resolv.conf /etc/resolv.conf # воссоздайте стандартную символьную ссылку

Примечание: вручную не редактируйте/etc/resolv.conf!

0
ответ дан 21 April 2019 в 00:16

Вы пробовали статические настройки

Простое редактирование в /etc/NetworkManager/NetworkManager.conf и отключение systemd-resolved.service (как в этом ответе https://askubuntu.com/a / 907249/719422 ). Но это само по себе, хотя и существенно, не гарантирует защищенного решения.

сделать это как SuperUser:

echo nameserver 8.8.8.8> /etc/resolv.conf chattr -e /etc/resolv.conf chattr + i /etc/resolv.conf

0
ответ дан 21 April 2019 в 00:16

Похоже, существует большая путаница между resolvconf, systemd-resolved и /etc/resolv.conf. Вот мои 2 цента:

Ubuntu 18.04 использует systemd-resolved для разрешения имен. Как правильно заметил @slangasek, netplan делегирует разрешение имен в systemd-resolved. Чтобы systemd-resolve работал правильно, файл /etc/resolv.conf должен указывать на /run/systemd/resolve/stub-resolv.conf.

Однако, если в системе также установлен пакет resolvconf, символическая ссылка /etc/resolv.conf будет ошибочно указывать на /run/resolvconf/resolv.conf. Это приведет к ошибкам разрешения имен, например. Ошибка «Временный сбой в разрешении имени». Ручное редактирование /etc/resolv.conf не рекомендуется. Самое простое решение — удалить пакет resolvconf. Это сбросит символическую ссылку, и все будет хорошо (вам может потребоваться перезагрузка или, по крайней мере, перезапуск службы с разрешением systemd).

1
ответ дан 19 May 2020 в 09:14

Другие вопросы по тегам:

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