Re: systemd-networkd: How to configure network with environment variables?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fr, 23.04.21 08:17, Paul Menzel (pmenzel+systemd-devel@xxxxxxxxxxxxx) wrote:

> Dear systemd folks,
>
>
> Due to historical reasons, in our environment we have a configuration file
> with the network device name and the to be assigned IP address:
>
>     $ more /etc/local/mxhost.conf
>     MX_NETDEV=net02
>     MX_IPADDR=141.14.18.X
>
> Then a custom service unit `network.service` [1] configures the network with
> the configuration file as environment file.
>
>     [Unit]
>     Description=Network Connectivity
>     DefaultDependencies=no
>
>     [Service]
>     EnvironmentFile=/etc/local/mxhost.conf
>     Type=oneshot
>     RemainAfterExit=yes
>     ExecStart=/usr/sbin/mxnetctl start
>     ExecStart=/sbin/ip addr add ${MX_IPADDR}/20 broadcast 141.14.31.255 dev
> ${MX_NETDEV}
>     ExecStart=/sbin/ip link set up dev ${MX_NETDEV}
>     ExecStart=/sbin/ip route add default via 141.14.16.X
>     ExecStop=/sbin/ip addr del ${MX_IPADDR}/20 dev ${MX_NETDEV}
>     StandardOutput=syslog
>
>     [Install]
>     WantedBy=network.target
>
> Wanting to use systemd-network but keeping local device configuration in
> `/etc/local` is there an easy way? systemd.network(5) does not say anything
> about, that environment variables could be used.
>
> If that does not work, do you have another suggestion? Possible, but not
> nice, solutions, I came up with:

No, networkd has no support for that.

> 1.  Use a generator to create .network files from `/etc/local/mxhost.conf`.

Yes, that should be really easy to implement, i.e. just write a small
shell script, that sources that config files and outputs the .network
file into /run somewhere via a here document, and then run this script
during boot, and order it before networkd, so that the conversion is
completed on each boot, before networkd is run.

Lennart

--
Lennart Poettering, Berlin
_______________________________________________
systemd-devel mailing list
systemd-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/systemd-devel



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux