
Ich möchte es verwenden systemd-networkd
, um mein Netzwerk unter Ubuntu zu konfigurieren.
Ich habe eine /etc/systemd/network/host0.network
Datei hinzugefügt
[Match]
Name=host0
[Network]
Address=10.5.1.1/24
Gateway=10.5.1.254
um mein zu konfigurieren host0
:
# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: host0@if14428: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether d6:fa:2e:69:dd:30 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 169.254.229.86/16 brd 169.254.255.255 scope link host0
valid_lft forever preferred_lft forever
inet6 fe80::d4fa:2eff:fe69:dd30/64 scope link
valid_lft forever preferred_lft forever
Aber wie oben zu sehen ist, ist es 10.5.1.1
trotz Neustart systemd-networkd
, Aktivierung und Neustart nicht konfiguriert. Jedes Mal stammt die Adresse von APIPA (als ob es kein DHCP gäbe, das dort nicht konfiguriert ist).
An keiner anderen Stelle ist das Netzwerk konfiguriert (insbesondere in /etc/network/interfaces
, das leer ist).
Antwort1
Aushttps://coreos.com/os/docs/latest/network-config-with-networkd.html:
Debuggen manuell aktivieren
mkdir -p /etc/systemd/system/systemd-networkd.service.d/
Erstellen Sie ein Drop-In /etc/systemd/system/systemd-networkd.service.d/10-debug.conf
mit folgendem Inhalt:
[Service]
Environment=SYSTEMD_LOG_LEVEL=debug
Und starten Sie systemd-networkd
den Dienst neu:
systemctl daemon-reload
systemctl restart systemd-networkd
journalctl -b -u systemd-networkd
Antwort2
Wie debuggt man systemd-networkd?
Aktivieren Sie das Debug-Logging mitservice-log-level
Sie können nutzensystemctl
'Sservice-log-level
Befehl:
# set current log level of systemd-networkd.service to "debug":
systemctl service-log-level systemd-networkd.service debug
# syntax:
# systemctl service-log-level SERVICE [LEVEL]
# LEVEL:
# a value in the range 0…7
# or one of the strings emerg, alert, crit, err, warning, notice, info, debug
# check current log level of systemd-networkd.service by not specifying a level:
systemctl service-log-level systemd-networkd.service
systemd-networkd.service
Protokolle überwachen/einsehen
Tagebuchsystemd-networkd.service
Die spezifischen Protokolleinträge von können dann mit folgendem überwacht werden:
journalctl --unit=systemd-networkd.service --follow
# or short
journalctl -u systemd-networkd -f
BeispielTagebuchLogeinträge mit "systemd-networkd-Protokoll auf Debugebene" bei der Ausführung networkctl renew eth0
auf meinem System:
Sep 08 13:45:43 abdull systemd-networkd[572]: Got message type=method_call sender=:1.31 destination=org.freedesktop.network1 path=/org/freedesktop/network1 interface=org.freedesktop.network1.Manager member=RenewLink cookie=2 reply_cookie=0 signature=i error-name=n/a error-message=n/a
Sep 08 13:45:43 abdull systemd-networkd[572]: Sent message type=method_call sender=n/a destination=org.freedesktop.DBus path=/org/freedesktop/DBus interface=org.freedesktop.DBus member=GetConnectionUnixUser cookie=59 reply_cookie=0 signature=s error-name=n/a error-message=n/a
Sep 08 13:45:43 abdull systemd-networkd[572]: Got message type=method_return sender=org.freedesktop.DBus destination=:1.15 path=n/a interface=n/a member=n/a cookie=17 reply_cookie=59 signature=u error-name=n/a error-message=n/a
Sep 08 13:45:43 abdull systemd-networkd[572]: Sent message type=method_return sender=n/a destination=:1.31 path=n/a interface=n/a member=n/a cookie=60 reply_cookie=2 signature=n/a error-name=n/a error-message=n/a
Sep 08 13:45:43 abdull systemd-networkd[572]: DHCP CLIENT (0x359abcde): REQUEST (renewing)
Sep 08 13:45:43 abdull systemd-networkd[572]: DHCP CLIENT (0x359abcde): ACK
Sep 08 13:45:43 abdull systemd-networkd[572]: DHCP CLIENT (0x359abcde): lease expires in 59min 58s
Sep 08 13:45:43 abdull systemd-networkd[572]: DHCP CLIENT (0x359abcde): T2 expires in 49min 25s
Sep 08 13:45:43 abdull systemd-networkd[572]: DHCP CLIENT (0x359abcde): T1 expires in 26min 54s
Sep 08 13:45:43 abdull systemd-networkd[572]: eth0: State changed: configured -> configuring
Sep 08 13:45:43 abdull systemd-networkd[572]: Sent message type=signal sender=n/a destination=n/a path=/org/freedesktop/network1/link/_32 interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=61 reply_cookie=0 signature=sa{sv}as error-name=n/a error-message=n/a
Sep 08 13:45:43 abdull systemd-networkd[572]: eth0: Updating address: 10.0.3.165
Sep 08 13:45:43 abdull systemd-networkd[572]: eth0: Remembering updated address: 10.0.3.165/24 (valid for 1h)
Sep 08 13:45:43 abdull systemd-networkd[572]: eth0: link_check_ready(): static routes are not configured.
Sep 08 13:45:43 abdull systemd-networkd[572]: eth0: DHCP: No routes received from DHCP server: No data available
Sep 08 13:45:43 abdull systemd-networkd[572]: eth0: Configuring route: dst: 10.0.3.1/32, src: n/a, gw: n/a, prefsrc: 10.0.3.165, scope: link, table: main, proto: dhcp, type: unicast
Sep 08 13:45:43 abdull systemd-networkd[572]: eth0: Configuring route: dst: n/a, src: n/a, gw: 10.0.3.1, prefsrc: 10.0.3.165, scope: global, table: main, proto: dhcp, type: unicast
Sep 08 13:45:43 abdull systemd-networkd[572]: eth0: link_check_ready(): dhcp4:no dhcp6_addresses:no dhcp_routes:no dhcp_pd_addresses:no dhcp_pd_routes:no ndisc_addresses:yes ndisc_routes:yes
Sep 08 13:45:43 abdull systemd-networkd[572]: eth0: State changed: configuring -> configured
Sep 08 13:45:43 abdull systemd-networkd[572]: Sent message type=signal sender=n/a destination=n/a path=/org/freedesktop/network1/link/_32 interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=62 reply_cookie=0 signature=sa{sv}as error-name=n/a error-message=n/a
Während systemd-networkd.service
die Standardprotokollebene aktiviert ist , gibt es bei der Ausführung auf meinem System info
keine Protokolleinträge .networkctl renew eth0
Vergleich zwischenDas service-log-level
Lösung und dievorbeikommenLösung:
service-log-level |
vorbeikommen | |
---|---|---|
erfordert/impliziertsystemctl daemon-reload |
nein ✔️ | ja ❌ |
erfordert systemd-networkd.service Neustart |
nein ✔️ | ja ❌ |
Konfiguration bleibt bestehen nachsystemd-networkd.service |
nein ❌ | ja ✔️ |
Konfiguration bleibt nach dem Neustart des Computers bestehen | nein ❌ | ja ✔️ |
einfacher Oneliner zum Ein- und Ausschalten des Debuggens | ja ✔️ | nein ❌ |
Hinweis: Häkchen (✔️) und Strichzeichen (❌) zeigen erwünschte oder unerwünschte Eigenschaften an (je nach Kontext).
Antwort3
Die vorherigen Antworten sind großartig, um herauszufinden, was läuft und was nicht, und um den Dienst neu zu starten.
Ich würde hinzufügen (vonSo aktivieren Sie es, wenn es deaktiviert ist):
systemctl enable <your.service.here>
z.Bsystemd-networkd
Außerdem bin ich mir nicht sicher, was passt. Ich vermute etwas, da es in unter Name=host0
angezeigt wird . Aber die Verwendung eines Schnittstellennamens oder einer MAC-Adresse, wie sie in angezeigt wird, ist sicherer.2: host0@if14428
ip addr
ip link