18.5 Netzwerkinstallation 

TCP/IP
Linux verwendet standardmäßig das TCP/IP-Protokoll zur Übertragung von Informationen. Dieses Protokoll hat sich gegenüber den zunächst von Microsoft favorisierten Netzwerkprotokollen NetBEUI oder IPX/SPX auf breiter Front durchgesetzt. Folgende Parameter sind von Interesse:
- Die IP-Adresse Nach dem derzeitigen Standard IPv4 benötigt jeder Rechner eine eindeutige 32-Bit-Adresse. Diese besteht aus vier aufeinanderfolgenden Zahlen im Bereich von 0 bis 255. Da dieser Zahlenbereich längst nicht ausreicht, um die mittlerweile existierenden Rechner zu katalogisieren, wurden
- verschiedene Netzwerktypen definiert (siehe Tabelle). Im Heimnetzbereich haben sich Adressen aus dem Bereich 192.168.0.x durchgesetzt, also z. B. die vielfach bemühte Adresse 192.168.0.1.
- In den Startlöchern steht derweil schon der neue Standard IPv6, der einen größeren Pool von Netzwerkadressen bietet und vom Linux-Kernel bereits voll unterstützt wird.
- Die Subnetzmaske Die Subnetzmaske gibt an, welcher Teil der Adresse eines Rechners zur Rechneridentifikationsnummer zählt und welcher Teil das Netzwerk selbst klassifiziert. Für die oben definierte Netzwerkadresse 192.168.0.1 würde eine Netzwerkmaske von 255.255.255.0 bedeuten, dass sämtliche Rechner des Netzes in den ersten drei Bytes übereinstimmen. Hat man mehr als 256 Rechner, so empfiehlt es sich, auf ein höherwertiges Netz mit der Netzmaske 255.255.0.0 zu migrieren, um die Kombinationsmöglichkeiten des dritten Bytes hinzuzufügen.
- Die Routing-Tabelle Die Routing-Tabelle gibt an, welche Netzwerke vom Rechner aus »betreten« werden dürfen bzw. aus welchen Netzen der Rechner Anfragen beantworten soll. Routing ist insbesondere dann von Interesse, wenn ein Rechner in einem heimischen Netzwerk als Internet-Gateway fungieren soll.
Die folgende Tabelle Sie gibt einen Überblick über die derzeit definierten Netzwerkklassen des Standards IPv4.
| Klasse A | Klasse B | Klasse C | |
|
Adressbereich |
10.0.0.0 – 10.255.255.255 |
172.16.0.0 – 172.31.255.255 |
192.168.0.0 – 192.168.255.255 |
|
Rechneranzahl pro Netzwerk |
16,7 Millionen |
65536 |
256 |
|
Subnetz |
255.0.0.0 |
255.255.0.0 |
255.255.255.0 |
18.5.1 Netzwerktest 

