Moin
Systemd selber hat natürlich dazu keine Befehle, dafür ist das Paket "iproute2" zuständig, welches die alten nettools (u.a. auch die "if*"-Befehle) ersetzt. Damit kann man das prima lösen, sogar mit Hilfe systemd, indem man eine service-unit verwendet. Aber man kann das genausogut via Shell-Script oder Desktop-Starter oder einfach manuell im Terminal machen. Die Befehle sind immer die gleichen. Man muss nur darauf achten, dass es keine Konflikte mit einem dhcpcd-Daemon oder einem Networkmanager gibt, weil diese Daemons gerne auch mal der Ansicht sind "
alles meins".
Hier als Beispiel für die Service-Unit:
Code: Alles auswählen
[Unit]
Description=thlu:network_eth0.service: Start network connectivity (Interface=eth0)
After=basic.target
Before=network.target shutdown.target
Wants=network.target
Conflicts=shutdown.target
[Service]
Type=simple
RemainAfterExit=yes
ExecStartPre=/sbin/ip link set dev eth0 up
ExecStart=/sbin/ip addr add 10.100.100.37/24 dev eth0
ExecStop=/sbin/ip link set dev eth0 down
#ExecStartPre=/sbin/ip link set dev eth0 up
#ExecStart=/sbin/dhclient eth0
#ExecStop=/sbin/dhclient -r eth0
#ExecStopPost=/sbin/ip link set dev eth0 down
[Install]
WantedBy=multi-user.target
Wenn Du das mit DHCP-IPs regeln möchtest, kannst Du einfach die Exec*-Statements austauschen: