Notice: Undefined index: string in /var/www/stefan/howtux.de/htdocs/article.php on line 49

Notice: Undefined index: settings in /var/www/stefan/howtux.de/htdocs/article.php on line 61
Home / Netzwerkkonfiguration / Netzwerke unter Linux

Netzwerke unter Linux

Kategorie: NetzwerkkonfigurationErstellt: 02.10.2007 - 23:58 Geändert: 23.10.2007 - 23:33
Autor: Stefan Abu Salah
0Im folgenden soll erläutert werden, wie man die Konfiguration des Netzwerkes unter Linux vornimmt. Hierzu sollen die dafür benötigten Hilfsprogramme und Konfigurationsdateien vorgestellt werden. Es wird vorausgesetzt, dass Sie die Grundlagen von IP-Netzwerken beherschen, daher wird an dieser Stelle auf eine Einführung in IP-Netzwerke verzichtet.

Der Hostname


Jeder Rechner eines Netzwerkes besitzt einen eindeutigen Namen, der ihn im Netzwerk identifiziert. Insbesondere für die Benutzer eines Netzwerkes ist der Umgang mit lesbaren Namen einfacher als mit wenig einprägsamen Adressen. Generell unterscheidet man zwischen dem Hostname und dem FQDN (Fully Quallified Domain Name). Bei ersterem handelt es sich um einen einfachen Namen. Ein FQDN besteht hingegen aus dem Hostname gefolgt von der Domain in der sich der Rechner befindet.
Ein Beispiel für einen Hostname wäre beispielsweise troubadix. Der FQDN dieses Rechners könnte z.B. troubadix.nt.FH-Koeln.DE lauten.
Will man den Hostname oder FQDN eines Rechners ändern oder auslesen, kann man das Programm hostname nutzen. Folgende Beispiele verdeutlichen die Arbeitsweise von hostname.
Beispiel: Hostname

# Auslesen des Hostname:
stefan@troubadix/home/stefan$ hostname
troubadix

# Auslesen des FQDN:
stefan@troubadix/home/stefan$ hostname -f
troubadix.nt.FH-Koeln.DE

# Ändern des Hostname:
stefan@troubadix/home/stefan$ hostname asterix
stefan@troubadix/home/stefan$ hostname
asterix

Der neu gesetzte Hostname wird erst beim starten einer neuen Sitzung in der Shell gesetzt. Wundern Sie sich also nicht, wenn nach dem Ändern des Hostname immer noch der alte Name im Prompt der Shell steht.


Die Änderung mit dem Programm hostname ist nur für die Laufzeit des Rechners gültig. Nach einem Neustart des Systems ist der ursprüngliche Name wieder aktiv. Möchten Sie den Hostname dauerhaft ändern müssen Sie diesen in die Konfigurationsdatei /etc/hostname eintragen. Diese Datei enthält nichts weiter als den Hostname des Rechners.

Einige Optionen: hostname
-f - Anzeige des FQDN
-d - Anzeige der Domain des Rechners


Die IP-Einstellungen


Jeder Rechner braucht zum Arbeiten in Netzwerken eine eindeutige Adresse. Man unterscheidet nach dem Prinzip des OSI-7-Schichtenmodells unterschiedliche Abstraktionslayer. Wir werden uns nun mir den Layern 2 und 3 beschäftigen und lernen wie wir auf diesen arbeiten können. Linux bietet uns die Möglichkeit sowohl die IP-Einstellungen, als auch die Etherneteinstellungen anzupassen.<br>
Betrachten wir zunächst die Ausgabe des Programms ifconfig. Dieses wichtige Tool liefert eine mächtige Schnittstelle zum System, um Netzwerkeinstellungen zu tätigen. Ohne weitere Parameter gibt uns ifconfig eine Liste mit Netzwerkschnttstellen aus, welche dem System bekannt sind.
Beispiel: ifconfig

eth0 Link encap:Ethernet HWaddr 00:15:F2:5E:5B:47
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::215:f2ff:fe5e:5b47/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6870044 errors:0 dropped:0 overruns:0 frame:0
TX packets:4989053 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6995894429 (6.5 GiB) TX bytes:2579691633 (2.4 GiB)
Interrupt:16

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:353702 errors:0 dropped:0 overruns:0 frame:0
TX packets:353702 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2056124954 (1.9 GiB) TX bytes:2056124954 (1.9 GiB)

