Lesezeit ca. 14 Min.
arrow_back

Nicht nur für Profis :Netzwerktipps für die Konsole


Logo von PC Welt
PC Welt - epaper ⋅ Ausgabe 6/2022 vom 06.05.2022

Linux-Tipps

Tunnel: Auch unterwegs erreichbar

Nicht nur in Zeiten längerer Phasen von improvisierten Arbeitsplätzen stellt sich beim Betrieb eines Servers hinter Routern mit NAT und Firewalls die Frage: Wie komme ich von außen auf den Server? Klar, über eine Portweiterleitung auf dem Router und einen dynamischen Domainnamen.

Hierzu sind allerdings Admin-Rechte auf dem Router erforderlich. In schwierigen Fällen und bei wechselnden Netzwerken hilft ein umgekehrter SSH-Tunnel. Mit einem umgekehrten SSH-Tunnel macht sich ein beliebiges Linux-System mit wechselnder IP-Adresse auch hinter Firewall und NAT per SSH über einen weiteren Linux-Server erreichbar, der eine feste IP oder einen Hostnamen im Internet hat. Das kann auch ein kleiner Server in der Cloud oder zu Hause hinter einer Portweiterleitung sein. Hauptsache, der Rechner ist jederzeit mittels SSH erreichbar und nicht zu langsam angebunden. In ...

Artikelbild für den Artikel "Nicht nur für Profis :Netzwerktipps für die Konsole" aus der Ausgabe 6/2022 von PC Welt. Dieses epaper sofort kaufen oder online lesen mit der Zeitschriften-Flatrate United Kiosk NEWS.

Bildquelle: PC Welt, Ausgabe 6/2022

SSH-Server für die Portweiterleitung bereit machen: Die Standardkonfiguration von Open SSH verlangt nach dieser kleinen Änderung sowie nach dem Neustart des SSH-Dienstes.
Weiterlesen
epaper-Einzelheft 3,49€
NEWS Jetzt gratis testen
Bereits gekauft?Anmelden & Lesen
Leseprobe: Abdruck mit freundlicher Genehmigung von PC Welt. Alle Rechte vorbehalten.
Lesen Sie jetzt diesen Artikel und viele weitere spannende Reportagen, Interviews, Hintergrundberichte, Kommentare und mehr aus über 1050 Magazinen und Zeitungen. Mit der Zeitschriften-Flatrate NEWS von United Kiosk können Sie nicht nur in den aktuellen Ausgaben, sondern auch in Sonderheften und im umfassenden Archiv der Titel stöbern und nach Ihren Themen und Interessensgebieten suchen. Neben der großen Auswahl und dem einfachen Zugriff auf das aktuelle Wissen der Welt profitieren Sie unter anderem von diesen fünf Vorteilen:

  • Schwerpunkt auf deutschsprachige Magazine
  • Papier sparen & Umwelt schonen
  • Nur bei uns: Leselisten (wie Playlists)
  • Zertifizierte Sicherheit
  • Freundlicher Service
Erfahren Sie hier mehr über United Kiosk NEWS.

Mehr aus dieser Ausgabe

Titelbild der Ausgabe 6/2022 von Twitter als teures Hobby. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Twitter als teures Hobby
Titelbild der Ausgabe 6/2022 von EU will die Internetriesen regulieren. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
EU will die Internetriesen regulieren
Titelbild der Ausgabe 6/2022 von Kommentar: Elektronikmarkt Conrad schließt seine Filialen. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Kommentar: Elektronikmarkt Conrad schließt seine Filialen
Titelbild der Ausgabe 6/2022 von Technikinfos versteckt im neuen Energielabel. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Technikinfos versteckt im neuen Energielabel
Mehr Lesetipps
Blättern im Magazin
Tipps für das Dateimanagement
Vorheriger Artikel
Tipps für das Dateimanagement
So holen Sie mehr aus dem Cinnamon- Desktop heraus
Nächster Artikel
So holen Sie mehr aus dem Cinnamon- Desktop heraus
Mehr Lesetipps

... dieser kurzen Anleitung heißt diese Maschine ihrer Rolle gemäß „Relais“, weil sie als Zwischenstation dient.

