Fast jeder Rechner ist heute Teil eines Netzwerks. Doch nur wer die richtigen Kommandos kennt, reizt die Möglichkeiten voll aus.
Netzwerkpraxis
| Teil 1 — Planung und Grundkonfiguration | LinuxUser 12/2007 |
| Teil 2 – Sicherheit und Troubleshooting | LinuxUser 01/2008 |
Fast jeder Computer arbeitet heute zumindest zeitweise in einem Netzwerk. Die meisten Distributionen bringen eine grafische Oberfläche zur Konfiguration der Schnittstellen und Parameter mit. Oft bleibt dabei jedoch unklar, was unter der Haube passiert. Spätestens, wenn etwas nicht wie gewünscht funktioniert, lohnt es sich, die grundlegenden Mechanismen und Werkzeuge zur Administration zu kennen.
Mit etwas Grundwissen [1] richten Sie ihr Netzwerk in vier Schritten ein: Sie planen und konfigurieren es, prüfen seine Funktionsweise und sichern es ab. All diese Schritte greifen ineinander. So sollten Sie zum Beispiel ihr lokales Netzwerk absichern, bevor Sie es zum Internet hin öffnen.
Netzwerk planen
Selbst bei kleinen Netzwerken sind Sie gut beraten, dessen Struktur gründlich zu planen. Legen Sie die Anforderungen an das Netz fest, und überlegen Sie sich, aus welchen Komponenten es besteht. Am besten erstellen Sie sich einen kleinen Netzwerkplan, und malen alle Komponenten und Ihre Verbindungen zueinander auf. Definieren Sie Netze und vergeben Sie IP-Adressen. Überlegen Sie sich, welche Route die Pakete durch das Netzwerk nehmen sollen und wie Pakete an Adressen ins Internet zum Internet-Provider gelangen. Legen Sie die Zugangsdaten und die IP-Adressen der Nameserver Ihres Internet-Providers parat.
Auch die Sicherheitsanforderungen sollten nicht zu kurz kommen: Machen Sie sich vorab schon einmal Gedanken darüber, inwiefern Sie eigene Dienste im Internet anbieten möchten. Der Netzwerkplan für ein typisches Heimnetzwerk mit wenigen Computern, eventuell einem Netzwerkdrucker und einer Kombination aus DSL-Router und Switch gestaltet sich in der Regel ziemlich einfach. Abbildung 1 zeigt ein Beispiel für einen solchen Plan.

