diff --git a/HowtoSystemdNetworkd.md b/HowtoSystemdNetworkd.md new file mode 100644 index 00000000..7a505c97 --- /dev/null +++ b/HowtoSystemdNetworkd.md @@ -0,0 +1,129 @@ +--- +categories: system sysadmin systemd +title: Howto systemd-networkd +... + +* Manpages : + +`systemd-networkd` est un composant de [systemd](/HowtoSystemd.md) dédié à la configuration du réseau. + +## Installation + +Aucune action nécessaire, `systemd-networkd` (et les outils en cli comme `networkctl`) sont présent dans le packet systemd, déjà présent par défaut sur Debian. + +``` +# networkctl --version +systemd 252 (252.12-1~deb12u1) ++PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified + +# networkctl +WARNING: systemd-networkd is not running, output will be incomplete. + +IDX LINK TYPE OPERATIONAL SETUP + 1 lo loopback - unmanaged + 2 enp0s31f6 ether - unmanaged + 3 wwan0 wwan - unmanaged + 4 wlp4s0 wlan - unmanaged + +4 links listed. +``` + +## Configuration + +Il existe un fichier de configuration pour des options "globales" (`/etc/systemd/networkd.conf`), mais la configuration des réseaux et des liens se fait dans des fichiers dans `/etc/systemd/network/`. +Il existe trois types de configuration : + +* Fichiers en `*.network` > Configuration de réseaux +* Fichiers en `* .netdev` > Configuration d'interfaces virtuelles (bridge, bond, ...) +* Fichiers en `*.link` > Confiuration d'une interface à sa connexion (par udev) - En général, on n'en a pas besoin + + + +### Exemple : IP Statique + +Exemple de configuration. Une IP (v4 et v6) statique pour une interface réseau donnée, identifiée par son addresse MAC : + +``` +# cat /etc/systemd/network/wan.network +[Match] +MACAddress=52:54:00:00:00:00 + +[Network] +DHCP=no +Address=192.0.2.33/24 +Gateway=192.0.2.254 +Address=2001:db8::33/48 +Gateway=2001:db8::ffff +``` + +Résultat + +``` +# neworkctl +# networkctl +IDX LINK TYPE OPERATIONAL SETUP + 1 lo loopback carrier unmanaged + 2 ens3 ether routable configured + +2 links listed. + + +# networkctl status +● State: routable + Online state: online + Address: 192.0.2.33 on ens3 + 2001:db8::33 on ens3 + fe80::5054:ff:3615:3615 on ens3 + Gateway: 192.0.2.254 on ens3 + 2001:db8::ffff on ens3 + +Aug 03 14:42:32 hostname systemd-networkd[304]: lo: Link UP +Aug 03 14:42:32 hostname systemd-networkd[304]: lo: Gained carrier +Aug 03 14:42:32 hostname systemd-networkd[304]: Enumeration completed +Aug 03 14:42:32 hostname systemd-networkd[304]: ens3: Configuring with /etc/systemd/network/wan.network. +Aug 03 14:42:32 hostname systemd[1]: Started systemd-networkd.service - Network Configuration. +Aug 03 14:42:32 hostname systemd-networkd[304]: ens3: Link UP +Aug 03 14:42:32 hostname systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured... +Aug 03 14:42:33 hostname systemd-networkd[304]: ens3: Gained carrier +Aug 03 14:42:34 hostname systemd-networkd[304]: ens3: Gained IPv6LL +Aug 03 14:42:46 hostname systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured. + + +# networkctl status ens3 +● 2: ens3 + Link File: /usr/lib/systemd/network/99-default.link + Network File: /etc/systemd/network/wan.network + State: routable (configured) + Online state: online + Type: ether + Path: pci-0000:00:03.0 + Driver: virtio_net + Vendor: Red Hat, Inc. + Model: Virtio network device + Alternative Names: enp0s3 + Hardware Address: 52:54:00:00:00:00 + MTU: 1500 (min: 68, max: 65535) + QDisc: fq_codel + IPv6 Address Generation Mode: eui64 + Number of Queues (Tx/Rx): 1/1 + Auto negotiation: no + Address: 192.0.2.33 + 2001:db8::33 + fe80::5054:ff:3615:3615 + Gateway: 192.0.2.254 + 2001:db8::ffff + Activation Policy: up + Required For Online: yes + +Aug 03 14:41:32 hostname systemd-networkd[304]: ens3: Configuring with /etc/systemd/network/wan.network. +Aug 03 14:41:32 hostname systemd-networkd[304]: ens3: Link UP +Aug 03 14:41:33 hostname systemd-networkd[304]: ens3: Gained carrier +Aug 03 14:41:34 hostname systemd-networkd[304]: ens3: Gained IPv6LL +``` + + +## Administration + +## Plomberie + +## FAQ \ No newline at end of file