http://Relais:8080 erreichbar (Webserver) und mit SSH wie folgt: ssh -p 2222 Relais Dies funktioniert, solange die SSH-Verbindung vom lokalen Rechner zum Relais steht.

Fehlersuche: Schlagen Verbindungsversuche fehl, sollten Sie zuerst kontrollieren, ob die verwendeten Ports, hier 8080 und 2222, auf dem Server über die Firewall oder iptables-Regeln geblockt sind. Auf cloudbasierten Servern, etwa bei Microsoft Azure, sind dazu in der Administrationsoberfläche noch zusätzliche Handgriffe auf Netzwerkebene erforderlich. Bei Azure findet sich in einer VM dazu der Menüpunkt „Netzwerk –› Regel für eingehenden Port hinzufügen“. Auf dem Relais muss der weitergeleitete Port, hier 8080 oder 2222, vor dem Aufbau des Tunnels noch frei sein. -dw

Screen: Treffen auf der Kommandozeile

Support leicht gemacht: Das bekannte Tool Screen zum Start von Hintergrund-Shells bietet ebenfalls eine Möglichkeit zur Zusammenarbeit mit anderen Benutzern eines Linux-Systems – auf der Kommandozeile. Administratoren können sich auf einem Linux-Server über SSH anmelden und per Screen in der Shell andere Anwender treffen, um dort gemeinsam Probleme zu lösen oder Konsolentipps zu demonstrieren.

So funktioniert es: 1. Der Anwender, der die gemeinsame Screen-Sitzung startet, benötigt root-Berechtigungen per sudo-Befehl, um sich mit dem Kommando sudo su [User2] zu dem Benutzer zu machen, mit dem die Screen-Sitzung geteilt werden soll. 2. Die beiden Befehle screen -d -m -S Meeting screen -S Meeting -X multiuser on erstellen jetzt eine Mehrbenutzer-Sitzung mit dem Namen „Meeting“. 3. Dann können sich beide Benutzer in die laufende Hintergrundsitzung jeweils mit dem Kommando screen -x Meeting verbinden. Tastatureingaben und Befehlsausgaben in diesem Terminal erfolgen jeweils simultan.

Mithilfe der Tastenkombination Strg-D beenden beide Anwender diese Shell wieder. -dw

Youtube - dl: Die neueste Version

Das Kommandozeilenprogramm Youtube-dl ist unter Linux das richtige Werkzeug, um Videos oder ganze Kanäle von Youtube herunterzuladen. Die Struktur der Youtube-Webseite ändert sich allerdings häufiger, und ältere Versionen von Youtube-dl, wie sie in den Paketquellen zahlreicher Distributionen liegen, funktionieren nicht mehr.

