Grundlagen
Begriffe
Switches: L2
Router: L3
Tx = Transmit (Senden, aus Sicht des Servers)
Rx = Receive (aus Sicht des Servers)
10.80.32.123:22
bedeutet „10.80.32.123, Port 22“10.80.32.123/22
bedeutet „10.80.32.123, mit Netzwerk-Präfix 22“Jumbo-Frames dürfen nur auf Interfaces aktiv sein, die nicht geroutet werden, da die Default Routing Size bei 1500 liegt.
ping
pingt standardmässig mit 56 Bytes Nutzdaten; 28 Bytes Headerdaten (IP/ICMP) kommen in jedem Fall hinzu, ergibt 84 Byte Grösse.ping -s 16384
testet, ob ein Host über Jumbo-Frames erreichbar ist (auch hier kommen noch 28 Byte Headerdaten hinzu).
Performance
Die theoretische, maximale Übertragungsrate in einem kabelgebundenen 1 Gbps-Netzwerk liegt bei rund 120 MByte/s. Eine 1 GB grosse Datei wäre so in ca. 9 Sekunden übertragen.
Faustregel (realistisch, und obendrein einfacher zum Rechnen):
100 Mbit/s Netzwerk = max. 10 MB/s Übertragungsrate
1 Gbps/s Netzwerk = max. 100 MB/s Übertragungsrate
10 Gbps/s Netzwerk = max. 1 GB/s Übertragungsrate
usw.
Netmask Cheat Sheet (IPv4)
Umrechnung der IPv4-Netzmaske und -Präfixe in Adressen:
PREFIX |
MASK |
#Hosts |
#Adresses |
---|---|---|---|
/32 |
255.255.255.255 |
1 |
1 |
/30 |
255.255.255.252 |
2 |
4 |
/29 |
255.255.255.248 |
6 |
8 |
/28 |
255.255.255.240 |
14 |
16 |
/27 |
255.255.255.224 |
30 |
32 |
/26 |
255.255.255.192 |
62 |
64 |
/25 |
255.255.255.128 |
126 |
128 |
/24 |
255.255.255.0 |
254 |
256 |
/23 |
255.255.254.0 |
510 |
512 |
/22 |
255.255.252.0 |
1022 |
1024 |
/21 |
255.255.248.0 |
2046 |
2048 |
/20 |
255.255.240.0 |
4094 |
4096 |
/19 |
255.255.224.0 |
8190 |
8192 |
/18 |
255.255.192.0 |
16382 |
16384 |
/17 |
255.255.128.0 |
32766 |
32768 |
/16 |
255.255.0.0 |
65534 |
65536 |
/15 |
255.254.0.0 |
||
/14 |
255.252.0.0 |
||
/13 |
255.248.0.0 |
Beispiel: 172.16.100.0/22 reicht von 172.16.100.1 bis 172.16.103.254 (Broadcast ist die 172.16.103.255)
Netzwerk in RHEL 7+
Seit RHEL 7 wird eine ganze Reihe an Netzwerk-Kommandos vereinheitlicht:
arp
ist jetztip neighbor
ifconfig
ist jetztip address
(abgekürztip a
)route
bzw.netstat -r
ist jetztip route
netstat -a
ist jetztss --all
(Socket Statistics)netstat -ntulp
ist jetztss -ntulp
Bei Bedarf lassen sich die althergebrachten Tools wie netstat
nachinstallieren:
dnf -y install net-tools
Predictable Network Interface Device Names
Netzwerkkarten heissen seit der Einführung von systemd
v197 nicht mehr eth0
, eth1
usw., sondern folgen einem erweiterten Benennungsschema. Ein Zwei-Zeichen-Präfix kennzeichnet den Interface-Typ:
en: ethernet
sl: serial line IP (slip)
wl: wlan
ww: wwan (Wireless WAN)
gefolgt von einem Namenstyp (Ermittlung durch udev
in dieser Reihenfolge):
o<index>: on-board device index number. Beispiel:
eno1
ist eine Onboard PCI Ethernet-Karte mit Firmware-Index 1.s<slot>[f<function>][d<dev_port>]: hotplug slot index number. Beispiel:
ens33
ist eine Hotplug Ethernet-Karte aus Slot 33.p<bus>s<slot>: Karte steckt geographisch gesehen im PCI- oder USB-Slot. Bei
enp2s0
handelt es sich also um eine Ethernet-Karte, deren physischer Aufenthaltsort der PCI-Bus 2 im Slot 0 ist.x<MAC>: MAC address ist im Namen enthalten. Beispiel
enx51234...
Das traditionelle Schema. Beispiel:
ens4f0
ist der erste Port („0“) auf einer PCI-Express Hotplug-Karte im Slot 4.
Der Gerätename darf maximal 15 Zeichen lang werden. Die NamePolicy
wird in /usr/lib/systemd/network/99-default.link
konfiguriert.
NetworkManager
In RHEL 7 ist der schon seit 2005 in Fedora verfügbare NetworkManager.service
der Standard-Netzwerkdienst, der Netzwerk-Interfaces und -Verbindungen anhand von D-Bus-Nachrichten dynamisch aktiv schalten kann, sobald sie verfügbar werden. Es gibt eine ganze Reihe an grafischen Tools, die ein Frontend zum NetworkManager.service
darstellen, wie nmtui
, nmcli
und nm-connection-editor
. Der Network-Manager beherrscht:
Auto-Detect möglicher Netzwerkinformationen
Unterbrechungsfreies Umschalten zwischen Verbindungen
Rückmeldung des Netzwerk-Status an Benutzer und Applikationen
Ohne Kommandozeilen-Interaktion lauffähig
Für einen Laptop mit WLAN, wechselnden Standorten, VPN-Tunneln, dynamischen IP-Adressen und Hardware eine feine Sache. Im Server-Umfeld mit statischen Netzwerkadressen, Minimalkonfiguration etc. eher unnötig - und bis RHEL 8 daher verzichtbar. Ab RHEL 9 ist der NetworkManager Pflicht.
- RHEL 8
Die klassischen
ifcfg
-Dateien werden bis RHEL 8 unterstützt. Der Service, der (schon immer) auf denifcfg
-Dateien aufgebaut hat, heisstnetwork.service
.Beide Dienste sind (in der Theorie) unabhängig voneinander, sorgen aber nebeneinander für Verwirrung. Ich empfehle bis RHEL 8 in einer produktiven Server-Umgebung die Deaktivierung des
NetworkManager.service
und die Arbeit mitnetwork.service
.Darauf achten, dass die benötigten Netzwerkkarten in ihren
/etc/sysconfig/network-scripts/ifcfg-*
-Dateien die EinstellungenNM_CONTROLLED=no
undONBOOT=yes
gesetzt haben.Dann einmalig:
systemctl stop NetworkManager.service && \ systemctl disable NetworkManager.service && \ systemctl mask NetworkManager.service && \ systemctl reboot
Danach genügt wie gewohnt nach einer Netzwerkonfigurationsänderung - auch in einer SSH-Session - ein simples:
systemctl restart network.service
Um den Network Manager nur für eine spezifische Netzwerkkarte zu deaktivieren, genügt der Eintrag
NM_CONTROLLED="no"
in der jeweiligen/etc/sysconfig/network-scripts/ifcfg-
-Datei.- RHEL 9
Mit Hilfe von
nmcli
der Netzwerkkarteens192
eine statische IP-Adresse zuweisen:nmcli connection show nmcli con mod ens192 ipv4.addresses "192.0.2.100/24" nmcli con mod ens192 ipv4.dns "1.0.0.1" nmcli con mod ens192 ipv4.gateway "192.0.2.1" nmcli con mod ens192 ipv4.method manual nmcli con mod ens192 connection.autoconnect yes nmcli con down ens192 && nmcli con up ens192
RHEL9 sagt dazu:
NetworkManager stores new network profiles in keyfile format in the /etc/NetworkManager/system-connections/ directory. Previously, NetworkManager stored network profiles in ifcfg format in this directory (/etc/sysconfig/network-scripts/). However, the ifcfg format is deprecated. By default, NetworkManager no longer creates new profiles in this format. Connection profiles in keyfile format have many benefits. For example, this format is INI file-based and can easily be parsed and generated. Each section in NetworkManager keyfiles corresponds to a NetworkManager setting name as described in the nm-settings(5) and nm-settings-keyfile(5) man pages. Each key-value-pair in a section is one of the properties listed in the settings specification of the man page. If you still use network profiles in ifcfg format, consider migrating them to keyfile format. To migrate all profiles at once, enter: # nmcli connection migrate This command migrates all profiles from ifcfg format to keyfile format and stores them in /etc/NetworkManager/system-connections/. Alternatively, to migrate only a specific profile, enter: # nmcli connection migrate <profile_name|UUID|D-Bus_path> For further details, see: * nm-settings-keyfile(5) * nmcli(1)
Hostname und hostid
Details zum Host ermitteln:
hostnamectl
Hostname setzen:
hostnamectl set-hostname srv.example.com
Nur für die aktuelle Session setzen (nicht empfohlen, kann bei einigen Skripten aber Wunder wirken):
hostname srv.example.com
/usr/bin/hostid
aus dem coreutils
-Package berechnet die Host-ID eines Linux-Systems anhand von dessen IP-Adresse (Beispiel 007f0100
). Linux-Maschinen mit mehreren IP-Adressen verfügen daher auch über mehrere Host-IDs, die bei Abfrage in abwechselnder (unter RHEL 6 noch in zufälliger) Reihenfolge zurückgeliefert werden. Wer daher eine statische, global eindeutige System-ID abfragen möchte, verwendet besser die UUID des Systems:
dnf -y install dmidecode
dmidecode --string system-uuid
Netzwerkkarten konfigurieren
Die Geschmäcker sind verschieden: es gibt wie immer mehrere Möglichkeiten, den Netzwerk-Stack zu konfigurieren.
in GNOME: mit dem
nm-connection-editor
Text User Interface (TUI) seit RHEL 7:
nmtui
Bash Netzwerk-Management-Kommando seit RHEL 7:
nmcli
direkt auf den Netzwerkdateien:
/etc/sysconfig/network-scripts/ifcfg-*
Minimalste Konfiguration für eine Netzwerkkarte mit DHCP, aber ohne Network-Manager und ohne IPv6:
BOOTPROTO=dhcp
DEVICE=ens32
HWADDR=...
IPV6INIT=no
ONBOOT=yes
TYPE=Ethernet
Minimale Netzwerkkonfiguration für eine Karte mit statischer IP-Adresse (GATEWAY
setzt auch die Default-Route; NM_CONTROLLED=no
nur auf Systemem setzen, die keinen NetworkManager.service aktiv haben):
BOOTPROTO=none
DEVICE=eth0
DNS1=192.0.2.2
DNS2=192.0.2.3
GATEWAY=192.0.2.253
HWADDR=...
IPADDR=192.0.2.74
IPV6INIT=no
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet
Bemerkung
UUID
oder HWADDR
(also MAC-Adresse)? UUID
wird nur durch den NetworkManager verwendet, um NICs zu identifizieren.
Netzwerkkarte mit zwei statischen IPv4-Adressen :
BOOTPROTO=none
DEVICE=eth0
DNS1=192.0.2.2
DNS2=9.9.9.9
IPADDR0=192.0.2.74
PREFIX0=24
GATEWAY0=192.0.2.254
IPADDR1=192.168.123.45
PREFIX1=24
GATEWAY1=192.168.123.1
HWADDR=...
NAME=ens32
ONBOOT=yes
TYPE=Ethernet
IPv6 mit zwei statischen IPv6-Adressen:
IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6ADDR=2001:db8:...
IPV6ADDR_SECONDARIES=2001:db8:...
IPV6_DEFAULTGW=2001:db8:...
DNS3=2001:db8:...
DNS4=2001:db8:...
Tipp
Ein Setup, bei der eine Maschine zwei Netzwerkkarten mit zwei verschiedenen IP-Adressen im gleichen Subnetz aufweist, ist definitiv nicht empfohlen.
Wurden Netzwerkeinstellungen in den Konfigurationsdateien geändert, müssen die betroffenen Netzwerkkarten neu gestartet werden:
cd /etc/sysconfig/network-scripts
ifdown ifcfg-ens32
ifup ifcfg-ens32
VLANs
So setzt man VLANs.
Auf Ebene Konfigurationsdatei besteht der Trick in der Benennung der Interfaces. Beispiel:
TYPE=Ethernet
BOOTPROTO=none
DEVICE=enp2s0
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=enp2s0.1000
DEVICE=enp2s0.1000
ONBOOT=yes
IPADDR=...
PREFIX=...
GATEWAY=...
DNS1=...
DNS2=...
VLAN=yes
So geht es über die Kommandozeile (vorher NetworkManager stoppen):
# Configure VLAN ID 38
ip link add link enp0s31f6 name enp0s31f6.38 type vlan id 38
ip addr add 192.0.2.206/24 brd 192.0.2.255 dev enp0s31f6.38
ip link set dev enp0s31f6.38 up
ip --details link show enp0s31f6.38
# Remove VLAN
ip link set dev enp0s31f6.38 down
ip link delete enp0s31f6.38
Tools
IP-Adresse per DHCP erneuern:
dhclient
Wie schnell ist die Netzwerkkarte angebunden?
ethtool eno1
Welchen Treiber verwendet die Karte eno1
?
ethtool --driver eno1
Netzwerkkarte auf Promiscuous Mode umstellen:
ip link set ens160 promisc on
Welche IP-Adressen sind gesetzt?
ip a
MTU auf 9000 (Jumbo Frames) setzen:
ip link set mtu 9000 dev ens6f0
TCP-Timestamps abschalten (wer Load Balancer etc. einsetzt, sollte darauf verzichten):
echo "net.ipv4.tcp_timestamps = 0" >> /etc/sysctl.conf
sysctl -p
netstat
ist seit langem veraltet („deprecated“); ersetzt wird es durch ss
(Socket Statistics). netstat
liest seine Informationen aus dem virtuellen Dateisystem unter /proc
aus, was es bei einer grossen Anzahl von Verbindungen langsam macht. ss
zeigt mehr Informationen als netstat
und arbeitet dabei auch noch schneller, da es seine Informationen direkt aus dem Kernel holt.
Alle Verbindungen auflisten:
ss | less
Nur TCP-Verbindungen anzeigen:
ss --tcp
Nur UDP-Verbindungen anzeigen (hier sollte man auch die lauschenden Prozesse einbeziehen, da UDP verbindungslos ist):
ss --udp --all
Host- und Servicenamen nicht auflösen:
ss --numeric
Zeige den Status aller TCP-Verbindungen:
ss --tcp --all --numeric
Zeige „listening“ TCP-Sockets:
ss --tcp --listening --numeric
Zeige auch die dabei involvierten Prozesse:
ss --tcp --listening --processes --numeric
Tipp
Wer in Echtzeit und „lesbar“ sehen möchte, wieviel über die Netzwerk-Interfaces gesendet und empfangen wird, kann sich das Tool iftop
aus dem EPEL-Repository installieren:
dnf -y install iftop
iftop
Verbindungen untersuchen und modifizieren, NAT-Informationen anzeigen usw. (Quelle):
dnf -y install conntrack-tools
# see content of all packet flows that the connection tracking subsystem has seen
sudo conntrack --dump
sudo conntrack --dump --proto tcp --src-nat
# add entries to the state table
sudo conntrack --create --src 192.168.7.10 --dst 10.1.1.1 --protonum 17 --timeout 120 --sport 12345 --dport 80
# update: changes the connmark of all tcp flows to 42
sudo conntrack --update --mark 42 --proto tcp
# delete entry
sudo conntrack --delete --proto udp --src 10.0.12.4 --dst 10.0.0.1 --sport 1234 --dport 53
# export statistics
sudo conntrack --stats
Outbound-Proxy setzen
export HTTP_PROXY=http://username:password@proxyhost:proxyport
export HTTPS_PROXY=http://username:password@proxyhost:proxyport
export RSYNC_PROXY=username:password@proxyhost:proxyport
Falls man nicht unter root arbeitet:
sudo --shell
export ...
Falls die Einstellungen einen Reboot überleben sollen:
Systemweit: Ablage in
/etc/profile.d/proxy.sh
Nur für Benutzer mit einem Shell-Login:
/etc/profile.d/proxy.sh
Nur für ausgewählte Benutzer:
nano ~/.bash_profile
Tracing / Tracking / Sniffing / Diagnose
httpry
HTTP-Verkehr spyen:
dnf -y install httpry
httpry -i any 'tcp port 80 or 8080'
Http-Trace mit Logfile:
httpry -i any ‚tcp port 80 or 8080 or 3128‘ -o /tmp/logfile -b /tmp/capture.pcap
Wer den Source Code von https://dumpsterventures.com/jason/httpry/ herunterlädt, findet im „scripts“-Ordner noch ein paar nützliche Perl-SKripte:
cd scripts
perl parse_log.pl -d ./plugins /tmp/logfile
tcpdump
Packet Sniffer installieren:
dnf -y install tcpdump
Lesen eines pcap-Dumpfiles:
tcpdump -qns 0 -X -r capture.pcap
Netzwerkverkehr mitschneiden:
tcpdump
tcpdump port 4242 and '(tcp-syn|tcp-ack)!=0'
Netzwerkverkehr ohne eigenen SSH-Verkehr mitschneiden:
tcpdump --interface eth1 --snapshot-length 1500 port not 22
Ohne DNS-Namensauflösung:
tcpdump --interface eth1 --snapshot-length 1500 port not 22 -n
Funktioniert z.B. ein stunnel?
# Terminal 1:
dnf -y install tcpdump nc
tcpdump port 60005 -n -vvv
# Terminal 2:
echo "blah" > nc localhost 60005
Klartext-Passwörter mitlesen:
tcpdump -l -A | grep -iE 'pass=|pwd=|log=|login=|user=|username=|pw=|passw=|passwd=|password=|pass:|user:|username:|password:|login:|pass |user ' --color=auto --line-buffered -B20
MTR
MTR vereint traceroute
(oder das schönere tracepath
) und ping
in einem Tool. Beim Start untersucht MTR die Netzwerkverbindung zwischen dem Host, auf dem MTR läuft, und dem angefragten Host, indem es Pakete mit absichtlich niedrigen TTLs sendet (beginnend bei 1). Es sendet im nächsten Schritt Pakete mit einer TTL von 2 und merkt sich die Reaktionszeit der dazwischen liegenden Router. Dadurch kann es den Antwortprozentsatz und die Antwortzeiten der Internetroute zum angefragten Host ausgeben. Die Ergebnisse werden normalerweise als Round-Trip-Response-Zeiten in Millisekunden und als Prozentsatz des Paketverlusts angegeben.
Sehr nützlich, da es auch die Autonomen Systeme (AS) auf dem Weg anzeigt.
dnf -y install mtr
mtr --aslookup --tcp --port 443 --report www.linuxfabrik.ch
Start: 2021-07-19T09:21:35+0200
HOST: linuxfabrik Loss% Snt Last Avg Best Wrst StDev
1. AS??? _gateway 0.0% 10 1.0 1.2 0.9 2.9 0.6
2. AS13030 790his1.fiber7.init 0.0% 10 1.8 1.9 1.3 2.8 0.5
3. AS13030 790his2.fiber7.init 0.0% 10 1.5 1.7 1.4 2.5 0.3
4. AS13030 790kus1.fiber7.init 0.0% 10 2.7 2.1 1.5 2.9 0.5
5. AS13030 790her1.fiber7.init 0.0% 10 1.8 1.8 1.5 2.9 0.4
6. AS13030 740mei1.fiber7.init 0.0% 10 3.3 2.0 1.5 3.3 0.6
7. AS13030 740rap1.fiber7.init 0.0% 10 2.1 2.1 1.9 2.6 0.2
8. AS13030 790ust2.fiber7.init 0.0% 10 3.1 2.9 2.2 5.7 1.0
9. AS13030 r1zrh12.core.init7. 0.0% 10 3.3 3.2 2.7 3.4 0.2
10. AS13030 r1stg4.core.init7.n 0.0% 10 3.2 3.2 2.7 3.8 0.4
11. AS13030 r1stg5.core.init7.n 0.0% 10 4.6 4.8 4.4 6.0 0.5
12. AS13030 r1stg2.core.nit7.ne 0.0% 10 4.9 4.7 4.3 5.1 0.3
13. AS13030 r1wil2.core.init7.n 0.0% 10 4.6 4.8 4.4 5.4 0.3
14. AS13030 r1win11.core.init7. 0.0% 10 5.1 4.7 4.3 5.1 0.2
15. AS13030 r1win12.core.init7. 0.0% 10 4.7 4.7 4.5 5.0 0.2
16. AS13030 r1zrh6.core.init7.n 0.0% 10 4.7 4.7 4.4 4.9 0.2
17. AS13030 r1glb1.core.init7.n 0.0% 10 4.2 8.6 4.2 43.8 12.4
18. AS13030 r2glb1.core.init7.n 0.0% 10 3.9 4.5 3.9 5.3 0.4
19. AS13030 r1glb2.core.init7.n 0.0% 10 4.1 4.5 4.1 5.1 0.3
20. AS13030 gw-green.init7.net 0.0% 10 4.3 4.2 3.6 5.2 0.5
21. AS1836 146.228.2.130 0.0% 10 5.4 7.4 4.8 19.1 4.5
22. AS1836 146.228.2.101 0.0% 10 4.5 6.5 4.1 14.5 3.5
23. AS1836 195.48.51.29 0.0% 10 4.4 4.5 4.1 5.8 0.5
24. AS204823 185.231.52.10 0.0% 10 4.2 4.4 4.1 4.6 0.2
Serverdienst mit ncat simulieren
Wer mal eben schnell einen Prozess benötigt, der testweise auf einem bestimmten Port lauscht, kann ncat
oder kurz nc
verwenden. Mit folgendem Aufruf lauscht nc
auf Port 80/tcp sowie 1234/udp und zeigt an, was bei ihm ankommt:
dnf -y install nmap-ncat
ncat -vvv --listen 80
ncat -vvv --udp --listen 1234
Intel-Netzwerktreiber für RHEL compilieren
Der Ablauf:
VER=5.13.4
dnf -y install kernel-devel
wget https://downloadmirror.intel.com/14687/eng/ixgbe-$VER.tar.gz
tar xzpf ixgbe-$VER.tar.gz cd ixgbe-$VER/src
make install
rmmod ixgbe
modprobe ixgbe
systemctl restart network
dracut --force
Firmware-Upgrade einer Netzwerkkarte am Beispiel Intel X550-T2
Treiber-Übersichtsseite: https://downloadcenter.intel.com/product/88209/Intel-Ethernet-Converged-Network-Adapter-X550-T2
Linux-Driver (nur bei Bedarf, sonst einfach die in CentOS vorhandenen ixgbe-Driver verwenden): https://downloadcenter.intel.com/download/14687/Ethernet-Intel-Network-Adapter-Driver-for-PCIe-Intel-10-Gigabit-Ethernet-Network-Connections-Under-Linux?product=88209
Auch wenn Firmware-Versionen 1.86, 1.93 und 2.00 verfügbar sind: die Karten werden Stand 202001 immer mit Firmware-Version 1.00 geliefert. Ein Firmware-Upgrade ist also anzuraten.
Die Intel-Firmware der Karte kann direkt unter CentOS geflasht werden. Download der Treiber direkt in das /root
-Verzeichnis.
Um das Upgrade durchzuführen, mit IPMI, iDRAC oder iLO (Konsole) verbinden (das nachfolgende Firmware-Upgrade besser nicht über SSH ausführen - auch wenn es schon oft geklappt hat):
cd /root
tar xvzf X550_NVMUpdatePackage*
cd /root/X550/Linux_x64
./nvmupdate64e
# X550-T2 auswählen (z.B. mit Eingabe von "01")
# back up the NVM images: yes
Troubleshooting
- Ping ergibt „Redirect Host(New nexthop: …)“, und die Maschine, von der aus gepingt wird, kann diverse Dienste im eigenen Netz nicht erreichen?
Kann an der zentralen Firewall liegen: Wenn diese zwei Subnetze über das gleiche physische Interface bedient, hilft eine Auftrennung der beiden logischen Netze auf einzelne physische Interfaces.
- Server-Interface mit VLAN startet nicht?
Vielleicht wurde ein früher deaktivierter NetworkManager aktualisiert und so wieder aktiviert, und ein
systemctl disable --now NetworkManager
hilft.- Am Beispiel einer Intel X550-T2
In oVirt wird sie unter RHEL 7.5 nicht angezeigt, und so lässt sich auch kein oVirt-Host einrichten. Funktioniert aber sonst direkt in RHEL tiptop. Wie vorgehen?
Per
lshw
mit einer funktionierenden Maschine verglichen. Unterschied: Treiber-Version vonixgbe
. Mit v4 funktionierts, mit v5 nicht.Google-Suche nach „ovirt ixgbe 7.5“ findet Bug Report: https://bugs.centos.org/view.php?id=15195&nbn=2#bugnotes
Firmware-Update könnte es sein: die Maschine wurde schon BIOS-seitig upgedatet.
Intel-Firmware der Karte kann per Linux geflasht werden. Download: https://downloadcenter.intel.com/download/24769/Ethernet-Non-Volatile-Memory-NVM-Update-Utility-for-Intel-Ethernet-Network-Adapter-710-Series?product=88209. Hinweis: Update besser über IPMI, iDRAC oder iLO ausführen, statt über SSH. Firmware-Update der Netzwerkkarte per
./nvmupdate64e
.
Geholfen hat es am Ende nicht: hinterher hat sich herausgestellt, dass es an einem Bug in der verwendeten oVirt-Version lag. :-)
- WLAN-Signal schlecht? Welcher Kanal bringt die beste Abdeckung?
Folgender Befehl listet alle erreichbaren WLANs und deren Eigenschaften auf:
nmcli -f ALL dev wifi
Daraus sucht man sich seine eigenen WLAN-BSSIDs heraus, ändert an seinem WLAN-Router die Channel-IDs sukzessive eine nach der anderen und beobachtet in einem Terminal-Fenster folgende Ausgabe (die Spalte
SIGNAL
bezeichnet die Signalgüte in Prozent - je höher, desto besser):while true; do ncmli -f CHAN,BSSID,SIGNAL,RATE,BARS dev wifi |grep 1C:24:CD...; sleep 3; done
Built on 2024-09-30