Ja, Manjaro mach einige Sachen anders, als ich das von Debian usw. gewohnt bin. Beim Testen einer PCIe Netzwerkkarte brauchte ich das jetzt. Kurz Dan gefragt, was die dafür benutzen.
Minimal edition uses systemd-networkd.
Ok, das wird vermutlich auch in Zukunft bei Debian passieren, wenn man da auch voll auf systemd setzt. Dann lohnt sich das, da jetzt schon mal reinzuschauen. Da Manjaro auf Arch Linux basiert, stößt man oft auf das Wiki von Arch. Das ist übrigens exzellent und man kann da auch immer wieder für andere Dinge reinschauen.
Hardware
Ich habe eine Intel-Karte mit zwei Schnittstellen hier rumliegen gehabt. Die letzte Änderung von Dan am Manjaro Image war das hier. Schnell mal danach gegoogelt und raus gefunden, das es um Intel Netzwerkkarten ging. Nun habe ich die Karte mal reingesteckt und festgestellt, ja das ist genau so eine Karte wie sie jetzt zum Manjaro Image hinzugefügt wurde
[root@quartz64 network]# lspci
00:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3568 Remote Signal Processor (rev 01)
01:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev ff)
01:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev ff)
Das sieht dann so aus
[root@quartz64 network]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1000
link/tunnel6 :: brd :: permaddr 2a04:d793:5b94::
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether e6:0a:32:f1:db:b2 brd ff:ff:ff:ff:ff:ff
inet 192.168.3.212/24 brd 192.168.3.255 scope global dynamic noprefixroute eth0
valid_lft 41413sec preferred_lft 36013sec
inet6 fd8a:6ff:2880:0:f1c2:2296:7639:4394/64 scope global mngtmpaddr noprefixroute
valid_lft forever preferred_lft forever
inet6 2a02:908:1260:13bc:8b5f:xxxx:xxxx:xxxx/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 6391sec preferred_lft 2791sec
inet6 fe80::c076:15ed:1479:4e90/64 scope link
valid_lft forever preferred_lft forever
4: enp1s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 6c:b3:11:1c:18:28 brd ff:ff:ff:ff:ff:ff
5: enp1s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 6c:b3:11:1c:18:29 brd ff:ff:ff:ff:ff:ff
Software
[root@quartz64 network]# uname -a
Linux quartz64 5.15.0-rc1-0.3-MANJARO-ARM #1 SMP PREEMPT Thu Oct 7 06:08:24 UTC 2021 aarch64 GNU/Linux
systemd
Der Dienst hört auf den Namen
systemd-networkd.service
Hier mal der Status
[root@quartz64 network]# systemctl status systemd-networkd.service
● systemd-networkd.service - Network Configuration
Loaded: loaded (/usr/lib/systemd/system/systemd-networkd.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2021-10-10 12:15:54 CEST; 16min ago
TriggeredBy: ● systemd-networkd.socket
Docs: man:systemd-networkd.service(8)
Main PID: 346 (systemd-network)
Status: "Processing requests..."
Tasks: 1 (limit: 4216)
Memory: 3.2M
CPU: 205ms
CGroup: /system.slice/systemd-networkd.service
└─346 /usr/lib/systemd/systemd-networkd
Okt 10 12:16:01 quartz64 systemd-networkd[346]: enp1s0f1: Gained IPv6LL
Okt 10 12:20:11 quartz64 systemd-networkd[346]: enp1s0f1: Lost carrier
Okt 10 12:20:15 quartz64 systemd-networkd[346]: enp1s0f0: Gained carrier
Okt 10 12:20:17 quartz64 systemd-networkd[346]: enp1s0f0: Gained IPv6LL
Okt 10 12:20:17 quartz64 systemd-networkd[346]: enp1s0f0: Could not acquire DHCPv6 lease on NDisc request: Address already in use
Okt 10 12:20:17 quartz64 systemd-networkd[346]: enp1s0f0: Failed
Okt 10 12:31:59 quartz64 systemd-networkd[346]: enp1s0f0: Lost carrier
Okt 10 12:32:03 quartz64 systemd-networkd[346]: enp1s0f1: Gained carrier
Okt 10 12:32:05 quartz64 systemd-networkd[346]: enp1s0f1: Gained IPv6LL
Okt 10 12:32:28 quartz64 systemd-networkd[346]: enp1s0f1: Lost carrier
Ok, eine ganze Stunde später und viel Testerei, stelle ich fest das der Dienst dhcpcd abgeschaltet werden muss. Der Dienst ist der DHCP Client, und der bezieht die ganze Zeit IPv4 und IPv6 Adressen, egal was ich mit systemd.network konfiguriere.
systemctl disable dhcpcd
Erst danach hatte ich mittels systemd-network die volle Kontrolle.
Konfiguration systemd.network
In /etc/systemd/network/ kommen die Konfigurationsdateien. Für mein Beispiel, sieht das so aus.
[root@quartz64 ~]# ls -lha /etc/systemd/network/
insgesamt 20K
drwxr-xr-x 2 root root 4,0K 10. Okt 13:08 .
drwxr-xr-x 5 root root 4,0K 9. Okt 11:02 ..
-rw-r--r-- 1 root root 49 10. Okt 14:21 10-wired.network
-rw-r--r-- 1 root root 115 10. Okt 14:18 20-wired.network
-rw-r--r-- 1 root root 72 10. Okt 14:31 30-wired.network
10-wired.network
[Match]
Name=eth0
[Network]
DHCP=both
Metric=10
20-wired.network
[Match]
Name=enp1s0f0
[Network]
IPv6AcceptRA=false
Address=10.1.10.9/24
Gateway=10.1.10.1
DNS=10.1.10.1
Metric=20
30-wired.network
[Match]
Name=enp1s0f1
[Network]
IPv6AcceptRA=false
DHCP=ipv4
Metric=30
Ergebnis
[root@quartz64 network]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1000
link/tunnel6 :: brd :: permaddr 637:3065:f3e2::
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether e6:0a:32:f1:db:b2 brd ff:ff:ff:ff:ff:ff
inet 192.168.3.214/24 metric 1024 brd 192.168.3.255 scope global dynamic eth0
valid_lft 41555sec preferred_lft 41555sec
inet6 fd8a:6ff:2880:0:e40a:32ff:fef1:dbb2/64 scope global mngtmpaddr noprefixroute
valid_lft forever preferred_lft forever
inet6 2a02:908:1260:13bc:e40a:32ff:fef1:dbb2/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 5543sec preferred_lft 1943sec
inet6 fe80::e40a:32ff:fef1:dbb2/64 scope link
valid_lft forever preferred_lft forever
4: enp1s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 6c:b3:11:1c:18:28 brd ff:ff:ff:ff:ff:ff
inet 10.1.10.9/24 brd 10.1.10.255 scope global enp1s0f0
valid_lft forever preferred_lft forever
inet6 fe80::6eb3:11ff:fe1c:1828/64 scope link
valid_lft forever preferred_lft forever
5: enp1s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 6c:b3:11:1c:18:29 brd ff:ff:ff:ff:ff:ff
inet 192.168.3.208/24 metric 1024 brd 192.168.3.255 scope global dynamic enp1s0f1
valid_lft 43194sec preferred_lft 43194sec
inet6 fe80::6eb3:11ff:fe1c:1829/64 scope link
valid_lft forever preferred_lft forever