Hi,

I really like networkd, but still prefer NetworkManager for WiFi and
WWAN.  I've therefore written the attached [0] script for forwarding
the current Domain, DNS and NTP server to networkd, so it can in turn
forward it to other parts of systemd (like resolved or timesyncd).

Although this works surprisingly well in practice, I still somehow have
a bad feeling about this. What do you guys think about this setup? Will
this suddenly break one day and eat all my data or am still on solid
ground here? Is there a better alternative?

Best regards

Alexander Kurtz

[0] /etc/NetworkManager/dispatcher.d/systemd-networkd:

#!/bin/sh -e

if
        ([ "${2}" = 'up' ] || [ "${2}" = 'vpn-up' ] || [ "${2}" = 
'dhcp4-change' ] || [ "${2}" = 'dhcp6-change' ]) &&
        ([ "${IP4_DOMAINS}" ] || [ "${IP6_DOMAINS}" ] || [ "${IP4_NAMESERVERS}" 
] || [ "${IP6_NAMESERVERS}" ] || [ "${DHCP4_NTP_SERVERS}" ] || [ 
"${DHCP6_NTP_SERVERS}" ])
then
        if ! [ -d '/run/systemd/network' ]; then
                mkdir '/run/systemd/network'
        fi

        {
                echo "[Match]"
                echo "Name=${1}"
                echo ""
                echo "[Network]"

                for domain in ${IP4_DOMAINS} ${IP6_DOMAINS}; do
                        echo "Domains=${domain}"
                done

                for dns in ${IP4_NAMESERVERS} ${IP6_NAMESERVERS}; do
                        echo "DNS=${dns}"
                done

                for ntp in ${DHCP4_NTP_SERVERS} ${DHCP6_NTP_SERVERS}; do
                        echo "NTP=${ntp}"
                done

                echo "IPv6PrivacyExtensions=kernel"
                echo "IPForward=kernel"
        } > "/run/systemd/network/99-NetworkManager-${1}.network"

        systemctl restart systemd-networkd
elif
        ([ "${2}" = 'down' ] || [ "${2}" = 'vpn-down' ]) &&
        ([ -f "/run/systemd/network/99-NetworkManager-${1}.network" ])
then
        rm "/run/systemd/network/99-NetworkManager-${1}.network"
        systemctl restart systemd-networkd
fi

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to