Um mit den Änderungen auf www.youtube.com mitzuhalten, liefern die Entwickler des Tools Youtube-dl auf ihrer Github-Webseite (https://github.com/ ytdl-org/youtube-dl) mehrmals im Monat eine neue Version aus. Es ist nicht sinnvoll, Youtube-dl überhaupt erst aus den Paketquellen einer Distribution zu installieren. Zur Vereinfachung des Downloads gibt es einen Link unter https://yt-dl. org/downloads/latest/youtubedl, der immer auf die neueste Version verweist. Das nachfolgende Kommando legt die Datei, bei der es sich um ein längeres Python-Script handelt (1,6 MB), als „youtube-dl“ im aktuellen Verzeichnis ab: wget https://yt-dl.org/ downloads/latest/ youtube-dl Die Entwickler sind vertrauenswürdig, aber um die Datei dennoch auf Malware zu überprüfen, kann man sie auf https:// www.virustotal.com zu einem Check hochladen. Ist alles inOrdnung, macht im Anschluss daran das Kommando chmod +x youtube-dl das Script ausführbar und ./youtube-dl https://www. youtube.com/ watch?v=[ID] lädt ein Video mit der angegebenen Youtube-ID herunter, das in eine MKV-Datei konvertiert wird. Wenn Youtube-dl allen Benutzern des Systems zur Verfügung stehen soll, dann kopiert der Befehl sudo cp youtube-dl /usr/ local/bin/youtube-dl das Script in das vorgesehene Verzeichnis im Dateisystem. -dw

Solides SSH: Automatisch im Multiplexer

Bei wackeligen Internetverbindungen bleibt eine SSH-Sitzung zu Servern gern mal stehen und das dort gestartete Programm in der Shell hängt ebenso. Ein Prozess kommt dann eventuell dauerhaft nicht zum Abschluss.

Dagegen ist ein Kraut gewachsen: Terminal-Multiplexer wie Screen starten eine Shell, die auch eine Abmeldung überlebt.

Nach einer erneuten SSH-Anmeldung können sich Anwender mit der im Hintergrund weiterlaufenden Shell verbinden und weiterarbeiten. Mit Screen funktioniert das beispielsweise mit dem Aufruf „screen mc“, der den Midnight Commander in eine Screen-Session packt.

Falls die Verbindung abbricht, kann der Befehl „screen -x“ diese Session nach einer Neuanmeldung zurückholen. Deren Prozesse, wie zum Beispiel längere Dateioperationen, bleiben währenddessen aktiv.

Nun gibt es das Problem, dass kein Admin immer weise vo-

rausblickend daran denkt, seine SSH-Session auf dem Zielserver in eine Screen-oder Tmux-Session zu verfrachten, bevor eine Verbindung zusammenbricht.

Für besonders wichtige Linux-Server kann man daher in der Datei „~/.bashrc“ eine Konfiguration hinterlegen, die eine eingehende SSH-Verbindung per Standard in Screen packt. Dazu dient diese Zeile: if [[ -z "$STY" && ( -n "$SSH_CLIENT" || -n "$SSH_TTY" ) ]]; then screen -RR; fi Screen wird nur aktiv, wenn es sich um eine SSH-Verbindung handelt, und verbindet sich bei der nächsten Anmeldung auch gleich mit der noch laufenden Screen-Session. Mehrfachanmeldungen sind dabei möglich und starten jeweils eine eigene Screen-Session. Die Abmeldung mit Strg-D muss immer zweimal erfolgen, um zunächst Screen und danach SSH zu beenden. Außerdem begrüßt die Shell den Anwender mit der Meldung „New screen…“, die nach einem Druck auf die Leertaste oder nach einigen Sekunden verschwindet. -dw

Netzwerk: Ping auf einen Port

Nicht alle Server antworten auf Ping mit einem ICMP-Echo. So verwerfen beispielsweise die allermeisten Router eingehende ICMP-Requests (Pings) mittels Firewall-Regel.

Auch Server in der Cloud sind per Standardeinstellung oftmals nicht über Ping erreichbar. Es gibt dennoch mehrere Möglichkeiten, von einem

Dienst hinter einem offenen Port eine Antwort zu erhalten.

Die Holzhammer-Methode wäre ein Portscan mit dem Kommandozeilentool Nmap gegen den Server.

Das Tool klopft hierbei sämtliche Standardports der üblichen Serverdienste ab (rund tausend bekannte Dienste). Ein solcher Portscan sieht aber immer nacheinem Angriff aus und dauert darüber hinaus relativ lange.

Wenn es darum geht, kurz und knapp abzufragen, ob ein Webserver online ist, dann ist eine gezielte Abfrage der Ports 80 (HTTP), 443 (HTTPS) oder auch 22 (SSH) die bessere Methode.

Es bieten sich dazu verschiedene Tools an. 1. Nmap: Der Portscanner muss nicht sämtliche bekannte Dienste abfragen, sondern kann auch gezielt einzelne Ports testen, was wesentlich schneller ist. Um zu sehen, ob ein Webserver läuft, spezifiziert der Befehl nmap -p 80 www.pcwelt.de den einzelnen Port 80, in diesem Beispiel auf www.pcwelt.de als Ziel. Genauso kann hier 443, 22 oder eine andere Nummer angegeben werden – oder auch mehrere: nmap -p 80,443,22 www. pcwelt.de Ist der Server online und einer dieser Ports geöffnet, gibt ihn Nmap als „open“ an. 2. Netcat: Das ist der eleganteste Weg, um einen Dienst abzufragen. Netcat ist ein sehr einfacher Client für die Netzwerkprotokolle TCP sowie UDP und hat sich als Schweizer Taschenmesser für Netzwerkaufgaben einen

Namen gemacht. Die Abfrage von Port 80 gelingt beispielsweise mit diesem Befehl: nc -vz www.pcwelt.de 80

Auch hier erfolgt als Antwort „open“, falls der Port geöffnet ist. Netcat ist nicht auf allen Distributionen vorinstalliert, ist jedoch aus den Standard-Paketquellen in Debian/Ubuntu mit sudo apt-get install netcat schnell nachinstalliert. 3. Telnet: Telnet ist eines der dienstältesten Programme für Client-Server-Verbindungen über TCP, allerdings heutzutage wegen fehlender Authentifizierung und Verschlüsselung kaum noch gebräuchlich. Der Vollständigkeit halber soll hier aber auch Telnet erwähnt sein, zumal es auf vielen Systemen vorinstalliert ist. Das Kommando telnet www.pcwelt.de 80 versucht, eine Verbindung zum Server www.pcwelt.de auf Port 80 zu öffnen. Sobald dies gelingt, gibt Telnet „Connected to“ zurück und öffnet eine eigene Shell, die aber nicht weiter benötigt wird. Die Tastenkombination Strg-] schließt die Verbindung. Auf der deutschen Tastatur erreichen Sie den Hotkey mit Strg-AltGr-9. „quit“ beendet Telnet. -dw

