Netzwerk

LAN  und WLAN – Konfiguration und Diagnose unter Linux

Das Netzwerk ist eine Komponente, die zur Kommunikation unter Rechnern eine große Rolle spielt. Es gibt im privatem Bereich meist ein LAN (Verkabeltes) oder WLAN (Funkverbindung – ohne Kabel) Normalerweise werden die Geräte von einer Distribution automatisch erkannt. Ich empfehle erst die Konfiguration des LANs zu veranlassen, auch wenn später vielleicht nur WLAN genutzt wird.

Bitte beachten: je nach verwendetem Init-System (systemd oder openrc) unterscheiden sich einige Befehle.

Steht die Verbindung vielleicht schon?

Führen Sie einen ping auf eine Internetadresse aus um zu testen, ob die Verbindung bereits funktioniert. Wenn Sie eine Antwort erhalten steht die Internetverbindung. Über netstat können Sie schauen, welche Seiten / Dienste momentan konnektiert werden- Hier verschiedene Internetseiten und die Verbindung zum Mailserver (imap) von 1&1

Ein DHCP-Server kann für die automatische Vergabe einer IP Adresse sorgen. Die automatische Vergabe der IP erfolgt meist direkt vom Router. Wenn die DHCP IP Vergabe im Router vermerkt ist sollte die IP Adresse automatisch zugordnet werden. , aber keine Verbindung besteht überprüfen Sie bitte, ob das DHCP Plugin ( net-misc/dhcpcd ) in Gentoo installiert und gestartet ist. Es ist wichtig, den DHCP-Client neu zu starten bei Änderungen an diesem Dies erfolgt über

 localhost ~ $ /etc/init.d/dhcpcd restart

oder einem Neustart des Rechners.

Unter systemd lautet der Befehl:

localhost /home/fridolin #systemctl start dhcpcd

Ein Test. ob die Verbindung aufgebaut werden kann und der Router oder Server die IP verteilt kann man über /etc/init.d/net.enp4s0 start testen. Der Adaptername net.enp4s0 muss evtl. angepasst werden.

localhost /home/fridolin # /etc/init.d/net.enp4s0 start
* Bringing up interface enp4s0
* Caching network module dependencies
need dbus
* config_enp4s0 not specified; defaulting to DHCP
* dhcp ...
* Running dhcpcd ...
sending commands to master dhcpcd process [ ok ]
* received address 192.168.178.20/24

Falls der automatische Start / die automatische Einrichtung nicht erfolgreich war, können folgende Schritte helfen den Fehler zu finden: Als erstes ist zu überprüfen, ob die Hardware bereits erkannt wurde. Über den Befehl:

michi@localhost ~ $  ip -a

werden alle Geräte aufgelistet, die erkannt wurden. Ausführliche Infos zum Befehl ip gibt es hier

[table id=1 /]

In der dmesg wird der Bootvorgang aufgezeichnet. Dort kann geschaut werden, welche Karte erkannt und welches Modul geladen wurde Es gibt in vielen Anleitungen die Angabe von net.eth0 für den Namen des Netzwerkadapters. Dies muss nicht unbedingt korrekt sein.  Es ist sinnvoll die Suche nach einer LAN Karte in der Aufzeichnung des #dmesg durchzuführen. Hier lautet der Name enp4s0 :

localhost /home/michi # dmesg | grep renamed
[ 9.258106] r8169 0000:04:00.0 enp4s0: renamed from eth0

localhost /home/michi # dmesg | grep Network
[ 4.614176] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
[ 4.665133] ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver - version 5.0.0-k
[ 4.667214] ixgb: Intel(R) PRO/10GbE Network Driver - version 1.0.135-k2-NAPI

Ist der Name bekannt muss ein Link von der lokalen Schnittstelle net.lo auf den Netzwerkadapter gesetzt werden :

michi@localhost ~ $ cd /etc/init.d
michi@localhost ~ $ su
Passwort eingeben: 
localhost # ln -sf net.lo net.enp4s0

Mittels rfkill können Adapter mit dem jeweiligen Status abgerufen werden. Ein eventuell blockierter Adapter kann wieder aktiviert werden. rfkill bietet verschiedene Optionen.  Eine Blockade kann durch den Befehl

localhost # rfkill list all

überprüft werden. Die Blockade kann durch

localhost # rfkill block wifi

bzw.

localhost # frkill unblock wifi

gesetzt oder gelöst werden. Die Bezeichnung wifi kann natürlich auch anders sein und muss ggf. angepasst werden. Beispiel:

0: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: no
1: tpacpi_bluetooth_sw: Bluetooth
	Soft blocked: no
	Hard blocked: no
2: tpacpi_wwan_sw: Wireless WAN
	Soft blocked: no
	Hard blocked: no
4: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no

Auswahl über die Gerätenummer

Alternativ kann man über die in der Ausgabe von rfkill list gezeigte Nummer das zu schaltende Funkgerät auswählen:

rfkill block   NUMMER    # ausschalten
rfkill unblock NUMMER    # einschalten

Um das WLAN aus dem obigen Beispiel auszuschalten, verwendet man also:

rfkill block 0

Ist der Fehler nicht gelöst kann der Router / das Modem zurück gesetzt werden. Das unterscheidet sich je nach Gerät. Tipp: Die häufig verwendete FritzBox bietet einen Reset per Telefon an: Rufen Sie einfach die Nummer  #991*15901590* an. Nach einiger Zeit , wenn die Box reagiert, fängt die Box Lampe an zu blinken. Es können 10-15 Sekunden vergehen. Der vollständige Reset dauert bis zu 2 Minuten. Danach ist die Box wieder auf die Werkseinstellungen zurück gesetzt und kann über fritz.box bzw. die dazugehörige IP-Adresse neu konfiguriert werden.