Bereits in Abschnitt auf Seite wurde der Befehl ifconfig zum Testen der erfolgreich konfigurierten Netzwerkschnittstelle vorgestellt. Eine Alternative dazu ist das universelle Kommando ip, mit dem sämtliche oben beschriebenen Parameter konfiguriert und geprüft werden können:
ip addr
1: lo: <LOOPBACK,UP> mtu 16436 qdisc noqueue
...
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc
...
inet 192.168.0.1/24 brd 192.168.0.255 scope eth0
inet6 fe80::20e:a6ff:fe86:3cf/64 scope link
valid_lft forever preferred_lft foreverIm vorliegenden Fall wurden das Loopback-Device lo sowie eine Netzwerkkarte unter der Adresse 192.168.0.1 erkannt. Die Netzmaske wurde im Fall der eth0-Schnittstelle in der Kurzform /24 angegeben.
| Erreichbarkeit einer Netzwerkadresse prüfen |
|
Mit dem Befehl ping können Sie andere Rechner (auch im gleichen Netzwerk) kontaktieren. Wenn Sie das Kommando ohne weitere Optionen verwenden, werden kontinuierlich kleine Datenpakete an den spezifizierten Rechner versandt – der andere Rechner wird »angepingt«. Wenn Sie dies beenden möchten, benutzen Sie die Tastenkombination
|
| ping -c 5 192.168.0.103 |
|
Eine typische Ausgabe sieht folgendermaßen aus: |
| 64 bytes from 192.168.0.103: icmp_seq=1 ttl=128 time=0.154 ms ... 5 packets transmitted, 5 received, 0% packet loss, time 4000 ms |
|
Interessant ist hier zum Abschätzen der Netzwerk-Performance die Angabe der Antwortzeit (in diesem Fall 0.154 ms) sowie der Anteil der verlorenen Pakete (in diesem Fall 0 %). Das vorliegende Netzwerk zeigt somit eine gute Performance. Wenn Sie eine akustische Rückmeldung wünschen, verwenden Sie die Option -a (audible). |
| Kommando | Bedeutung |
|
ping <yahoo.com> |
Testen der Internet-Verbindung |
|
traceroute <yahoo.com> |
Tracen der IP-Pakete |
|
ifconfig |
Testen der Host-Konfiguration |
|
route -n |
Testen der Routing-Konfiguration |
Um jetzt die Netzwerkkonfiguration zu ändern, müssen Sie die Datei /etc/network/interfaces bearbeiten. Im Ausgangszustand, also bei Vergabe der Adresse per DHCP, sieht diese so aus:
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp
Die Zeile auto eth0 sorgt dafür, dass die Schnittstelle automatisch gestartet wird. Das dhcp in der letzten Zeile sorgt für den automatischen Empfang einer Netzwerkadresse von einem anderen Server oder einem Router.
Um die Adresse statisch zu vergeben, muss der Eintrag für eth0 so lauten:
auto eth0 iface eth0 inet static address 192.168.0.254 netmask 255.255.255.0 gateway 192.168.0.1
Das dhcp wird schlicht durch ein static ersetzt, und in den Zeilen darunter wird die Adresse zugeteilt. Die Angaben sollten natürlich an den jeweiligen Standort angepasst werden. Nachdem Sie Einträge vorgenommen haben, können Sie die Datei speichern und schließen.
Um auf das Internet zuzugreifen, fehlt noch der Eintrag für einen DNS-Server. Diesen tragen Sie in der Datei /etc/resolv.conf ein. Dazu reicht eine Zeile mit
nameserver 192.168.0.1
In der Regel ist das ebenfalls die Adresse des Routers, die oben schon als gateway angegeben wurde.
Falls Änderungen gemacht wurden, muss das Netzwerk noch einmal neu gestartet werden:
sudo /etc/init.d/networking restart
18.5.2 Routing 

