|
Die Schnittstelle zur Kommunikation zwischen Computersystemen ist primär die Netzwerkkarte. Sie bindet das System an ein lokales Netzwerk, oft mit einem netzweiten Zugangspunkt zum Internet. Ob es sich bei der Netzwerkkarte um ein Gerät für ein verdrahtetes oder drahtloses Netz handelt, ist für die logische Konfiguration irrelevant. Bei der physischen hingegen muss muss die jeweilge Technologie berücksichtigt werden. Für beide Arten gibt es Tools, die einem bei den Einstellungen unterstützen.
An erster Stelle ist das Programm ifconfig zu nennen. Dieses Programm bietet viele Möglichkeiten für das Management der logischen Netzwerkkonfiguration, also der Adressierung. Es unterstützt mehrere Protokolle, von denen aber heute nur noch die Vertreter der Internet Protokoll Familie von Bedeutung sind. Dominierend ist hier zur Zeit IPv4.
Der Befehl bietet einige Optionen zur Anzeige der vorhandenen Schnittstellen (WLAN, ISDN, DVB-s, Loopback Device, etc.) und deren Konfiguration. Die am häufigsten verwendete (-a) liefert eine Gesamtübersicht der wichtigsten Informationen:
eth0 Link encap:Ethernet HWaddr 00:48:54:6C:93:B5 inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1082 errors:0 dropped:0 overruns:0 frame:0 TX packets:1171 errors:0 dropped:0 overruns:0 carrier collisions:0 txqueuelen:1000 RX bytes:140633 (137.3 Kb) TX bytes:607476 (593.2 Kb) Interrupt:5 Base address:0xe800
eth1 Link encap:Ethernet HWaddr 00:16:6f:3a:2a:c9 inet Adresse:192.168.2.51 Bcast:192.168.2.255 Maske:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1 RX packets:56 errors:0 dropped:0 overruns:0 frame:0 TX packets:49 errors:0 dropped:0 overruns:0 carrier:1 collisions:0 txqueuelen:1000 RX bytes:208111 (203.2 KB) TX bytes:32178 (31.4 KB) Interrupt:21 Base address:0x8000
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:16 errors:0 dropped:0 overruns:0 frame:0 TX packets:16 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1260 (1.2 Kb) TX bytes:1260 (1.2 Kb)
Aber ifconfig kann noch weitaus mehr. Es eignet sich nämlich ebenso zur Konfiguration, also der Zuweisung einer Netzwerkkonfiguration oder das Herauf- und Herunterfahren eines Adapters:
ifconfig eth0 down ifconfig eth0 192.168.1.10 netmask 255.255.255.0 ifconfig eth0 up
Mit dieser Befehlsfolge wird die Schnittstelle eth0 zuerst heruntergefahren, ihr daraufhin eine neue Netzwerkkonfiguration zugewiesen und abschließend wieder heraufgefahren.
Des Weiteren gilt es zu beachten, dass alle Änderungen der Netzwerkkonfiguration mit ifconfig temporär sind. Das heißt, dass sie nur bis zum nächsten Neustart des Systems erhalten bleiben. Ab dann werden die in den Konfigurationsdateien festgelegten Konfigurationen wieder eingelesen und verwendet. Wo diese Konfigurationsdateien zu finden sind, ist abhängig von der Distribution. In jedem Fall aber unterhalb des Verzeichnisses /etc/. Letztendlich sind es auch nur einfache Textdateien, die von Skripten ausgewertet werden.
Tipp: Um dem Problem entgegenzuwirken, sich bei einer fehlerhaften Netzwerkeinstellung an einem entfernten Rechner auszusperren, gibt es eine einfache aber effektive Lösung. Man sichert sich die aktuelle Netzwerkkonfiguration und sorgt per Script dafür, dass sie nach einer bestimmten Zeit automatisch geladen wird. So sperrt man sich im Fehlerfall nur für eine kurze Zeitspanne aus. Alternativ kann man auch den Server veranlassen, nach einer bestimmten zeit neu zu starten. Das alles funktioniert natürlich nur so lange, wie die Änderungen nicht fest in die Konfigurationsdateien eingetragen werden.
Als Beispiel die Konfigurationsdatei /etc/network/interfaces von einem Debian System:
auto lo iface lo inet loopback
# Statische Konfiguration für eth0 auto eth0 iface eth0 inet static address 192.168.1.50 netmask 255.255.255.0 gateway 192.168.1.1
# Dynamische Konfiguration für eth1 (WLAN; nutzt WEP Verschlüsselung - Unsicher!) iface eht1 inet dhcp wireless yes wireless-mode managed wireless-essid WLAN_Netzwerk wireless-key open s:Gehe1me5Pa55worT
Anmerkung: Diese Konfiguration beim dem WLAN-Adapter eth1 gilt nur für die Verschlüsselungstechnik WEP, die nachweislich als unsicher anzusehen ist. Allerdings bieten viele ältere Access-Points keine WPA+ -Verschlüsselungen an. Zudem gibt es leider auch oft Inkompatibilitäten zwischen drahtlosen Netzwerkadaptern im Bezug auf Verschlüsselungstechniken. Daher ist WEP im Zweifelsfall immernoch einer unverschlüsselten Verbindung vorzuziehen.
Wer nun seine Netzwerkkonfiguration dauerhaft ändern möchte kann dies dadurch tun, indem er diese Dateien manuell mit einem Editor bearbeitet. Nach einem Neustart des Netzwerks oder des Systems werden diese Änderungen angewandt und bleiben erhalten. Distributionsabhängig gibt es auch Tools, die einen interaktiv durch die Konfiguration führen und nach dem Abschluss diese Änderungen automatisch vornehmen.
Das Programm ethtool dient der Diagnose und der Einstellung von Parametern verdrahteter Netzwerkadapter auf unteren Ebenen, was als physische Konfiguration bezeichnet werden kann. Dazu zählen AutoNeg, Duplex, FlowControl, Speed, Jumbo-Frames, die Aktivierung von Wake On Lan Funktionen und uvm. Der Befehl, gefolgt vom jeweiligen Adapter, liefert eine Übersicht des aktuellen Zustands:
Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports wake-on: umbg Wake-on: g Current message level: 0x00000007 (7) Link detected: yes
Soll beispielsweise die Bandbreite im Gb-Netzwerk manuell auf 100Mb/s Full Duplex reduziert werden, lautet der Befehl wie folgt:
ethtool --change eth0 autoneg off speed 100 duplex full
Weitere Optionen erhält man durch ethtool -h. Sie sind selbsterklärend, wenn man weiß was man einstellen möchte. Viele Hersteller von Netzwerkkarten empfehlen dieses Programm zum Einstellen der gewünschten Parameter unter Linux. Des Weiteren liefern sie auch die notwendigen Informationen, wie man welche Parameter optimal einstellt.
Für die Grundkonfiguration eines WLAN-Netzwerkadapters verwendet man den Befehl iwconfig. Auch wenn der Name vermuten lässt, dass der Befehl ein Pendant zu ifconfig für drahtlose Netze wäre, ist es eher mit ethtool zu vergleichen, da iwconfig der Diagnose und der Einstellung von physischen Parametern dient, während die logische Konfiguration bei drahtlosen Netzwerkschnittstellen weiterhin mit ifconfig, bzw. in den entsprechenden Dateien vollzogen wird. Die Ausgabe des Satus der WLAN Netzwerkschnittstelle eth1 (oft auch wlanx, wobei x eine fortlaufende Nummer ist) macht dies schnell deutlich:
eth1 IEEE 802.11g ESSID:"WLAN_Netzwerk" Nickname:"WLAN_Client_1" Mode:Managed Frequency:2.427 GHz Access Point: 00:00:00:00:00:00 Bit Rate:54 Mb/s Tx-Power=20 dBm Sensitivity=8/0 Retry limit:7 RTS thr:off Fragment thr:off Encryption key:FA42-C8D3-9B Security mode:restricted Power Management:off Link Quality=94/100 Signal level=-33 dBm Noise level=-85 dBm Rx invalid nwid:0 Rx invalid crypt:2 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:2
Möchte man nun beispielsweise beim WLAN-Netzwerkadapter die Bandbreite auf 1Mb/s reduzieren, geht dies wie folgt:
iwconfig eth1 rate 1Mb/s fixed
Zur Informationsbeschaffung zu drahtlosen Netzen verwendet man das Programm iwlist, welches unter anderem zur Suche und Anzeige verfügbarer Netze geeignet ist. Um alle empfangbaren Netze zu ermitteln, darf der Netzwerkadapter nicht verbunden sein:
ifconfig eth1 down iwlist eth1 scanning
eth1 Scan completed : Cell 01 - Address: 00:13:10:F9:E5:4E ESSID:"WLAN_Netzwerk" Protocol:IEEE 802.11bg Mode:Master Frequency:2.412 GHz (Channel 1) Encryption key:on Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s 11 Mb/s; 12 Mb/s; 18 Mb/s; 22 Mb/s; 24 Mb/s 36 Mb/s; 48 Mb/s; 54 Mb/s Quality=68/100 Signal level=-47 dBm Extra: Last beacon: 140ms ago Cell 02 - Address: 00:12:BF:59:74:A0 ESSID:"WLAN-2" Protocol:IEEE 802.11bg Mode:Master Frequency:2.462 GHz (Channel 11) Encryption key:on Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s 11 Mb/s; 12 Mb/s; 18 Mb/s; 22 Mb/s; 24 Mb/s 36 Mb/s; 48 Mb/s; 54 Mb/s Quality=59/100 Signal level=-65 dBm Extra: Last beacon: 492ms ago Cell 03 - Address: 00:1A:4F:9B:F2:1A ESSID:"WLAN-3" Protocol:IEEE 802.11bg Mode:Master Frequency:2.462 GHz (Channel 11) Encryption key:on Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s 11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s 48 Mb/s; 54 Mb/s Quality=50/100 Signal level=-71 dBm IE: WPA Version 1 Group Cipher : TKIP Pairwise Ciphers (1) : TKIP Authentication Suites (1) : PSK Extra: Last beacon: 508ms ago
Damit die Daten nun auch in größeren Netzwerken ihren Weg ans Ziel finden, müssen grundelgende Routen festgelegt werden. Dazu bedient man sich des Programms route. Möchte man nun der Schnittstelle eth0 ein Gateway für den Internetzugriff zuweisen, genügt die Angabe einer Standardroute unter Beachtung der logischen Konfiguration. Ein Beispiel wäre:
route add -net default gw 192.168.1.1 dev eth0
Damit wird das Gateway 192.168.1.1 als Standard-Route für alle Ziele gesetzt, für die es keine anderen bekannten Routen gibt. Bei der automatischen Zuweisung der Netzwerkkonfiguration durch einen DHCP-Server ist dies in der Regel nicht nötig. Möchte man nun eine weitere Route definieren, weil man beispielsweise an ein Intranet mit dem Netzwerk 176.16.0.0/12 angeschlossen ist, für den es im LAN einen eigenen Router mit der IP-Adresse 192.168.1.2 gibt, geschieht dies folgendermaßen:
route add -net 176.16.0.0 netmask 255.240.0.0 gw 192.168.1.2 dev eth0
Damit lassen sich sehr individuelle Routen definieren, die jedem Netzwerkkonzept gerecht werden. Um die angewandten Einträge zu überprüfen, lässt man sich die Routingtabelle zum Interface eth0 anzeigen:
Destination Gateway Genmask Flags Metric Ref Use Iface link-local * 255.255.0.0 U 1000 0 0 eth0 176.16.0.0 192.168.1.2 255.240.0.0 U 0 0 0 eth0 default 192.168.1.1 255.255.255.0 U 0 0 0 eth0
Anmerkung: Die Bedeutung der einzelnen Spaltenbezeichnungen, weitere Anzeigeoptionen sowie Anwendungsbeispiele werden in der Manpage vorbildlich erklärt, weshalb hier nicht näher darauf eingegangen werden soll.
Zur Namensauflösung von URLs zu IP-Adressen ist die Angabe eines oder mehrerer DNS-Server notwendig. Diese Einträge werden in der Datei /etc/resolve.conf vorgenommen, bzw. bei einem aktiven DHCP-Dienst automatisch dort eingetragen. Die Syntax ist sehr einfach gehalten. Erst muss das Schlüsselwort nameserver benutzt werden, gefolgt von der IP-Adresse des DNS-Servers. In der Reihenfolge wie die DNS-Server dort eingetragen werden, werden sie auch abgefragt, falls ein vorheriger nicht erreichbar ist. In einem Netzwerk mit Router und einem dort aktivem DNS-Dienst, wird deshalb dessen IP-Adresse als erstes eingetragen. Optional lassen sich zusätzlich weitere DNS-Server eintragen, wie die des Providers:
nameserver 192.168.1.1 nameserver 217.237.150.188 nameserver 217.237.151.142
Falls nur der DNS-Dienst auf dem Router ausfällt, sind so zumindest noch öffentliche Dienste im Internet erreichbar.
Weitere Informationen:
- Physische Schnittstellen lassen sich durch virtuelle Adapter duplizieren. Dies geschieht durch die Erweiterung des Adapternamens mit dem Zusatz :Nummer (eth0:1, eth1:5, unsw.). Die logische Konfiguration (Adresse, Routing, etc.) ist dann für jede virtuelle Schnittstelle individuell anwendbar. Vornehmlich wird dieses Verfahren bei virtuellen Machinen eingesetzt. Aber auch die Nutzung zur Netzwerkanalyse oder Netzwerksicherheit ist damit denkbar.
- Einen Großteil der Konfigurationen die hier behandelt werden, können auch mit Programmen aus der TCP/IP Toolsammlung Iproute 2 durchgeführt werden. Diese vereinfacht die Konfiguration dahingehend, dass nicht mehr verschiedene Programme zur Einstellung verwendet werden müssen, sondern hauptsächlich die Befehle ip und tc, gefolgt von unterschiedlichen Optionen. In Zukunft werden sie hier auch näher behandelt.
|