Diese Ausgabe enthält die wichtigsten Informationen der derzeit eingestellten Netzwerkparameter aller aktiven Interfaces. Wenn hier von Interface die Rede ist ist immer die physikalische Netzwerkschnittstelle, (Layer 2, nicht die Übertragungsschicht auf Layer 1) gemeint. Gekennzeichnet werden diese Schnittstellen unter Linux mit einem eindeutigen Namen. Dieser Name setzt sich im regelfall wie folgt zusammen: eth[0-99], wobei eth für Ethernet steht. Es ist jedoch ohne weiteres möglich einen anderen Namen vorzugeben, wovon einige Distributionen regen Gebrauch machen. So ist es denkbar einem WLAN-Interface den Namen wifi0 oder wlan0 zuzuweisen, um diese Schnittstelle klar von Kabelgebundenen Interfaces abzugrenzen.
Eine Sonderrolle nimmt das Interface lo (localhost oder loopback) ein. Dieses Interface bildet die Schnittstelle zum eigenen System. Dieses Interface ist auf jedem System vorhanden, unabhängig ob dieses überhaupt ein Netzwerkinterface besitzt. Das Loopback-Netzwerk umfasst die Adressen 127.0.0.0-127.255.255.255. Diese Adresse ermöglicht es Netzwerkprogrammen, den lokalen Rechner auf gleiche Art und Weise zu adressieren wie entfernte Rechner.
Nun wollen wir uns das Programm ifconfig genauer anschauen. Wie bereits erwähnt ist es mit diesem Programm möglich die IP-Adresse des Rechners zu ändern. Neben dieser Adresse kann diverse andere Parameter angeben. Die folgende Tabelle zeigt die Einflussmöglichkeiten:
Einige Parameter: ifconfig

Generelle Syntax von ifconfig:
ifconfig [-v] [-a] [-s] [interface]<br>
oder <br>
ifconfig [-v] interface [aftype] options | address ...<br><br>


options (Auszug):
netmask ADDRESS - Änderung der Netzmaske
broadcast ADDRESS - Änderung der Broadcastadresse
hw ADDRESS - Ändern der Layer 2 - Adresse des Interfaces (sofern dies der Treiber erlaubt)

Parameter (Auszug):
-v - Zeige mehr Informationen insbesondere bei Fehlern
-a - Zeige alle Interfaces unabhängig von deren Zustand
-s - Zeige eine verkürzte Ausgabe

Beispiele: ifconfig

# Setze die IP-Adresse auf 192.168.0.21
root@troubadix:/root# ifconfig eth0 192.168.0.21

# Setze die Broadcast-Adresse auf 192.168.0.255
root@troubadix:/root# ifconfig eth0 broadcast 192.168.0.255

# Zeige Einstellungen von eth0
root@troubadix:/root# ifconfig eth0
eth0 Protokoll:Ethernet Hardware Adresse 00:13:02:30:E7:5A
inet Adresse:192.168.0.21 Bcast:192.168.0.255 Maske:255.255.0.0
inet6 Adresse: fe80::213:2ff:fe30:e75a/64 GÃŒltigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:156829 errors:0 dropped:266 overruns:0 frame:0
TX packets:17862 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 SendewarteschlangenlÀnge:1000
RX bytes:5226157 (4.9 MiB) TX bytes:2278827 (2.1 MiB)
Interrupt:66 Basisadresse:0xc000 Speicher:edf00000-edf00fff

# Setze die Netzmaske auf 255.255.255.0
root@troubadix:/root# ifconfig eth0 netmask 255.255.255.0

# Zeige Einstellungen von eth0
root@troubadix:/root# ifconfig eth0
eth0 Protokoll:Ethernet Hardware Adresse 00:13:02:30:E7:5A
inet Adresse:192.168.0.21 Bcast:192.168.0.255 Maske:255.255.255.0
inet6 Adresse: fe80::213:2ff:fe30:e75a/64 GÃŒltigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:156829 errors:0 dropped:266 overruns:0 frame:0
TX packets:17862 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 SendewarteschlangenlÀnge:1000
RX bytes:5226157 (4.9 MiB) TX bytes:2278827 (2.1 MiB)
Interrupt:66 Basisadresse:0xc000 Speicher:edf00000-edf00fff

# Alternativ: Alle Parameter in einem Befehl
root@troubadix:/root# ifconfig eth0 192.168.0.21 broadcast 192.168.0.255 netmask 255.255.255.0


Die Änderungen mittels ifconfig sind sofort gültig. Es ist kein Neustart des Systems von Nöten, ganz im Gegenteil, denn ein Neustart hätte zur Folge, dass die alten Einstellungen wieder aktiv wären. Änderungen mit ifconfig sind nur bis zum nächsten Neustart gültig.


Ändern der MAC-Adresse


Die MAC-Adresse (Media Access Control) ist die Hardware-Adresse jedes einzelnen Netzwerkadapters, die zur eindeutigen Identifikation des Geräts im Netzwerk dient.
Netzwerkgeräte brauchen dann eine MAC-Adresse, wenn sie auf Schicht 2 explizit adressiert werden sollen, um Dienste auf höheren Schichten anzubieten. (wikipedia)
Unter Linux lässt sich diese Adresse mit Boardmitteln einfach ändern.
Beispiele: Ändern der MAC-Adresse