Rechner in einem anderen Subnetz erreichen
Nun kann es vorkommen, dass Sie an ein Netzwerk angeschlossen sind, das das Subnetz 192.168.0.x verwendet, Sie aber Ihren persönlichen Rechner lieber mit der IP-Adresse 192.168.1.1 versehen möchten. In diesem Fall müssen die beiden Subnetze miteinander verbunden werden. Diese Verbindung geschieht am einfachsten über die Erweiterung der Subnetzmaske in der Gestalt, dass beide Netzwerke erreicht werden können.
Eine manuelle Konfiguration kann auf der Kommandozeile mittels ifconfig vorgenommen werden:
sudo ifconfig eth0 192.168.1.1 netmask 255.255.0.0
Anschließend muss das Netzwerk neu gestartet werden:
sudo /etc/init.d/networking restart
Selbstverständlich können Sie die obige Einstellung auch mit dem grafischen Netzkonfigurationswerkzeug vornehmen. Um den Linux-Rechner von einem anderen Netzwerkteilnehmer aus erreichen zu können, muss dort die Subnetzmaske entsprechend gesetzt werden. Dies ist ein eher künstliches Beispiel, um Ihnen die Technik des Routings zu verdeutlichen.
Eine Brücke zwischen zwei Netzen aufbauen
Meist verwendet man die oben beschriebene Lösung aus Sicherheitsgründen nicht, da man zwei Netzwerke logisch und physikalisch trennen möchte. Ein mögliches Beispiel wäre ein aus zwei Segmenten bestehendes Verwaltungsnetzwerk einer öffentlichen Institution. Beide Segmente sollen zwar miteinander kommunizieren, aber logisch voneinander getrennt sein. In diesem Fall setzt man einen Rechner als Bridge (Brücke) ein, der über zwei Netzwerkkarten verfügt, die mit den beiden einzelnen Netzwerken verbunden sind.
Für das folgende Beispiel nehmen wir an, dass den beiden Karten im Bridge-Rechner die Netzwerkadresse 192.168.1.9 bzw. 192.168.0.9 zugewiesen wurde. Die Subnetze liegen entsprechend auf 192.168.1.0 und 192.168.0.0.
IP-Forwarding
Zunächst ist es notwendig, für derartige Experimente das IP-Forwarding auf dem Bridge-Rechner zu aktivieren. Dies geschieht idealerweise in einer Root-Konsole mit dem folgenden Befehl:
sudo -s root# sudo echo 1 > /proc/sys/net/ipv4/ip_forward
Ob der Befehl erfolgreich war, zeigt ein:
root# cat /proc/sys/net/ipv4/ip_forward
Hier sollte nun eine »1« ausgegeben werden. Nun muss die Routing-Tabelle auf der Bridge wie folgt ergänzt werden:
root# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.9 root# route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.9
Der Bridge-Rechner fungiert in diesem Fall als Gateway (gw) zwischen den beiden Subnetzen. Mit dem Befehl route überprüfen Sie, ob die Routing-Tabelle erfolgreich geändert wurde. Schließlich können Sie abschließend testen, ob sich die Rechner gegenseitig »anpingen« lassen.
18.5.3 Netzwerküberwachung 