Netzwerk: FTPS als Laufwerk einbinden

Das unverschlüsselte FTP-Protokoll ist zu Recht vom Aussterben bedroht, denn in öffentlichen Netzen ist die Übertragung von Zugangsdaten im Klartext einfach zu unsicher. Von einigen Webhostern und Cloudanbietern wird aber FTPS angeboten – eine sichere und TLS-verschlüsselte Variante zu FTP.

Um eine beliebte Verwechslung vorab zu vermeiden: Während SFTP das Übertragungsprotokoll von SSH ist, liegt das hier besprochene FTPS in der nahen Verwandtschaft von FTP, allerdings mit TLS-Erweiterung zur sicheren Verschlüsselung. Unter Linux unterstützt das Programm Filezilla FTPS und in der Kommandozeile gibt es das Tool lftp zur Dateiübertragung über dieses Protokoll.

Noch besser: Über die Shell besteht auch die Möglichkeit, eine FTPS-Verbindung so einzuhängen, als wäre diese ein lokales Laufwerk. Über diesen Weg können dann nahezu alle Programme unter Linux (Terminal und Desktop) auf die Dateien des FTPS-Servers zugreifen. Damit die Verbindung als Laufwerk erscheint, kommt die Kernel-Komponente Fuse zu Hilfe, die reale und virtuelle Dateisysteme abbilden kann, keine root-Privilegien benötigt und sich ähnlich verhält wie der Mountbefehl.

Die benötigte Fuse-Erweiterung für FTPS ist unter Ubuntu, Debian, Open Suse und Fedora im Paket „curlftpfs“ verfügbar, das über die Paketmanager der verwendeten Distribution schnell installiert ist – in Debian/Ubuntu mit diesem Befehl: sudo apt-get install curlftpfs Das Tool verlangt außer der Adresse des FTPS-Servers nur noch einen lokalen Ordner als Mountpunkt, wie zum Beispiel den Ordner „~/ftps“ im eigenen Home-Verzeichnis. Dann kann das Kommando (eine Zeile) curlftpfs [Server] ~/ftps -o user=[Konto]:[Password] die FTPS-Verbindung zum Server in dem angegebenen Ordner einhängen.

Die weiteren Platzhalter „[Konto]“ und „[Passwort]“ ersetzen Sie durch die tatsächlichen Zugangsdaten. Dieser Befehl fusermount -u ~/ftp kann die Verbindung später wieder schließen. -dw

Internet: Wie schnell ist die Verbindung?