Abbildung 1: Ein Netzwerkplan hilft Ihnen, beim Konfigurieren eines Netzwerks den Überblick zu behalten.
Netzwerk konfigurieren
Netzwerkschnittstellen konfigurieren Sie unter Linux entweder mit den Programmen ifconfig und route oder mit dem moderneren und leistungsfähigeren iproute ([2],[3]). Welche DNS-Server Linux verwendet, steht in der Datei /etc/resolv.conf. Auch WLANs konfigurieren Sie mit Iproute, sobald die Karte mit einem Access Point assoziiert ist (siehe Kasten “WLAN einrichten”).
WLAN einrichten
In der Regel konfigurieren Sie das drahtlose Netzwerk wie ein gewöhnliches LAN. Laden Sie dazu den Netzwerktreiber, falls noch nicht geschehen (siehe Abschnitt “Treibersuche”). Treiber für Intel PRO/Wireless 2100 und 2200 bringt der Kernel mittlerweile mit, Treiber für Karten mit Atheros-Chipsatz, Intel-PRO/Wireless-3945-Karten und andere WLAN-Chipsätze finden Sie häufig in Extrapaketen oder im Internet ([13],[14]). Weitere Hinweise, etwa zum Einrichten der WLAN-Adapter mit dem Chipsatz von Ralink oder dem Broadcom-Chipsatz 4318 finden Sie ebenfalls im Web [15].
Grundlegende Konfigurationswerkzeuge bieten die Wireless-Tools [16]. Mit iwconfig Device list erhalten Sie eine Liste der vorhandenen, nicht versteckten WLAN-Netze. Die Schnittstelle heißt dabei beispielsweise wifi0, wlan0 oder ath0. Mit iwconfig ohne zusätzliche Optionen erhalten Sie eine Liste.
Benutzt der Access Point keine Verschlüsselung – wie bei den meisten öffentlichen Access Points – reicht ein einfaches iwconfig Device essid "ESSID", um die WLAN-Karte mit ihm über die ESSID zu assoziieren. Eine IP-Adresse holen sich via DHCP oder setzen sie manuell. Die erste HTTP-Anfrage in einem öffentlichen WLAN-Netz landet in der Regel auf einer Webseite mit den Konditionen und einer Anmeldemöglichkeit.
Zu Hause verschlüsseln Sie Ihr WLAN besser. Einen WEP-Schlüssel übergeben Sie iwconfig mit der Option key als 10 (64 Bit), 29 (128 Bit) oder 56 hexadezimale Ziffern (256 Bit). Der WEP-Standard bietet jedoch kaum Schutz. Mit einer geeigneten WLAN-Karte, einem entsprechenden Treiber und einem Programm wie Aircrack-ng oder Airsnort gelangt ein Angreifer mit ziemlicher Sicherheit in nur 5 bis 10 Minuten in das Netz [17].
Verwenden Sie deshalb besser gleich die sicherere WPA-Verschlüsselung. Diese nutzen Sie via WPA-Supplicant oder mit bestimmten WLAN-Karten auch mit dem Networkmanager, für den es sowohl ein Gnome- als auch ein KDE-Frontend gibt ([18],[19]). Beide Programme handeln mit dem WPA-Authenticator auf dem Access Point die Verschlüsselungsart aus.
Den WPA-Supplicant konfigurieren Sie entweder über eine Konfigurationsdatei, oder auf der Befehlszeile via wpa_cli. Ein Beispiel zeigt Listing 1. Wichtig ist der sichere vorab ausgetauschte Schlüssel (PSK, Preshared Key), den Client und Authenticator verwenden, um die Verschlüsselung auszuhandeln.
Beim Starten geben Sie Treiber, Schnittstelle und die Konfigurationsdatei an: wpa_supplicant -D wext -i eth1 -c /etc/wpa_supplicant/wpa_supplicant.conf. Der Treiber wext nutzt die Wireless-Extensions des Kernels und funktioniert mit vielen WLAN-Karten. Eine Übersicht über weitere Treiber, Beispielkonfigurationen und alternative Startmöglichkeiten (insbesondere bei Debian) enthält die Dokumentation des Tools.
Es gibt im Internet zahlreiche Generatoren für WPA- und WEP-Schlüssel. Abhörsicher ist eine Javascript-Variante, die auf dem Browser läuft und nicht mit dem Webserver kommuniziert ([20],[21]). Verwenden Sie die sicherste und längste Variante eines Schlüssels, die mit Ihrem Access Point funktioniert.
ctrl_interface=/var/run/wpa_supplicant
ap_scan=2
# WLAN daheim
network={
ssid="WLAN daheim"
psk="XU8_#/}b,S.Pk5!dBwIu?rzBqM(vZ*)3^AraOqDZEQ,2e-u)&?}D2ye%GmzLw%5"
key_mgmt=WPA-PSK
pairwise=TKIP #CCMP für AES
group=TKIP #CCMP für AES
proto=WPA #RSN oder WPA2 für WPA2
}
# Beliebiger offener Access Point
# Scans und Auswahl ändern via wpa_cli
network={
key_mgmt=NONE
}
Für ein rudimentäres Netzwerk brauchen Sie zwei Netzwerkschnittstellen samt Treiber, eine Verbindung dazwischen – in der Regel mit Twisted-Pair-Kabel – sowie auf jedem Netzwerk-Gerät eine IP-Adresse und eine Route. Oft stellt ein Switch die eine Netzwerkschnittstelle zur Verfügung und ein Computer die andere. Es lassen sich jedoch auch zwei Computer via Crossover-Kabel direkt verbinden.
Bei modernen Distributionen erledigt in der Regel Udev das Laden des Netzwerktreibers. Der Befehl ip link show zeigt alle Netzwerkschnittstellen an (Abbildung 2). Die Schnittstelle lo ist für den lokalen Host reserviert. Die restlichen Schnittstellen beginnen eth, gefolgt von einer Nummer, durchnummeriert von 0 an. Programme greifen über Funktionen des TCP/IP-Stacks und der Treiber auf die Schnittstellen zu. Die unter anderem von Festplatten und DVD-Laufwerken bekannten Gerätedateien kommen dabei aber nicht zum Einsatz.
Jede Netzwerk-Schnittstelle ist standardmäßig eingeschaltet (UP). Die Befehle ip link set Device down und ip link set Device up erlauben das manuelle Ein- und Ausschalten der Schnittstelle. Beim Ausschalten geht die bisherige Konfiguration der Schnittstelle verloren.

