Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung | |||
fortgeschrittene:systemd-networkd-advanced [2024/08/10 09:13] ingo_wichmann |
— (aktuell) | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Netzwerkkonfiguration mit 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 enable --now 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]] | ||
- | |||
- | |||