Bug 32470 - altlinux-openresolv.service ждёт конфигурирования всех линков до записи resolv.conf
: altlinux-openresolv.service ждёт конфигурирования всех линков до записи resol...
Status: NEW
: Sisyphus
(All bugs in Sisyphus/systemd-networkd)
: unstable
: all Linux
: P3 major
Assigned To:
:
:
: systemd
:
:
  Show dependency tree
 
Reported: 2016-09-04 14:35 by
Modified: 2016-09-04 15:32 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2016-09-04 14:35:12
Имеем свежий сизиф на ноутбуке с двумя интерфейсами: проводным и беспроводным. 
Кладём простейший .network-файл чтобы все интерфейсы настраивались по
DHCP/DHCPv6.  Включаем systemd-networkd, systemd,resolved,
altlinux-openresolv.path. Перезагружаемся. Подключаемся в одной (любой) сети,
проводной или беспроводной.

Результат:
=8<============================================
root@eee /etc # networkctl 
IDX LINK             TYPE               OPERATIONAL SETUP     
  1 lo               loopback           carrier     configured
  2 eth0             ether              no-carrier  configuring
  3 wlan0            wlan               routable    configured

3 links listed.
=8<============================================

при этом наличествует связность с сетью, но не работает резолвинг
(/etc/resolv.conf - пуст, /run/systemd/resolve/resolv.conf - заполнен из
DHCP-анонса).

Ожидалось, что resolvconf обновит /etc/resolv.conf последовательно, по мере тоо
как ответят DHCP-сервера. Он этого не делает.

Причина:
=8<============================================
ExecStart=/bin/sh -c 'if /lib/systemd/systemd-networkd-wait-online
--timeout=30; then /sbin/resolvconf -a systemd-networkd <
/run/systemd/resolve/resolv.conf; fi'
=8<============================================
в юните altlinux-openresolv.service.

systemd-networkd-wait-online(8) говорит ясно:
=8<============================================
By default, it will wait for all links it is aware of and
       which are managed by systemd-networkd.service(8) to be fully configured
or failed, and for at least one link to gain a carrier.
=8<============================================

Всё верно, запуск бинарника /lib/systemd/systemd-networkd-wait-online ждёт,
пока настроятся ВСЕ интерфейсы. Чего в реальности может вообще никогда не
произойти.

Объёзд:
=8<============================================
root@eee /etc # cat
/etc/systemd/system/altlinux-openresolv.service.d/override.conf 
[Service]
ExecStart=
ExecStart=/bin/sh -c '/sbin/resolvconf -a systemd-networkd <
/run/systemd/resolve/resolv.conf'
=8<============================================

В таком виде после запуска лишь с одной доступной сетью резолвинг имён
работает.
------- Comment #1 From 2016-09-04 15:32:48 -------
Похожая конфигурация у меня на другой машине, которая в основном работает по
проводному интерфейсу (адресация назначена статически) но иногда переносится в
пределах действия беспроводной сети без сетевого кабеля. В основном
беспроводной линк заглушен через rf-kill.  Та же проблема.