ip link show erhalten Sie eine Übersicht über die erkannten Schnittstellen.” width=”300″ height=”80″ />
Abbildung 2: Mitip link show erhalten Sie eine Übersicht über die erkannten Schnittstellen.Treibersuche
Fehlt eine Netzwerkschnittstelle, laden Sie den passenden Treiber manuell nach. Ermitteln Sie dazu mit lspci -nn | grep Ethernet die entsprechende Hardware. Der Befehl zeigt neben den Namen der Karte in eckigen Klammern auch die eindeutige, vierstellige Hersteller- und Gerätekennung an. Mit grep "0x0000Herstellerkennung" /lib/modules/Kernel-Version/modules.pcimap | grep "0x0000Gerätekennung" suchen Sie in der Kernel-Liste der unterstützen PCI-Geräte nach Ihrer Hardware (Abbildung 3).

Abbildung 3: Auf der Suche nach dem passenden Kernel-Modul für die Netzwerkkarte helfen die Hersteller- und Gerätekennung weiter.
In der ersten Spalte der Ausgabe des Befehls steht Name des Kernel-Moduls, mit modprobe Modulname laden Sie es nach. Verwenden Sie ein USB-Gerät für den Netzwerkzugriff, dann suchen Sie stattdessen in der Datei modules.usbmap nach der entsprechenden Kennung. Für Firewire-Geräte ist das Kernel-Modul eth1394 zuständig [4]. Finden Sie auf diese Weise keinen Treiber, bleibt noch die Möglichkeit, es mit einem aktuelleren Kernel zu probieren oder im Paketarchiv Ihrer Distribution oder im Internet nach einem Treiber zu suchen.
Eine unkonfigurierte Netzwerkschnittstelle hat noch keine IP-Adresse. Mit ip addr add 192.168.1.42/24 dev eth0 weisen Sie der Schnittstelle eth0 zum Beispiel die IP-Adresse 192.168.1.42 zu und geben dabei gleichzeitig mit /24 als Kurzform für 255.255.255.0 die Netzmaske mit an. Mit ip addr show oder einfach nur ip addr sehen Sie sich das Ergebnis an. Mit ip addr del löschen Sie die Adresse wieder. Hilfe erhalten Sie mit help. Probieren Sie dazu einfach einmal ip help, ip addr help und ip addr add help aus.
Geben Sie der Gegenstelle eine IP-Adresse aus dem selben Netzbereich (hier: 192.168.1.0/24), dann gelingt der Zugriff bereits. Der TCP/IP-Stack hat nämlich für die Schnittstelle bereits stillschweigend eine passende Route hinzugefügt, wie ip route show offenbart. Es handelt sich dabei um eine Schnittstellenroute (dev eth0). Geben Sie dem Kommunikationspartner jedoch zum Beispiel die Adresse 10.7.21.99/16, dann befindet sich er sich für TCP/IP in einem anderen Netzwerk und lässt sich ohne passende Route nicht erreichen. IP-Taschenrechner, wie das exzellente Gip für Gnome [5] oder Sipcalc [6], helfen beim Rechnen mit Netzwerkbereichen und Prefixen (siehe Abbildung 4).