Ist die Netzwerkschnittstelle einmal eingerichtet, so ist es oftmals nützlich, den Datentransfer zu überwachen. Seit Ubuntu Breezy finden Sie ein kleines Netzwerk-Icon im oberen Bereich der Taskleiste. Dieses blinkt bei jeglichen Netzwerkaktivitäten auf.
Wenn Sie Netzwerkaktivitäten etwas anschaulicher dargestellt haben möchten, können Sie kann das Werkzeug EtherApe einsetzen (siehe Abbildung). Das Programm finden Sie nach der Installation über sudo apt-get install etherape im Internet-Menü.
Sie können EtherApe als Root mittels sudo etherape oder aus dem GNOME-Menü über Anwendungen • Internet • EtherApe as root starten. Führen Sie anschließend einmal ein Ping auf einen bekannten Internet-Rechner durch, und verfolgen Sie den Weg der Grafikpakete in der grafischen Darstellung.
Abbildung 18.10 Der Netzwerkmonitor EtherApe
Paketsniffer
Um sich den Netzwerkverkehr explizit anzuschauen, nutzen Sie das Werkzeug tcpdump. Öffnen Sie dazu eine Konsole, und geben Sie den gleichnamigen Befehl ein. Starten Sie nun beispielsweise den Webbrowser Firefox, und rufen Sie eine Internet-Seite auf. Sollten Sie via DSL über eine Netzwerkkarte an das Internet angebunden sein, so protokolliert das Programm tcpdump alle Pakete, die über die Leitung gehen.
user$ sudo tcpdump tcpdump: verbose output suppressed listening on eth0, link-type EN10MB (Ethernet) 15:31:40.526335 arp who-has 192.168.0.254 tell august ... 15:31:45.632652 IP august.46492 > 66.249.93.99.www: S
Im vorliegenden Fall wurde mit dem Browser die Seite www.google.de aufgerufen. Der PC richtet seine Anfrage betreffs der IP-Adresse der Webseite zunächst an den Router und erhält kurze Zeit später die Antwort (66.249.93.99). Das Werkzeug ist insbesondere dann nützlich, wenn es darum geht, Störungen im DSL-Betrieb auf den Grund zu gehen.
Wenn Sie genau protokollieren möchten, was für Daten über die Ethernet-Schnittstelle gehen, sollten Sie das Tool Ethereal einsetzen. Das Programm finden Sie nach der Installation über sudo apt-get install ethereal im Internet-Menü. Nachdem Sie das Programm im Root-Modus gestartet haben, müssen Sie zunächst über Capture • Interfaces das Device auswählen, das belauscht werden soll.
Abbildung 18.11 Der Paketsniffer Ethereal
Klicken Sie auf den Button Capture, um den Mitschnitt zu starten. Sollte Ihr E-Mail-Verkehr über die entsprechende Schnittstelle laufen (dies ist beispielsweise bei Verwendung von DSL der Fall), so können Sie einmal spaßeshalber eine E-Mail an sich selbst schicken und nachschauen, ob die Informationen vielleicht sogar im Klartext lesbar sind. Wenn dies der Fall ist, sollten Sie darüber nachdenken diesen Zustand zu ändern. Sie haben dazu mehrere Möglichkeiten:
- In den allermeisten E-Mail-Programmen können Sie in den Einstellungen des jeweiligen E-Mail-Kontos den Versand über SSH oder TLS aktivieren. Nicht alle Provider ünerstützen diese Art des sicheren Versands. Sie müssen also eventuell einige Versandmöglichkeiten ausprobieren.
- Sie können selbstverständlich auch die E-Mail-Verschlüsselung per GPG einrichten – Sicherer geht es nicht. Sie erfahren mehr über die GPG-Verschlüsselung von E-Mails in Abschnitt »E-Mails verschlüsseln mit GnuPG« ab Seite .
- Als letzte Möglichkeit können Sie natürlich auch Ihren Mail-Servers/Provider wechseln.
18.5.4 Probleme mit der Namensauflösung 

Ein Problem, das beim Einrichten des Internet-Zugangs unter Ubuntu auftritt, ist die gestörte Namensauflösung von Internet-Seiten. Der sogenannte DNS (Domain Name Server) wird dem Anwender in der Regel dynamisch zugewiesen. Oft kommt es jedoch vor, dass solche Name-Server überlastet sind. Dann tut man gut daran, einen weniger frequentierten Server zu definieren. Das kann entweder mit dem Netzwerkkonfigurationswerkzeug oder durch direkte Bearbeitung der Datei /etc/dhcp3/dhclient.conf erfolgen. Der notwendige Eintrag hat folgende Gestalt:
prepend domain-name-servers 62.72.64.237
In der Datei ist bereits ein entsprechender Eintrag vorhanden. Dort müssen Sie das Kommentarzeichen # entfernen und die IP-Adresse ändern. Um die Änderungen ohne Neustart des Systems zu übernehmen, ist noch folgender Befehl erforderlich:
sudo /etc/init.d/networking restart
Welcher DNS-Server gerade genutzt wird, erfahren Sie durch folgenden Befehl:
grep nameserver /etc/resolv.conf
| DNS abfragen |
|
Der Befehl dig schließlich testet, ob ein gegebener Name-Server (im folgenden Beispiel 192.168.1.1) eine Anfrage umsetzt: |
| dig @192.168.1.1 www.ubuntulinux.org a ; <<>> DiG 9.5.1-P2 <<>> @192.168.1.1 www.ubuntulinux.org a ; (1 server found) ;; global options: printcmd ;; Got answer: ... ;; Query time: 169 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) |
|
Wie Sie sehen, können Sie auf diese Weise auch die Reaktionszeit des Name-Servers abschätzen. |






Jetzt bestellen







