<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.xinux.net/index.php?action=history&amp;feed=atom&amp;title=Systemd_Baustein_Netzwerk</id>
	<title>Systemd Baustein Netzwerk - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://www.xinux.net/index.php?action=history&amp;feed=atom&amp;title=Systemd_Baustein_Netzwerk"/>
	<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Systemd_Baustein_Netzwerk&amp;action=history"/>
	<updated>2026-10-21T13:45:55Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://www.xinux.net/index.php?title=Systemd_Baustein_Netzwerk&amp;diff=73772&amp;oldid=prev</id>
		<title>Thomas.will: Neue Seite: Baustein Netzwerk (networkd, feste IP, DHCP, link, Bridge)</title>
		<link rel="alternate" type="text/html" href="https://www.xinux.net/index.php?title=Systemd_Baustein_Netzwerk&amp;diff=73772&amp;oldid=prev"/>
		<updated>2026-10-17T15:39:59Z</updated>

		<summary type="html">&lt;p&gt;Neue Seite: Baustein Netzwerk (networkd, feste IP, DHCP, link, Bridge)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Kategorie:systemd]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Baustein !! ab Stufe !! Lernpfad&lt;br /&gt;
|-&lt;br /&gt;
| '''Netzwerk''' || [[Systemd Stufe 2 Fortgeschritten|Stufe 2]] || [[Systemd Lernpfad|Übersicht]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Einfach erklärt=&lt;br /&gt;
*Unter Linux gibt es mehrere Programme, die das Netzwerk einrichten. Auf einem System darf immer nur '''eines''' eine Netzwerkkarte verwalten.&lt;br /&gt;
*'''systemd-networkd''' ist das Netzwerkprogramm von systemd. Es liest einfache Textdateien aus '''/etc/systemd/network/'''.&lt;br /&gt;
*Eine '''.network'''-Datei sagt: Für diese Karte gilt diese Adresse, dieses Gateway, dieser DNS-Server.&lt;br /&gt;
*Mit '''ip addr add''' gesetzte Adressen sind nach dem Neustart weg. Dauerhaft wird es erst über eine Konfigurationsdatei.&lt;br /&gt;
&lt;br /&gt;
=Wer verwaltet das Netz?=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Programm !! Konfiguration !! typisch bei&lt;br /&gt;
|-&lt;br /&gt;
| ifupdown (networking.service) || /etc/network/interfaces || Debian-Server&lt;br /&gt;
|-&lt;br /&gt;
| NetworkManager || nmcli, /etc/NetworkManager/ || Desktops, Rocky Linux&lt;br /&gt;
|-&lt;br /&gt;
| systemd-networkd || /etc/systemd/network/ || Server, Container, VMs, schlanke Systeme&lt;br /&gt;
|}&lt;br /&gt;
*Nachschauen, was läuft:&lt;br /&gt;
*systemctl is-active networking NetworkManager systemd-networkd&lt;br /&gt;
&lt;br /&gt;
=Das Wichtigste=&lt;br /&gt;
*Drei Dateitypen in /etc/systemd/network/:&lt;br /&gt;
**'''.network''': Adressen, Gateway, DNS, DHCP&lt;br /&gt;
**'''.link''': Name und Eigenschaften der Karte, z.B. umbenennen&lt;br /&gt;
**'''.netdev''': virtuelle Geräte wie Bridge, VLAN, Bond&lt;br /&gt;
*Die Dateien werden in '''alphabetischer''' Reihenfolge gelesen, die erste passende .network gewinnt. Deshalb beginnen die Namen mit Zahlen: 10-, 20-, …&lt;br /&gt;
*Die Schlüsselwörter sind '''englisch'''. [Network] und Address= funktionieren, [Netzwerk] und Adresse= ignoriert systemd.&lt;br /&gt;
*Für DNS gehört '''systemd-resolved''' dazu. Bei Debian 13 ist es ein eigenes Paket.&lt;br /&gt;
&lt;br /&gt;
=Umstieg auf systemd-networkd (Debian)=&lt;br /&gt;
*Am besten an der '''Konsole''' machen, nicht über ssh. Ein Fehler, und die Verbindung ist weg.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt install systemd-resolved&lt;br /&gt;
mv /etc/network/interfaces /etc/network/interfaces.save&lt;br /&gt;
systemctl disable networking&lt;br /&gt;
systemctl enable systemd-networkd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Dann die .network-Datei anlegen (siehe unten) und neu starten oder:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl stop networking&lt;br /&gt;
systemctl start systemd-networkd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Feste IP-Adresse=&lt;br /&gt;
*Erst den Namen der Karte herausfinden: '''ip -br link'''&lt;br /&gt;
*/etc/systemd/network/10-lan.network&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
Name=enp1s0&lt;br /&gt;
&lt;br /&gt;
[Network]&lt;br /&gt;
Address=10.0.12.201/24&lt;br /&gt;
Gateway=10.0.12.1&lt;br /&gt;
DNS=10.0.12.1&lt;br /&gt;
Domains=lab.lan&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*networkctl reload&lt;br /&gt;
*networkctl status enp1s0&lt;br /&gt;
&lt;br /&gt;
==Mehrere Adressen und Routen==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
Name=enp1s0&lt;br /&gt;
&lt;br /&gt;
[Network]&lt;br /&gt;
Address=10.0.12.201/24&lt;br /&gt;
Address=10.0.12.250/24&lt;br /&gt;
Gateway=10.0.12.1&lt;br /&gt;
DNS=10.0.12.1&lt;br /&gt;
&lt;br /&gt;
[Route]&lt;br /&gt;
Destination=192.168.100.0/24&lt;br /&gt;
Gateway=10.0.12.254&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=DHCP=&lt;br /&gt;
*/etc/systemd/network/20-dhcp.network&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
Name=en*&lt;br /&gt;
&lt;br /&gt;
[Network]&lt;br /&gt;
DHCP=yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''Name=en*''' passt auf alle kabelgebundenen Karten.&lt;br /&gt;
*'''DHCP=ipv4''' oder '''DHCP=ipv6''' für nur eine Version.&lt;br /&gt;
&lt;br /&gt;
=Anzeigen und prüfen=&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Befehl !! Wirkung&lt;br /&gt;
|-&lt;br /&gt;
| networkctl list || alle Karten und ob networkd sie verwaltet&lt;br /&gt;
|-&lt;br /&gt;
| networkctl status enp1s0 || Adressen, Gateway, DNS und die letzten Logzeilen&lt;br /&gt;
|-&lt;br /&gt;
| networkctl reload || geänderte Dateien neu einlesen&lt;br /&gt;
|-&lt;br /&gt;
| networkctl reconfigure enp1s0 || eine Karte neu konfigurieren&lt;br /&gt;
|-&lt;br /&gt;
| resolvectl status || welcher DNS-Server für welche Karte gilt&lt;br /&gt;
|-&lt;br /&gt;
| resolvectl query xinux.net || Namen auflösen über systemd-resolved&lt;br /&gt;
|-&lt;br /&gt;
| journalctl -u systemd-networkd -e || Fehler beim Einlesen der Dateien&lt;br /&gt;
|}&lt;br /&gt;
*networkctl list&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IDX LINK   TYPE     OPERATIONAL SETUP&lt;br /&gt;
  1 lo     loopback carrier     unmanaged&lt;br /&gt;
  2 enp1s0 ether    routable    configured&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''configured''' heißt: networkd verwaltet die Karte. '''unmanaged''': Keine .network-Datei passt.&lt;br /&gt;