Eine Beispielanzeige der Netzkonfiguration bei genutztem VPN 

michi-kiste /home/michi # ip

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.178.25 netmask 255.255.255.0 broadcast 192.168.178.255
inet6 fe80::fab8:20f3:e44b:8a09 prefixlen 64 scopeid 0x20<link>
inet6 fd00::85e3:f698:d046:404e prefixlen 64 scopeid 0x0<global>
inet6 2a02:8122:1bf:c6f8:ffa8:a8d4:bb11:7ca prefixlen 64 scopeid 0x0<global>
ether a2:97:a2:55:53:be txqueuelen 1000 (Ethernet)
RX packets 18739 bytes 18255586 (17.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 13103 bytes 2021689 (1.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo:

 flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Lokale Schleife)
RX packets 60 bytes 4464 (4.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 60 bytes 4464 (4.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

tun0

: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 10.8.8.112 netmask 255.255.255.0 destination 10.8.8.112
inet6 fe80::1822:9957:71ff:e07a prefixlen 64 scopeid 0x20<link>
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 100 (UNSPEC)
RX packets 18657 bytes 18818795 (17.9 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 13003 bytes 1159029 (1.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

route -n

Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
0.0.0.0 10.8.8.1 0.0.0.0 UG 50 0 0 tun0
0.0.0.0 192.168.178.10 0.0.0.0 UG 100 0 0 eth0
5.254.80.163 192.168.178.10 255.255.255.255 UGH 100 0 0 eth0
10.8.8.0 0.0.0.0 255.255.255.0 U 50 0 0 tun0
192.168.178.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
192.168.178.10 0.0.0.0 255.255.255.255 UH 100 0 0 eth0

WLAN

Die Konfiguration der wpa Datei für die Verschlüsselung kann über ein Script einfach durchgeführt werden:

 localhost # wpa_passphrase | tee /etc/wpa_supplicant.conf

Nach Eingabe des Befehls einfach das Kennwort eingeben. Es wird über die Tastatureneingabe gelesen. Sie sehen nicht, was Sie schreiben.

Beispiel-Anzeige in der dmesg zum WLAN. Hier wurde erst 3x versucht eine Verbindung herstellen. Dies ist aufgrund fehlgeschlagener Authentifizierung nicht gelungen ( wlp2s0: authentication with c8:0e:15:95:8c:f1 timed out ) Dann war es erfolgreich.

localhost # dmesg
[ 2018.950586] IPv6: ADDRCONF(NETDEV_CHANGE): wlp2s0: link becomes ready
[ 2031.137058] wlp2s0: Connection to AP c8:0e:15:95:8c:f1 lost
[ 2032.253515] wlp2s0: authenticate with c8:0e:15:95:8c:f1
[ 2032.273308] wlp2s0: send auth to c8:0e:15:95:8c:f1 (try 1/3)
[ 2032.377160] wlp2s0: send auth to c8:0e:15:95:8c:f1 (try 2/3)
[ 2032.481190] wlp2s0: send auth to c8:0e:15:95:8c:f1 (try 3/3)
[ 2032.585162] wlp2s0: authentication with c8:0e:15:95:8c:f1 timed out
[ 2039.994239] wlp2s0: authenticate with c8:0e:15:95:8c:f1
[ 2040.013915] wlp2s0: send auth to c8:0e:15:95:8c:f1 (try 1/3)
[ 2040.016721] wlp2s0: authenticated
[ 2040.017590] wlp2s0: associate with c8:0e:15:95:8c:f1 (try 1/3)
[ 2040.022160] wlp2s0: RX AssocResp from c8:0e:15:95:8c:f1 (capab=0x31 status=0 aid=1)
[ 2040.022557] wlp2s0: associated

Ist das WLAN im Kernel aktiv?  In diesem Beispiel nicht : (is not set)

michi-kiste /home/michi # cat /usr/src/linux/.config | grep WLAN
# CONFIG_WLAN is not set

oder aktiviert:
localhost /home/fridolin # cat /usr/src/linux/.config | grep WLAN
CONFIG_WLAN=y
CONFIG_WLAN_VENDOR_ADMTEK=y
CONFIG_WLAN_VENDOR_ATH=y
CONFIG_WLAN_VENDOR_ATMEL=y
CONFIG_WLAN_VENDOR_BROADCOM=y
CONFIG_WLAN_VENDOR_CISCO=y
CONFIG_WLAN_VENDOR_INTEL=y
CONFIG_WLAN_VENDOR_INTERSIL=y
CONFIG_WLAN_VENDOR_MARVELL=y
CONFIG_WLAN_VENDOR_MEDIATEK=y
CONFIG_WLAN_VENDOR_RALINK=y
CONFIG_WLAN_VENDOR_REALTEK=y
CONFIG_WLAN_VENDOR_RSI=y
CONFIG_WLAN_VENDOR_ST=y
CONFIG_WLAN_VENDOR_TI=y
CONFIG_WLAN_VENDOR_ZYDAS=y
# CONFIG_USB_NET_RNDIS_WLAN is not set

Das grundlegende Gentoo-Wiki zum Netzwerkbereich  gibt es unter https://wiki.gentoo.org/wiki/Handbook:X86/Installation/Networking/de
Hinweis: diese Seite ist teilweise in Deutsch, teilweise  in englisch

Eine Seite mit guter Erläuterung der Konfigurationsdateien unter Linux allgemein:  http://www.linuxhaven.de/dlhp/HOWTO/DE-Netzwerk-HOWTO-4.html

systemctl start dhcpcd