Manjaro Image - Netzwerkkonfiguration
-
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
-
Da fehlt doch was? Richtig - WLAN!
Treiber usw. -> https://forum.frank-mankel.org/topic/1035/wlan-auf-der-konsole-einrichten
systemd
/etc/systemd/network/40-wireless.network
[Match] Name=wlan0 [Network] DHCP=both
Ok, das war einfach Aber, wie übergebe ich jetzt die Konfiguration, also wpa_supplicant.conf ?
Das geht so
systemctl enable wpa_supplicant@wlan0.service
Zum Neustarten der Services
systemctl restart systemd-networkd.service systemctl restart wpa_supplicant@wlan0.service
Hmm, danach ging es bei mir nicht. Schauen wir nach.
[root@quartz64 ~]# systemctl status wpa_supplicant@wlan0 × wpa_supplicant@wlan0.service - WPA supplicant daemon (interface-specific version) Loaded: loaded (/usr/lib/systemd/system/wpa_supplicant@.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Sun 2021-10-10 18:34:59 CEST; 1min 20s ago Process: 518 ExecStart=/usr/bin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-wlan0.conf -iwlan0 (code=exited, status=255/EXCEPTION) Main PID: 518 (code=exited, status=255/EXCEPTION) CPU: 17ms Okt 10 18:34:58 quartz64 systemd[1]: Started WPA supplicant daemon (interface-specific version). Okt 10 18:34:59 quartz64 wpa_supplicant[518]: Successfully initialized wpa_supplicant Okt 10 18:34:59 quartz64 wpa_supplicant[518]: Failed to open config file '/etc/wpa_supplicant/wpa_supplicant-wlan0.conf', error: No such file o> Okt 10 18:34:59 quartz64 wpa_supplicant[518]: Failed to read or parse configuration '/etc/wpa_supplicant/wpa_supplicant-wlan0.conf'. Okt 10 18:34:59 quartz64 systemd[1]: wpa_supplicant@wlan0.service: Main process exited, code=exited, status=255/EXCEPTION Okt 10 18:34:59 quartz64 systemd[1]: wpa_supplicant@wlan0.service: Failed with result 'exit-code'.
Ok, das ist einfach.
cd /etc/wpa_supplicant mv wpa_supplicant.conf wpa_supplicant-wlan0.conf
Neustarten - Fertig!
Kontrolle
6: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether ac:83:f3:e6:1f:b2 brd ff:ff:ff:ff:ff:ff inet 192.168.178.24/24 metric 1024 brd 192.168.178.255 scope global dynamic wlan0 valid_lft 863966sec preferred_lft 863966sec inet6 2a02:908:1260:13a0:ae83:f3ff:fee6:1fb2/64 scope global dynamic mngtmpaddr noprefixroute valid_lft 7169sec preferred_lft 3569sec inet6 fe80::ae83:f3ff:fee6:1fb2/64 scope link valid_lft forever preferred_lft forever
-
-