&lt;br /&gt;
=Netzwerkkarte umbenennen=&lt;br /&gt;
*/etc/systemd/network/10-lan0.link&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
MACAddress=52:54:00:12:34:56&lt;br /&gt;
&lt;br /&gt;
[Link]&lt;br /&gt;
Name=lan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Die .link-Datei wird schon in der initramfs gebraucht, deshalb danach:&lt;br /&gt;
*update-initramfs -u&lt;br /&gt;
*Neustart nötig.&lt;br /&gt;
*Keine Namen wie '''eth0''' nehmen. Die vergibt auch der Kernel, und es kann zu Konflikten kommen.&lt;br /&gt;
&lt;br /&gt;
=Bridge für VMs=&lt;br /&gt;
*/etc/systemd/network/30-br0.netdev&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[NetDev]&lt;br /&gt;
Name=br0&lt;br /&gt;
Kind=bridge&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*/etc/systemd/network/30-br0-port.network&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
Name=enp1s0&lt;br /&gt;
&lt;br /&gt;
[Network]&lt;br /&gt;
Bridge=br0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*/etc/systemd/network/30-br0.network&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
Name=br0&lt;br /&gt;
&lt;br /&gt;
[Network]&lt;br /&gt;
Address=10.0.12.201/24&lt;br /&gt;
Gateway=10.0.12.1&lt;br /&gt;
DNS=10.0.12.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
*Die Adresse gehört jetzt an die Bridge, nicht mehr an die Karte.&lt;br /&gt;
&lt;br /&gt;
=Nur vorübergehend: ip=&lt;br /&gt;
*Für schnelle Tests, nach dem Neustart weg:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ip addr add 10.0.12.201/24 dev enp1s0&lt;br /&gt;
ip link set enp1s0 up&lt;br /&gt;
ip route add default via 10.0.12.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Stolperfallen=&lt;br /&gt;
*'''Deutsche Schlüsselwörter''' wie [Netzwerk] oder Adresse= werden still ignoriert. Im Journal steht dann ''Unknown section'' oder ''Unknown key''.&lt;br /&gt;
*'''Zwei Verwalter gleichzeitig''': ifupdown oder NetworkManager und networkd auf derselben Karte streiten sich. Nur einen aktiv lassen.&lt;br /&gt;
*'''Name passt nicht''': Ein Tippfehler in Name= macht die Karte '''unmanaged'''. networkctl list zeigt es.&lt;br /&gt;
*'''Über ssh umgestellt''' und ausgesperrt: Immer eine Konsole bereithalten, bei VMs die Konsole in Proxmox.&lt;br /&gt;
*'''DNS geht nicht''': Ohne systemd-resolved werden DNS= aus .network nicht benutzt. resolvectl status prüfen.&lt;br /&gt;
&lt;br /&gt;
=Aufgaben=&lt;br /&gt;
==Grundaufgaben==&lt;br /&gt;
#Finden Sie heraus, welches Programm auf Ihrem System das Netzwerk verwaltet.&lt;br /&gt;
#Setzen Sie mit ip addr add eine zusätzliche Adresse und prüfen Sie nach einem Neustart, ob sie noch da ist.&lt;br /&gt;
#Stellen Sie eine VM auf systemd-networkd mit fester Adresse um. Prüfen Sie mit networkctl status und ping.&lt;br /&gt;
#Stellen Sie dieselbe VM auf DHCP um.&lt;br /&gt;
#Prüfen Sie mit resolvectl status, welcher DNS-Server benutzt wird.&lt;br /&gt;
==Für Schnelle==&lt;br /&gt;
#Schreiben Sie absichtlich Address= als Adresse= und suchen Sie die Meldung im Journal.&lt;br /&gt;
#Benennen Sie die Netzwerkkarte per .link-Datei in lan0 um.&lt;br /&gt;
#Richten Sie eine Bridge br0 ein und hängen Sie die Karte daran.&lt;br /&gt;
&lt;br /&gt;
=Weiter=&lt;br /&gt;
*[[Systemd Lernpfad|Übersicht: Lernpfad systemd]]&lt;br /&gt;
*Alte Seiten: [[Systemd-networkd]] · [[Systemd link]]&lt;/div&gt;</summary>
		<author><name>Thomas.will</name></author>
	</entry>
</feed>