• Bug#1063995: networkd: route with PreferredSource not created

    From Sven Feyerabend@21:1/5 to All on Thu Feb 15 13:10:01 2024
    Package: systemd
    Version: 252.22-1~deb12u1
    Severity: normal
    X-Debbugs-Cc: Sven.Feyerabend@stuvus.uni-stuttgart.de

    Dear Maintainer,

    we've been using a wireguard setup to connect hosts.
    After upgrading to Debian 12 (systemd 247 to systemd 252) the default
    route, which has a PreferredSource set is no longer created.

    To reproduce the issue, consider the following setup:
    * Interface 1: physical interface, configured for DHCP, routes are added to table 2:
    [Match]
    Name=eno1

    [Network]
    DHCP=ipv4
    IPForward=True
    DNS=XXX.XXX.XXX.XXX
    KeepConfiguration=dhcp

    [DHCPv4]
    UseDNS=False
    RouteTable=2

    * Interface 2: the wireguard interface:
    [Match]
    Name=wg_rtr

    [Address]
    Address=10.53.16.8/32
    Peer=192.168.30.1/32

    [Address]
    Address=fe80::1/64

    [Link]
    MTUBytes=1500

    [Route]
    Destination=0.0.0.0/0
    Gateway=192.168.30.1
    PreferredSource=10.53.16.8

    [RoutingPolicyRule]
    Priority=1
    IncomingInterface=lo
    IPProtocol=udp
    DestinationPort=51848
    Table=2

    With this setup, the default route is not created at all and the default routing table looks like this:
    $ ip r s
    192.168.30.1 dev wg_rtr_nili01 proto kernel scope link src 10.53.16.8

    On Debian 11 (systemd 247.3-7+deb11u4) this exact same config produces
    the correct default route:
    $ ip r s
    default via 192.168.30.1 dev wg_rtr proto static src 10.53.16.8
    192.168.30.1 dev wg_rtr proto kernel scope link src 10.53.16.8


    If I omit the PreferredSource option from the [Route] section,
    everything works as expected:
    $ ip r s
    default via 192.168.30.1 dev wg_rtr proto static
    192.168.30.1 dev wg_rtr proto kernel scope link src 10.53.16.8

    Kind regards,
    Sven

    -- Package-specific info:

    -- System Information:
    Debian Release: 12.5
    APT prefers stable-updates
    APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
    Architecture: amd64 (x86_64)

    Kernel: Linux 6.1.0-13-amd64 (SMP w/4 CPU threads; PREEMPT)
    Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
    Shell: /bin/sh linked to /usr/bin/dash
    Init: systemd (via /run/systemd/system)
    LSM: AppArmor: enabled

    Versions of packages systemd depends on:
    ii libacl1 2.3.1-3
    ii libaudit1 1:3.0.9-1
    ii libblkid1 2.38.1-5+b1
    ii libc6 2.36-9+deb12u4
    ii libcap2 1:2.66-4
    ii libcryptsetup12 2:2.6.1-4~deb12u2
    ii libfdisk1 2.38.1-5+b1
    ii libgcrypt20 1.10.1-3
    ii libkmod2 30+20221128-1
    ii liblz4-1 1.9.4-1
    ii liblzma5 5.4.1-0.2
    ii libmount1 2.38.1-5+b1
    ii libp11-kit0 0.24.1-2
    ii libseccomp2 2.5.4-1+b3
    ii libselinux1 3.4-1+b6
    ii libssl3 3.0.11-1~deb12u2
    ii libsystemd-shared 252.22-1~deb12u1
    ii libsystemd0 252.22-1~deb12u1
    ii libzstd1 1.5.4+dfsg2-5
    ii mount 2.38.1-5+b1

    Versions of packages systemd recommends:
    ii dbus [default-dbus-system-bus] 1.14.10-1~deb12u1
    ii systemd-timesyncd [time-daemon] 252.22-1~deb12u1

    Versions of packages systemd suggests:
    ii libfido2-1 1.12.0-2+b1
    pn libqrencode4 <none>
    pn libtss2-esys-3.0.2-0 <none>
    pn libtss2-mu0 <none>
    pn libtss2-rc0 <none>
    ii policykit-1 122-3
    ii polkitd 122-3
    pn systemd-boot <none>
    ii systemd-container 252.22-1~deb12u1
    pn systemd-homed <none>
    ii systemd-resolved 252.22-1~deb12u1
    pn systemd-userdbd <none>

    Versions of packages systemd is related to:
    ii dbus-user-session 1.14.10-1~deb12u1
    pn dracut <none>
    ii initramfs-tools 0.142
    ii libnss-systemd 252.22-1~deb12u1
    ii libpam-systemd 252.22-1~deb12u1
    ii udev 252.22-1~deb12u1

    -- Configuration Files:
    /etc/systemd/journald.conf changed [not included]

    -- no debconf information

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)