Gerade auf Linux-Servern ist die Frage interessant, wie schnell die Internetanbindung ist. Eine Messung der effektiven Geschwindigkeit einer Internetverbindung ist aber nicht so einfach. Denn die Ergebnisse sind immer von Zielserver und Auslastung abhängig. Es gibt nun jedoch ein neues Tool für die Kommandozeile, das reproduzierbare Ergebnisse liefert.

Bislang war zur Geschwindigkeitsmessung einer Internetverbindung das Python-Programm speedtest-cli die erste Wahl – eine Kommandozeilenversion des Tests von https:// speedtest.net. Denn dieses Tool ist in vielen Linux-Distributionen wie Debian, Ubuntu, Fedora und Cent-OS in den Paketquellen verfügbar und damit unkompliziert installiert. Damit wären allerdings auch schon alle Vorteile des Tools aufgezählt, denn in der Praxis liefert dieses Kommandozeilentool im Gegensatz zu dem Browser-gestützten Speedtest keine verlässlichen Ergebnisse. Die Messungen unterliegen erheblichen Fluktuationen.

Eine deutlich bessere Alternative kommt von Netflix: Der Streamingdienst bietet für Messungen die eigenen Server an und präsentiert dazu einen Geschwindigkeitstest auf der Webseite https://fast.com. Analog hierzu gibt es ein Kommandozeilenprogramm, das die Downloadrate misst, die durch ihre Verteilung und Loadbalancing von überall aus die optimale Geschwindigkeit bieten soll. Die Ergebnisse sind deshalb sehr aussagekräftig und zeigen darüber hinaus, ob Provider oder Hoster die zugesicherte Geschwindigkeit drosseln.

