IP-адрес удален из сетевого интерфейса, управляемого systemd-networkd

С помощью GNU sed задача может быть выполнена

sed -sn '
    /THEAD/{:1;N;/TTAIL/! b1} #collect lines from `THEAD' to `TTAIL'
    /TCUST.*TCUST/{p;h}       #print if there are two TCUST and set hold
    ${x;//F}                  #check hold and output if two TCUST was in it
    ' file1 file2 …
2
02.03.2017, 23:19
1 ответ

Как выяснил zdzichu на irc-канале #systemd Freenode, поведение networkd в отношении состояния линка (интерфейса), не заданного самим networkd, было установлено с помощью commit под названием networkd: link - drop foreign config when configuring link со следующим сообщением коммита (выделение моё):

Это изменение в поведении:

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

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

В итоге попытка установить свойства ссылки вне networkd не является свободной от гонки. Ниже приведен пример из загрузки системы, где последовательность событий отличается, а конечным результатом является то, что интерфейс сохраняет IP-адрес, установленный клиентом OpenVPN.

systemd-networkd[1047]: ovpn: MAC address not found for new device, continuing without
systemd-networkd[1047]: ovpn: Flags change: +MULTICAST +POINTOPOINT +NOARP
systemd-networkd[1047]: ovpn: Link 4 added
systemd-networkd[1047]: ovpn: udev initialized link
systemd-networkd[1047]: ovpn: Saved original MTU: 1500
systemd-networkd[1047]: ovpn: Link state is up-to-date
systemd-networkd[1047]: ovpn: found matching network '/etc/systemd/network/ovpn.network'
systemd-networkd[1047]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_34 interface= (...)
systemd-networkd[1047]: ovpn: Bringing link up
systemd-networkd[1047]: ovpn: IPv6 enabled for interface: Success
systemd-networkd[1047]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_34 interface= (...)
systemd-networkd[1047]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_34 interface= (...)
systemd-networkd[1047]: ovpn: Flags change: +UP +LOWER_UP +RUNNING
systemd-networkd[1047]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_34 interface= (...)
systemd-networkd[1047]: ovpn: Gained carrier
systemd-networkd[1047]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_34 interface= (...)
systemd-networkd[1047]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_34 interface= (...)
systemd-networkd[1047]: ovpn: Adding address: fe80::ba0:a13:d13d:d438/64 (valid forever)
systemd-networkd[1047]: Sent message type=signal sender=n/a destination=n/a object=/org/freedesktop/network1/link/_34 interface= (...)
systemd-networkd[1047]: ovpn: Gained IPv6LL
systemd-networkd[1047]: ovpn: Discovering IPv6 routers
systemd-networkd[1047]: NDISC: Started IPv6 Router Solicitation client
systemd-networkd[1047]: NDISC: Sent Router Solicitation
systemd-networkd[1047]: ovpn: Adding address: 10.1.1.100/22 (valid forever)
1
27.01.2020, 22:19

Теги

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