Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
fortgeschrittene:systemd-networkd-advanced [2024/08/10 08:50] ingo_wichmann [systemd-resolved] |
— (aktuell) | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Netzwerkkonfiguration mit systemd ====== | ||
| - | Der große Vorteil ist: Distributions agnostisch | ||
| - | |||
| - | ===== systemd-networkd ===== | ||
| - | ===== Einfaches Beispiel .network ===== | ||
| - | mkdir /etc/systemd/network | ||
| - | | ||
| - | <file txt /etc/systemd/network/10-ens3.network> | ||
| - | [Match] | ||
| - | Name=ens3 | ||
| - | |||
| - | [Network] | ||
| - | DHCP=yes | ||
| - | </file> | ||
| - | |||
| - | systemctl start systemd-networkd | ||
| - | systemctl enable systemd-networkd | ||
| - | reboot | ||
| - | |||
| - | ===== Beispiel .link ===== | ||
| - | * herunterfahren | ||
| - | * Netzwerkkarte hinzufügen br0 (erscheint in der vm als ens8) | ||
| - | ==== MAC Adresse ändern ==== | ||
| - | <file txt /etc/systemd/network/10-ens8.link> | ||
| - | [Match] | ||
| - | #OriginalName=ens8 | ||
| - | MACAddress=52:54:00:04:02:00 | ||
| - | |||
| - | [Link] | ||
| - | MACAddress=00:24:7e:15:a3:c9 | ||
| - | </file> | ||
| - | |||
| - | Interface-Namen ändern | ||
| - | <file> | ||
| - | #NamePolicy= | ||
| - | #MACAddressPolicy= | ||
| - | |||
| - | [Link] | ||
| - | Name=intra0 | ||
| - | </file> | ||
| - | |||
| - | Der muss dann natürlich auch in der network Datei so eingetragen werden. | ||
| - | |||
| - | Hier ein Beispiel für statische Konfiguration | ||
| - | <file txt /etc/systemd/network/10-intra0.network> | ||
| - | [Match] | ||
| - | Name=intra0 | ||
| - | |||
| - | [Network] | ||
| - | Address=172.21.1.100/24 | ||
| - | Gateway=172.21.1.101 | ||
| - | #Domains=lux | ||
| - | #DNS=172.21.1.101 | ||
| - | </file> | ||
| - | (Die Namen der Files spielen keinerlei Rolle!) | ||
| - | |||
| - | systemctl restart systemd-networkd | ||
| - | |||
| - | ===== Bridging, Bonding, VLAN ==== | ||
| - | ==== bridge ==== | ||
| - | Device definieren | ||
| - | <file txt /etc/systemd/network/br0.netdev> | ||
| - | [NetDev] | ||
| - | Name=br0 | ||
| - | Kind=bridge | ||
| - | Description=routable LAN bridge | ||
| - | |||
| - | [Bridge] | ||
| - | HelloTimeSec=2 | ||
| - | MaxAgeSec=12 | ||
| - | ForwardDelaySec=0 | ||
| - | STP=no | ||
| - | </file> | ||
| - | |||
| - | Interface(s) "versklaven" | ||
| - | <file txt /etc/systemd/network/enp0s25.network> | ||
| - | [Match] | ||
| - | Name=enp0s25 | ||
| - | |||
| - | [Network] | ||
| - | Bridge=br0 | ||
| - | </file> | ||
| - | |||
| - | Netzwerkkonfiguration "Master" | ||
| - | <file txt /etc/systemd/network/br0.network> | ||
| - | [Match] | ||
| - | Name=br0 | ||
| - | |||
| - | [Network] | ||
| - | #DHCP=yes | ||
| - | |||
| - | Address=192.168.1.201/24 | ||
| - | Address=fd0a:cafe::909:201/64 | ||
| - | Gateway=192.168.1.5 | ||
| - | </file> | ||
| - | |||
| - | ==== bonding ==== | ||
| - | Device definieren | ||
| - | <file txt /etc/systemd/network/bond0.netdev> | ||
| - | [NetDev] | ||
| - | Name=bond0 | ||
| - | Kind=bond | ||
| - | Description=bonding if rr | ||
| - | |||
| - | [Bond] | ||
| - | Mode=balance-rr | ||
| - | </file> | ||
| - | |||
| - | Interface(s) "versklaven" | ||
| - | <file txt /etc/systemd/network/bond0-slaves.netdev> | ||
| - | [Match] | ||
| - | Name=vnet1 vnet2 | ||
| - | |||
| - | [Network] | ||
| - | Bond=bond0 | ||
| - | </file> | ||
| - | |||
| - | Netzwerkkonfiguration "Master" | ||
| - | <file txt /etc/systemd/network/bond0.network> | ||
| - | [Match] | ||
| - | Name=bond0 | ||
| - | |||
| - | [Network] | ||
| - | Address=172.20.20.20/24 | ||
| - | </file> | ||
| - | |||
| - | ==== VLAN ==== | ||
| - | Das Device muss definiert werden | ||
| - | <file txt /etc/systemd/network/br0.815.netdev> | ||
| - | [NetDev] | ||
| - | Name=br0.815 | ||
| - | Kind=vlan | ||
| - | |||
| - | [VLAN] | ||
| - | Id=815 | ||
| - | </file> | ||
| - | |||
| - | Das Device braucht eine Netzwerkkonfiguration | ||
| - | <file txt /etc/systemd/network/br0.815.network> | ||
| - | [Match] | ||
| - | Name=br0.815 | ||
| - | |||
| - | [Network] | ||
| - | Address=172.31.1.201/24 | ||
| - | </file> | ||
| - | |||
| - | Dem phys. Device müssen die Tags mitgeteilt werden | ||
| - | <file txt /etc/systemd/network/br0.network> | ||
| - | [Match] | ||
| - | Name=br0 | ||
| - | |||
| - | [Network] | ||
| - | #DHCP=yes | ||
| - | </file> | ||
| - | |||
| - | |||
| - | Immer wieder ;-) | ||
| - | systemctl reload-or-try-restart systemd-networkd.service | ||
| - | |||
| - | |||
| - | ==== Pattern ==== | ||
| - | Auch in der systemd-networkd Konfiguration lassen sich pattern verwenden, wie z.B. | ||
| - | <file txt /etc/systemd/network/00-bridge-ethernet.network> | ||
| - | [Match] | ||
| - | Name=en* eth* | ||
| - | |||
| - | [Network] | ||
| - | Bridge=br0 | ||
| - | </file> | ||
| - | |||
| - | D.h. Alles, was nach ethernet aussieht (en* eth*) kommt als "slave" in die Bridge br0 | ||
| - | |||
| - | ==== Koexistenz systemd-networkd und NetworkManager ==== | ||
| - | Man kann beides parallel betreiben, sollte dann aber dem nm mitteilen, dass er | ||
| - | die kabelgebundenen Interfaces in Ruhe lassen soll | ||
| - | <file txt /etc/NetworkManager/NetworkManager.conf> | ||
| - | [main] | ||
| - | no-auto-default=enp0s25,enp0s20u2u4,br0,br1,br2 | ||
| - | #unmanaged-devices=enp0s25,enp0s20u2u4,br0,br1,br2 | ||
| - | </file> | ||
| - | |||
| - | * ''unmanaged-devices'': fass es nicht an! | ||
| - | * ''no-auto-default'': mach keine Auto-Konfig | ||
| - | |||
| - | === Enterprise Linux 9.x === | ||
| - | <file txt /etc/NetworkManager/NetworkManager.conf> | ||
| - | [main] | ||
| - | plugins=keyfile,ifcfg-rh | ||
| - | |||
| - | [keyfile] | ||
| - | unmanaged-devices=interface-name:en* | ||
| - | </file> | ||
| - | ===== systemd-resolved ===== | ||
| - | [[systemd-resolved]] | ||
| - | |||
| - | |||