Das Tool hat Netflix im Quellcode und in Form von ausführbaren Binärdateien auf Github gestellt (https://github.com/ddo /fast). Die Unterseite „Releases“ enthält fertig compilierte Programmdateien für etliche Betriebssysteme wie auch Prozessorarchitekturen. Für einen Linux-PC kommt „fast_linux_ amd64“ oder „fast_linux_386“ infrage, für den Raspberry Pi die Ausgabe „fast_linux_arm“.

Nach dem Herunterladen muss das Kommando chmod +x fast_linux_ [arch] die Datei noch ausführbar machen und ./fast_linux_[arch] startet dann den Test. Das Tool zeigt nun das Ergebnis schlicht als Wert in Megabit pro Sekunde (MBps) an. -dw

Dropbox: Cloud als Laufwerk einhängen

Ein Minisystem, auf welchem die Speicherkarte nicht groß genug für eine Synchronisation mit dem Dropbox-Speicher ist, kann auf die Daten im Clouddienst trotzdem zugreifen: Der inoffizielle Client DBXFS hängt die eigene Dropbox als Laufwerk ein, lesend und schreibend, belässt die Dateien allerdings auf dem Cloudspeicher. 

DBXFS ist zwar ein inoffizieller Dropbox-Kommandozeilen-Client, stammt aber von Rian Hunter, einem langjährigen Ent-

wickler bei Dropbox. Das Tool basiert auf Python sowie dem Kernel-Modul Fuse, das Dateisysteme im Benutzerkontext einhängen kann. DBFX steht als Python-Paket für Ubuntu, Debian, Raspbian sowie für viele andere Distributionen bereit.

Zur Installation in Ubuntu & Co. werden erst einige Bibliotheken benötigt, die der folgende Befehl nachrüstet: sudo apt-get install libfuse2 python3-pip Das Kommando pip3 install dbxfs installiert danach den Dropbox-Client in das Home-Verzeichnis.

Um nun den eigenen Dropbox-Speicher in ein Verzeichnis einzuhängen, genügt dieser Aufruf: /home/[user]/.local/bin/ dbxfs [Ordner] Daraufhin zeigt der Client im

Terminal eine URL zur Authentifizierung bei Dropbox an, die Sie im Browser eingeben müssen. Nach der Anmeldung und der Bestätigung des Clients mittels „Allow“ liefert die Dropbox-Webseite wiederum einen Sicherheitscode, welchen Sie an DBXFS zurückgeben.

Dann bietet DBXFS an, diese Einstellungen zu speichern, und zeigt den Inhalt von Dropbox im angegebenen Ordner an. Dazu muss eine Internetverbindung bestehen, weil DBXFS keine Dateien auf den Datenträgern speichert. Ein weiterer Vorteil von DBXFS: Anders als der offizielle Dropbox-Client funktioniert dieses Tool auch auf anderen Dateisystemen als Ext4. Seit 2019 will der reguläre Dropbox-Client nämlich lediglich noch auf Ext4 arbeiten. -dw

SSH-Job soll weiterlaufen

Wer über SSH auf einem ferngewarteten Server eine Aktion startet, der hat nicht immer auf der Rechnung, dass die Aktion (Update, Backup, Download) längere Zeit beanspruchen kann. Der aktuell genutzte PC kann daher nicht beendet werden, ohne zugleich die Aktion auf dem Server abzubrechen.

Störend ist das in erster Linie, wenn man vorhat, den Rechner eigentlich in Kürze herunterzufahren.

Die an dieser Stelle schon mehrfach beschriebenen Terminal-Multiplexer wie beispielsweise Tmux helfen nicht direkt weiter:

Sie erlauben zwar das Schließen des Terminals und sogar das Abmelden vom System, jedoch nicht das Herunterfahren: Beim Shutdown wird die Tmux-oder Screen-Sitzung beendet, und folglich stoppt auch die Aktion auf dem entfernten SSH-Server.

Das Problem ist lediglich durch den Umweg über einen zweiten SSH-Server zu lösen.

Das klingt jetzt nach einem Administratoren-Thema im Serverraum, ist allerdings in Zeiten des Raspberry-Booms längst auch beim Heimanwender gelebter Alltag. Im konkreten Fall funktioniert das so: 1. Sie starten auf dem PC, den Sie demnächst herunterfahren wollen, im Terminal eine SSH-Sitzung auf dem Server, der nur als Mittelsmann dienen soll – etwa mithilfe von ssh root@192.168.178.20 2. Dort muss Tmux installiert sein (sudo apt install tmux), das Sie mit tmux starten und dann auf dem eigentlichen Zielrechner die SSH-Sitzung öffnen: ssh root@192.178.168.30 3. Auf dem SSH-Prompt des Zielrechners starten Sie sodann den gewünschten Prozess. 4. Den Rechner, auf dem Sie aktuell arbeiten, können Sie nunmehr jederzeit beenden. Tmux auf dem vermittelnden Rechner sorgt dafür, dass der Prozess auf dem Zielrechner weiterläuft. -ha

Netzwerk: Verbindungen bearbeiten

Auf Linux-Systemen wie dem Raspberry Pi, die vornehmlich als Server zum Einsatz kommen, läuft zumeist kein grafischer Desktop.

Während Ethernet-Verbindungen bei einem aktiven DHCP-Server im Netzwerk nur wenig mehr voraussetzen als ein angeschlossenes Netzwerkkabel, ist es ohne grafische Benutzeroberfläche kein Vergnügen, in der Kommandozeile eine WLAN-Verbindung aufzubauen.

Einige textbasierte Tools helfen Ihnen dabei, in wenigen Schritten ohne obskure Befehle ein Linux-System mittels Shell an einem WLAN anzumelden.

Mit Network-Manager: Auf einem Linux-System, das eigentlich für den Desktop gemacht ist, kümmert sich der Network-Manager um sämtliche Netzwerkverbindungen. Läuft die grafische Oberfläche nicht, so gibt es immer noch das textbasierte Tool nmtui für die Steuerung des Network-Managers über ein textbasiertes Menü in der Shell.

Ohne Network-Manager: Auf puren Linux-Serversystemen gibt es üblicherweise keinen Network-Manager. Die Kontrolle aller Netzwerkverbindungen erfolgt stattdessen mithilfe der Konfigurationsdatei „/etc/net work/interfaces“ und des Start-Scripts „ifup“. Eine Konfiguration von WLAN-Verbindungen geht in dieser Konstellation viel einfacher mit dem Hilfstool Ceni. Dieses Perl-Programm ist bereits etwas älter, wurde aber dennoch erst kürzlich in die Paketquellen von Debian (Version 10) und Ubuntu (ab 19.04) aufgenommen und mit sudo apt-get install ceni installierbar. Danach startet sudo ceni das Programm zur Auswahl und Einrichtung der WLAN-Schnittstelle. Ceni erkennt übrigens, ob der Network-Manager läuft, und vermeidet dadurch einen Konflikt bei der Konfiguration der Netzwerkschnittstellen. -dw

Iftop: Wohin geht die Bandbreite?

Sollte ein Server im Netzwerk lahmen, liegt das entweder an der Systemlast oder an der Netzwerklast. Während eine hohe Systemlast und die hierfür verantwortlichen Prozesse schnell ausgemacht sind, gelingt dies bei der Zuordnung der Netzwerkauslastung nicht so einfach.

Die Kombination zweier Kommandozeilentools kann die Verursacher einer hohen Netzwerklast präzise ermitteln. 1. Wer oder was verantwortet die Auslastung? Welches Programm oder welcher Serverprozess auf einem Linux-System wie viel Netzwerkverkehr verursacht, entschlüsselt das Nethogs. Das Tool listet den Netzwerkverkehr pro laufendem Prozess auf und zeigt dazu den Programmnamen und das jeweilige Benutzerkonto an, unter welchem der Prozess läuft.

Nethogs beginnt ab dem Aufruf mit der Protokollierung und zeigt den aktivsten Prozess am Anfang der Auflistung an.

Dieses Tool ist unter Debian, Ubuntu und Fedora recht flott über den Paketmanager installiert und benötigt zum Aufrufen auf der Kommandozeile die Verbindungen mit Iftop nach Adressen aufschlüsseln: Das Tool analysiert den Netzwerkverkehr und zeigt in der sortierten Liste an, welche Gegenstelle die meisten Daten überträgt. root-Berechtigung oder ein vorangestelltes „sudo“: sudo nethogs 2. Woher kommt der Traffic, wohin geht er? Während Nethogs klärt, welcher Prozess Netzwerkpakete sendet und empfängt, ermittelt das Tool Iftop, welche IP-Adressen respektive Hostnamen den meisten Netzwerkverkehr erzeugen. Auf einem System im LAN ist dies eine lokale IP-Adresse, auf einem Server im Internet eine öffentliche Adresse. Das Programm liegt mit dem Paketnamen „iftop“ in den Standard-Paketquellen nahezu sämtlicher Linux-Distributionen und wird mithilfe von root-Rechten über sudo iftop gestartet. -dw

SSH: Geschickt getunnelt

Um zwei Linux-Systeme zu verbinden, ist kaum mehr nötig als SSH. Bekannt wurde das verschlüsselte Protokoll schon in grauer Unix-Vorzeit dank der Möglichkeit, sich über eine unsichere Verbindung sicher an einem Server anzumelden.

SSH kann noch eine ganze Menge mehr: Es sorgt für Verbindungen zu Servern hinter einer Firewall oder um hinter einem Router mit NAT einen Gateway-Server zu nutzen.

Dieses Szenario eignet sich insbesondere für Heimnetzwerke, in welchen nur ein Linux-Server, beispielsweise ein Raspberry Pi, per Portweiterleitung auf dem Router von außen erreichbar ist.

Nun kann dieser Gateway als Zwischenstation dazu dienen, eine SSH-Verbindung an ein ganz anderes Linux-System im LAN mit laufendem Open-SSH-Server weiterzureichen. Dieses

Zielsystem muss nicht per Portweiterleitung erreichbar sein, lediglich der Gateway-Server als Zwischenstation. Hierzu ist es nicht erforderlich, lange und komplizierte SSH-Befehle zu basteln. Es geht recht einfach mit einem kompakten Kom-mando und dem Parameter „-J“, der für „Jump“ steht und seit Open SSH 7.3 funktioniert: ssh -J [Benutzer]@ [Gateway] [Benutzer]@ [Zielsystem] Dieser SSH-Befehl baut eine Verbindung zum Server „Gateway“ auf und meldet sich dort mit dem angegebenen Benutzernamen an. Steht diese Verbindung, so geht es gleich zum Zielsystem. Dieses fragt jetzt ebenfalls nochmal nach den Anmeldedaten und öffnet dort die Benutzer-Shell. -dw