root@troubadix:/root# ifconfig eth0 |grep "Hardware Adresse"
eth0 Protokoll:Ethernet Hardware Adresse 00:15:58:29:04:B1

root@troubadix:/root# ifconfig eth0 hw ether 00:15:58:AA:AA:AA

root@troubadix:/root# ifconfig eth0 |grep "Hardware Adresse"
eth0 Protokoll:Ethernet Hardware Adresse 00:15:58:AA:AA:AA

Die Änderung der Layer 2-Adresse (MAC-Adresse) ist ganz besonders reizvoll, wenn es darum geht sich Zugang zu einem Netzwerk zu verschaffen, in welches man aufgrund einer MAC-Sperre keinen Zugriff hat, oder wenn man Netzwerkverkehr, der eigentlich nicht an einen gerichtet ist auf sich ziehen will. Diesen Angriff nennt man MAC-Spoofing. Bitte seien Sie sich bewusst das dieser Angriff u.U. eine Straftat darstellt!


Virtuelle Interfaces


Häufig kann es sinnvoll sein einem Interface mehrere IP-Adressen zuzuordnen. Linux erlaubt dieses bereits mit Boardmitteln. Ein einfacher ifconfig-Befehl läßt Sie beliebig viele virtuelle Interfaces anlegen. Auf diesen virtuellen Interfaces können Sie geanauso Arbeiten wie auf physikalischen Interfaces.
Beispiel: Anlegen virtueller Interfaces


root@troubadix:/root# ifconfig
eth0 Link encap:Ethernet HWaddr 00:15:58:29:04:B2
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::215:f2ff:fe5e:5b47/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6870044 errors:0 dropped:0 overruns:0 frame:0
TX packets:4989053 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6995894429 (6.5 GiB) TX bytes:2579691633 (2.4 GiB)
Interrupt:16

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:353702 errors:0 dropped:0 overruns:0 frame:0
TX packets:353702 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2056124954 (1.9 GiB) TX bytes:2056124954 (1.9 GiB)

root@troubadix:/root# ifconfig eth0:1 10.0.0.1
root@troubadix:/root# ifconfig
eth0 Link encap:Ethernet HWaddr 00:15:58:29:04:B2
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::215:f2ff:fe5e:5b47/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6870044 errors:0 dropped:0 overruns:0 frame:0
TX packets:4989053 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6995894429 (6.5 GiB) TX bytes:2579691633 (2.4 GiB)
Interrupt:16

eth0:1 Protokoll:Ethernet Hardware Adresse 00:15:58:29:04:B2
inet Adresse:10.0.0.1 Bcast:10.255.255.255 Maske:255.0.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
Basisadresse:0x3000 Speicher:ee000000-ee020000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:353702 errors:0 dropped:0 overruns:0 frame:0
TX packets:353702 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2056124954 (1.9 GiB) TX bytes:2056124954 (1.9 GiB)

Virtuelle Interfaces haben einen großen Nutzen. Stellen Sie sich beispielsweise vor Sie betreuen einen Linuxserver. Dieser Server bietet unterschiedlichste Dienste (Web,Mail,VPN,...) an. Jeder Dienst soll jedoch auf unterschiedlichen IPs laufen. Gäb es keine Möglichkeit virtuelle Interfaces einzurichten müssten Sie für jede IP die Sie verwenden wollen eine Netzwerkkarte in Ihren Server einbauen. So reicht eine Karte mir beliebig vielen virtuellen Interfaces.


Interfaces aktivieren bzw. deaktivieren


Manchmal kann es kann erforderlich sein Interfaces zu deaktivieren oder deaktivierte wieder zu aktivieren. Dies geschieht unter Linux durch den Aufruf von ifconfig gefolgt von dem Interfacenamen und dem Schlüsselwort down oder up.
Beispiel: Deaktivieren/aktivieren von Interfaces


# deaktivieren von eth0:
root@troubadix:/root# ifconfig eth0 down

# aktivieren von eth0:
root@troubadix:/root# ifconfig eth0 up

Um den Befehl up anzuwenden muss in der Datei /etc/network/interfaces ein dem Interface entsprechender Eintrag vorhanden sein. Ansonsten endet ifconfig mit einer Fehlermeldung, da nicht klar ist welche Einstellungen hierfür genutzt werden sollen.



Notice: Undefined variable: urli in /var/www/stefan/howtux.de/htdocs/classes.php on line 240
Bookmark auf del.icio.usBookmark auf Mister WongBookmark auf BlinklistBookmark auf GoogleBookmark auf LinkarenaBookmark auf YiggBookmark auf FolkdBookmark auf Yahoo
Home / Netzwerkkonfiguration / Netzwerke unter Linux
simplum