Abbildung 4: Beim Berechnen von Netzwerkmasken und Prefixen helfen passende Rechner weiter, wie etwa Gip (links) oder Sipcalc (rechts).
Ins Internet finden IP-Pakete damit Ihren Weg jedoch noch nicht. Fügen Sie dazu eine Standardroute hinzu. Hat Ihr Internet-Gateway die IP-Adresse 192.168.1.1, verwenden Sie dazu ip route add default via 192.168.1.1. Mit ip route add 10.0.0.0/8 via 192.168.1.2 leiten Sie hingegen alle Pakete in das Netz 10.0.0.0/8 über 192.168.1.2 und mit ip route del löschen Sie eine Route. Wer mehr als eine Routing-Tabelle einsetzen möchte, sollte sich die Kernel-Option Network | Network options | IP: advanced router (CONFIG_IP_ADVANCED_ROUTER) und den Befehl ip rule näher anschauen [7].
So richtig komfortabel klappt das Surfen im Internet jedoch immer noch nicht: Erst, wenn Sie in die Datei /etc/resolv.conf die IP-Adresse eines DNS-Servers eintragen, löst Ihr Rechner auch die Namen anderer Computer auf. Eine DNS-Anfrage für www.linux-user.de liefert dann die passende IP-Adresse (Listing 2). Mit search definieren Sie Teile eines Domain-Namens, die der Resolver anhängt, wenn Sie keinen vollständigen Domain-Namen angegeben. Die IP-Adressen von Hosts aus dem eigenen Netzwerk tragen Sie auf allen Computern in /etc/hosts ein, sofern Sie keinen eigenen Nameserver aufsetzen möchten[8].
search of.teamix.net teamix.net n-ix.net nameserver 172.21.254.1 nameserver 172.21.254.254
Gibt es im Netzwerk einen DHCP-Server, ersetzt der Aufruf eines DHCP-Clients wie dhclient Device oder pump -i Device in der Regel die manuelle Konfiguration von IP-Adressen, Netzwerkmasken, Routen und Nameservern.
Permanente Konfiguration
Die beschriebenen Befehle eignen sich gut zur Ad-Hoc-Konfiguration des Netzwerks. Beim Herunterfahren oder Ausschalten des Computers gehen die Einstellungen jedoch verloren. Unter Debian und Ubuntu tragen Sie die Parameter in die Datei /etc/network/interfaces ein, bei Suse verwenden Sie am besten YaST. Das speichert die Einstellungen in /etc/sysconfig/network über den Neustart hinweg. Mit ifdown Device schalten Sie eine mit Bordmitteln konfigurierte Netzwerkschnittstelle aus, mit ifup Device wieder ein. Läuft Ihr Computer häufig in unterschiedlichen Netzwerken, helfen Ihnen verschiedene Programme beim automatischen Konfigurieren ([9],[10],[11]).
Direkter DSL-Zugang
Den direkten DSL-Zugang ohne Umweg über einen DSL-Router konfigurieren Sie unter Debian und Ubuntu mit Hilfe von Pppoeconf. Das Programm sucht auf allen Schnittstellen einen PPPoE Access Concentrator, das DSL-Modem muss also eingeschaltet sein. Als Suse-Anwender verwenden Sie am besten das komfortable DSL-Modul von YaST unter Netzwerkgeräte | DSL. Weitere Hinweise finden Sie auch im Netz [12].
Ausblick
Mit den Handreichungen aus diesem Artikel haben Sie die Grundkonfiguration Ihres Netzwerks im Griff. In einem weiterführenden Artikel in der nächsten Ausgabe von LinuxUser lesen Sie mehr zum Absichern des Netzes mit einer Firewall und zur Diagnose und Beseitigung von Fehlern im LAN.
Glossar
-
ESSID
-
Extended Service Set Identifier. Kennung eines Funknetzwerks.
-
WEP
-
Wired Equivalent Privacy. Veralteter Standard zur WLAN-Verschlüsselung.
-
WPA
-
Wi-Fi Protected Access. Basiert auf WEP, bietet jedoch durch dynamische Schlüssel und weitere Mechanismen aus dem Standard IEEE 802.11i zusätzlichen Schutz. Erst WPA2 implementiert den vollständigen Standard.
-
Twisted-Pair-Kabel
-
Ein aus paarweise miteinander verseilten Adern bestehendes Kabel, wie es in der Netzwerktechnik häufig zum Einsatz kommt. Üblich sind Kabel der Kategorie 5 (Cat. 5).
-
Crossover-Kabel
-
Ein Twisted-Pair-Kabel, bei dem die signalführenden Adernpaare miteinander vertauscht sind. Dient zum direkten Verbinden zweier Computer.
-
Udev
-
Programm, um Gerätedateien in
/devzu verwalten und Kernel-Treiber zu laden. -
DHCP
-
Dynamic Host Configuration Protocol. Protokoll, um mit Hilfe eines Servers einen oder mehrere Clients mit der passenden Netzwerkkonfiguration zu versorgen.
-
PPPoE Access Concentrator
-
Gegenstelle für das DSL-Modem beim Provider.
[1] Netzwerkkonfiguration: Martin Steigerwald, “Komplexe Architektur”, LinuxUser 03/2007, S. 86, http://www.linux-user.de/ausgabe/2007/03/086-selbsthilfe-5/
[2] Netzwerkkonfiguration: Hans-Georg Eßer, “Netzwerk in der Shell”, LinuxUser 03/2002, S. 30, http://www.linux-user.de/ausgabe/2002/03/030-konsole/konsole.html
[3] Iproute2: http://linux-net.osdl.org/index.php/Iproute2
[4] Marcel Hilzinger, “Home sweet home”, LinuxUser 11/2005, S. 44, http://www.linux-user.de/ausgabe/2005/11/044-heimnetz/
[5] Gip IP Address Calculator: http://www.debain.org/software/gip/
[6] Sipcalc: http://www.routemeister.net/projects/sipcalc/
[7] Linux Advanced Routing and Traffic Control: http://www.lartc.org
[8] Proxy-DNS-Server: Frederik Bijlsma, “Wer kennt die Namen?”, LinuxUser 05/2002, S. 78, http://www.linux-user.de/ausgabe/2002/05/078-pdnsd/pdnsd-4.html
[9] Ifplugd: Martin Steigerwald, “Gut geraten”, LinuxUser 07/2005, S. 46, http://www.linux-user.de/ausgabe/2005/07/046-ifplugd/
[10] SCPM: Richard Baraban, “Flexibel ins Netz”, LinuxUser 07/2005, S. 38, http://www.linux-user.de/ausgabe/2005/07/038-scpm/
[11] Netzwerkprofile: Elisabeth Bauer, “Fliegender Wechsel”, LinuxUser 07/2005, S. 42, http://www.linux-user.de/ausgabe/2005/07/042-profile/
[12] Ins Internet mit DSL: Erik Bärwaldt, “Mit Highspeed ins Netz”, LinuxUser 03/2007, S. 40
[13] Treiber für Intel PRO/Wireless 3945: http://ipw3945.sourceforge.net
[14] Treiber für viele Karten mit Atheros-Chipsatz: http://madwifi.org
[15] Test WLAN-Adapter: Marcel Hilzinger, “G-Schwindigkeit”, LinuxUser 03/2007, S. 30
[16] Wireless Tools: http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html
[17] Wikipedia zu WEP: http://de.wikipedia.org/wiki/Wired_Equivalent_Privacy
[18] WPA-Supplicant: http://hostap.epitest.fi/wpa_supplicant/
[19] Networkmanager: http://www.gnome.org/projects/NetworkManager/
[20] Generator für WEP- und WPA-Schlüssel: http://www.zugerweb.ch/keygen.htm
[21] Generator für WPA-Schlüssel: http://www.kurtm.net/wpa-pskgen/





