27.2Netzwerkgrundlagen und Glossar
Dieser Abschnitt fasst die Grundlagen der Netzwerkkonfiguration zusammen. Die Informationen gelten nicht nur für den Netzwerkanschluss an ein lokales Netz, sondern auch für die WLAN-, ADSL- und Modemkonfiguration.
Glossar
Für den Großteil des Datenverkehrs in lokalen Netzen und im Internet ist das Protokoll TCP/IP verantwortlich (siehe auch Tabelle 27.1). Dabei werden Netzwerkdaten in Form von relativ kleinen Paketen transportiert. Zusammen mit jedem Paket werden mehrere Metadaten gespeichert, darunter die IP-Adresse und der IP-Port. Die IP-Adresse bestimmt den Empfänger des Pakets. Eine typische IP-Adresse für einen Rechner in einem lokalen Netz lautet 192.168.0.75. Die Port-Nummer gibt die Kategorie des Dienstes an. Vielen Internetdiensten (wie WWW oder E-Mail) sind jeweils eigene Port-Nummern zugeordnet.
Abkürzung |
Funktion |
---|---|
IP = Internet Protocol |
verbindungsloses Protokoll, Basis für TCP und UDP |
TCP = Transmission Control Protocol |
Ende-zu-Ende-Verbindung zwischen zwei Computern/Geräten |
UDP = User Datagram Protocol |
minimales, verbindungsloses Protokoll |
ICMP = Internet Control Message Protocol |
Austausch von IP-Status- und Fehlermeldungen |
PPP = Point-to-Point Protocol |
IP-Verbindungsaufbau über Wählleitungen, z.B. für ADSL und UMTS |
Tabelle 27.1Wichtige Netzwerkprotokolle
IP-Adressen mögen für Computer praktisch sein, Menschen können sich IP-Adressen aber nur schwer merken. Aus diesem Grund werden Rechner im Netzwerk durch eine Kombination aus Host- und Domainnamen identifiziert. Beim Hostnamen handelt es sich um den eigentlichen Rechnernamen. Der Domainname bezeichnet das Teilnetz, innerhalb dessen der Rechner angesprochen werden kann. In lokalen Netzen können Sie den Domainnamen frei wählen; üblich ist z.B. local. Der Domainname kann auch mehrteilig sein.
Wenn Ihr Linux-Rechner als öffentlich im Internet sichtbarer Server agieren soll, müssen Sie den gewünschten Domainnamen bei einem Internet Service Provider bzw. einem Network Information Center (kurz NIC) registrieren – z.B. bei http://www.denic.de für die .de-Domainnamen oder bei http://www.corenic.org für .com-, .net- und .org-Domainnamen.
Benennung von Rechnern in lokalen Netzen
Als Hostname sollte nicht der Name des Rechnerherstellers, des Besitzers oder des gerade anstehenden Projekts verwendet werden – all das kann Verwirrung stiften. Verwenden Sie kurze und einprägsame Namen von Tieren, Pflanzen, Planeten, Flüssen oder was immer Ihnen einfällt. Deutsche Sonderzeichen sind nicht erlaubt.
Meine Testrechner zu Hause sind beispielsweise nach den Planeten unseres Sonnensystems benannt, z.B. jupiter. Als Domainname dient sol. Daraus ergibt sich dann der vollständige Name jupiter.sol.
Verwenden Sie niemals localhost als Hostnamen! Dieser Name hat insofern eine Sonderstellung, als dass er als vollständiger Netzwerkname gilt (fully qualified). Dem Namen ist immer die Adresse 127.0.0.1 der Loopback-Schnittstelle zugeordnet, unabhängig von den restlichen Parametern der Netzwerkkonfiguration.
Eine Schnittstelle kann wahlweise einen Hardware-Netzwerkadapter bezeichnen oder einen durch Software implementierten Verbindungspunkt zwischen verschiedenen Netzen.
Ein Rechner hat oft mehrere Schnittstellen mit unterschiedlichen IP-Adressen. Typische Schnittstellen sind die Loopback-Schnittstelle, Ethernet- und WLAN-Schnittstellen sowie eventuell eine PPP-Schnittstelle, falls Sie ein UMTS-Modem verwenden oder sich in einem Virtual Private Network befinden.
Bei der MAC-Adresse (Media Access Control) handelt es sich um eine eindeutige ID-Nummer, mit der jeder Ethernet-Controller ausgestattet ist. Die MAC-Nummer ermöglicht eine Identifizierung des Netzwerk-Controllers, noch bevor ihm eine IP-Adresse zugewiesen wird. Die MAC-Adresse wird insbesondere vom Protokoll DHCP genutzt, das Sie im nächsten Kapitel kennenlernen.
Linux-intern bekommen alle Netzwerkschnittstellen einen Namen zugewiesen. Typische Namen sind lo für die Loopback-Schnittstelle, eth0, eth1 etc. für die Ethernet-Schnittstelle, wlann für WLAN-Schnittstellen und pppn für die PPP-Schnittstellen.
Seit einigen Jahren verwenden immer mehr Distributionen für LAN- und WLAN-Schnittstellen eine andere Nomenklatur, z.B. enp8s0 oder wlp2s0. Die zugrunde liegenden Namensregeln stellen sicher, dass ein bestimmter Netzwerkadapter immer wieder denselben Device-Namen erhält, selbst dann, wenn ein Computer nachträglich mit weiteren Netzwerkschnittstellen ausgestattet wird.
Die Loopback-Schnittstelle spielt eine besondere Rolle: Sie ermöglicht die Verwendung des Netzwerkprotokolls für lokale Dienste, also zur Kommunikation innerhalb des Rechners. Das klingt vielleicht widersinnig, ist aber für viele elementare Linux-Kommandos erforderlich. Der Grund: Manche Kommandos bauen ihre Kommunikation auf dem Netzwerkprotokoll auf, ganz egal, ob die Daten lokal auf dem Rechner bleiben oder über ein Netz auf einem fremden Rechner weiterverarbeitet werden. Ein Beispiel dafür ist das Druckersystem (CUPS), das Druckjobs sowohl lokal als auch von anderen Rechnern im Netzwerk entgegennimmt. Als IP-Adresse für das Loopback-Interface ist 127.0.0.1 vorgesehen.
Die Ausdehnung eines lokalen Netzes wird durch eine sogenannte Maske ausgedrückt. Dabei handelt es sich um vierteilige Zifferngruppen, die intern als Bitmuster für IP-Adressen verwendet werden. Wenn das lokale Netz z.B. alle Nummern 192.168.0.n umfasst, lautet die dazugehörige Netzwerkmaske 255.255.255.0, die Netzwerkadresse 192.168.0.0 und die Broadcast-Adresse 192.168.0.255. Bei vielen Konfigurationsprogrammen brauchen Sie weder die Netzwerk- noch die Broadcast-Adresse anzugeben, da sich diese aus der IP-Adresse und der Maske ergeben.
Das resultierende Netzwerk wird jetzt mit 192.168.0.0/255.255.255.0 oder kurz mit 192.168.0.0/24 bezeichnet. Diese Kurzschreibweise heißt auch Präfix-Notation. Die Zahl hinter dem Schrägstrich gibt die Anzahl der binären Einser der Netzwerkmaske an. Zwei Rechner mit den IP-Adressen 192.168.0.71 und 192.168.0.72 können sich in diesem Netzwerk also direkt miteinander verständigen, weil die IP-Adressen im Bereich der Netzwerkmaske übereinstimmen.
Die maximale Anzahl von Rechnern, die gleichzeitig in diesem Netz kommunizieren können, beträgt 254 (.1 bis .254) – die Nummern .0 und .255 sind reserviert.
Ein Gateway ist ein Rechner, der an der Schnittstelle zwischen zwei Netzen steht, oft zwischen dem lokalen Netz und dem Internet. Damit Ihr Linux-Rechner in einem lokalen Netz auf das Internet zugreifen kann, müssen Sie bei der Konfiguration die Gateway-Adresse angeben.
Die Gateway-Adresse bezeichnet also einen besonderen Rechner im lokalen Netz. In Privathaushalten ist das Gateway oft ein ADSL-Modem oder ein damit verbundener WLAN-Router. Auch ein als HotSpot eingesetztes Smartphone (Tethering) kann als lokales Gateway dienen. In diesem Fall kommunizieren andere Rechner über das WLAN mit dem Smartphone, und dieses leitet die IP-Pakete dann über das Mobilfunknetz in das Internet weiter.
Ein Nameserver ist ein Programm, das Rechnernamen bzw. Internetadressen wie www.yahoo.com in IP-Adressen übersetzt. Bei kleinen Netzen erfolgt die Zuordnung zwischen Namen und Nummern manchmal durch eine statische Tabelle in der Datei /etc/hosts. Im Internet übernehmen Rechner mit entsprechenden Datenbanken diese Aufgabe. Statt des Begriffs Nameserver ist auch die Abkürzung DNS für Domain Name Server oder Services üblich.
Wenn Sie in einem Webbrowser die Seite www.yahoo.com ansehen möchten, wird daher als Erstes der Nameserver kontaktiert, um die IP-Adresse des Webservers von www.yahoo.com herauszufinden. Erst nachdem das gelungen ist, wird eine Verbindung mit dieser IP-Adresse hergestellt.
Das Dynamic Host Configuration Protocol (DHCP) wird oft in lokalen Netzwerken verwendet, um die Administration des Netzwerks zu zentralisieren. Anstatt bei jedem Rechner manuell die IP-Adresse, die Maske, das Gateway, den Nameserver etc. einzustellen, übernimmt ein zentraler DHCP-Server bzw. ein ADSL-Router diese Aufgabe. Alle Rechner im lokalen Netzwerk nehmen beim Hochfahren Kontakt mit dem DHCP-Server auf und fragen ihn, welche Einstellungen sie verwenden sollen. Das reduziert die Client-Konfiguration auf ein Minimum.
IP-Adressen
IP-Adressen werden zur Identifizierung von Rechnern innerhalb eines Netzwerks verwendet. Das gilt sowohl in lokalen Netzen als auch im Internet. Dieser Abschnitt vermittelt Hintergrundinformationen über die Verwendung von IP-Adressen, wobei ich mich vorerst auf das »alte« Protokoll IPv4 beziehe. Informationen zu IPv6 folgen dann im nächsten Abschnitt.
Theoretisch sieht das Protokoll IPv4 2564, also rund 4 Milliarden IP-Adressen vor. Tatsächlich sind aber weit weniger IP-Adressen verfügbar: Zum einen ist ein Teil der Nummern für Spezialfunktionen reserviert, unter anderem alle IP-Adressen, die mit .0 bzw. .255 enden; zum anderen wurden IP-Adressen früher in recht großzügigen Paketen an Staaten bzw. Firmen vergeben. Mittlerweile ist der Vorrat an freien IPv4-Adressen erschöpft. Internet-Provider sowie Betreiber von Mobilfunknetzen sind deswegen als Erste auf IPv6 umgestiegen.
Wenn Sie einen eigenen Webserver mit dem Internet verbinden möchten, benötigen Sie nicht nur einen weltweit gültigen Domainnamen (z.B. »meinefirma.de«), sondern auch eine eigene IP-Adresse. Diese bekommen Sie von Ihrer Hosting-Firma zugewiesen.
Firmen oder Organisationen verwenden in lokalen Netzwerken zumeist IP-Adressen des privaten Adressraums. Nur das Gateway der Firma bzw. bei Privathaushalten der ADSL-Router haben eine öffentliche IP-Adresse. Alle Rechner des lokalen Netzwerks nutzen diese IP-Adresse dann gemeinsam. Das zugrunde liegende Verfahren wird Masquerading genannt. Es ist Thema des nächsten Kapitels.
Im IPv4-Zahlenraum wurden drei Bereiche für lokale Netzwerke reserviert (siehe Tabelle 27.2): Ganz egal, in welchem Teilnetz Sie Ihr lokales Netz bilden – es ist sichergestellt, dass es zu keinen Adresskonflikten mit »richtigen« IP-Internetadressen kommt.
Adressbereich |
Netzwerk/Teilnetze |
---|---|
10.0.0.0–10.255.255.255 |
ein Netzwerk für ca. 16 Millionen Adressen |
172.16.0.0–172.31.255.255 |
16 Teilnetze (z.B. 172.23.*.*) für je ca. 65.000 Adressen |
192.168.0.0–192.168.255.255 |
256 Teilnetze (z.B. 192.168.54.*) für je 254 Adressen |
Tabelle 27.2Reservierte IP-Bereiche für private Netzwerke
Eine IP-Adresse bezeichnet nicht einen Rechner, sondern eine IP-Schnittstelle. Da die meisten Rechner über mehrere Schnittstellen verfügen, z.B. für den Ethernet-Controller, für den WLAN-Controller und für die Localhost-Schnittstelle, sind einem Rechner oft mehrere IP-Adressen zugewiesen! Wenn von der IP-Adresse die Rede ist, als gäbe es nur eine einzige, dann ist zumeist diejenige Adresse gemeint, über die der Rechner im lokalen Netz oder im Internet angesprochen wird.
IPv6
Bis jetzt habe ich mich immer auf IP-Version 4 bezogen (IPv4). Das gesamte Internet in seiner jetzigen Form basiert auf dieser IP-Version. Allerdings gibt es bereits seit 2011 keine freien IPv4-Adressblöcke mehr. Außerdem weist das Protokoll einige funktionelle Mängel auf, weswegen IP für manche Anwendungen schlecht geeignet ist, z.B. für Audio- und Video-Streaming.
Die schon seit 1998 (!) standardisierte IP-Version 6 behebt diese Mängel. Die wohl markanteste und für Administratoren offensichtlichste Änderung besteht darin, dass für IP-Adressen nun statt 32 gleich 128 Bit vorgesehen sind. In der herkömmlichen Schreibweise würde eine IPv6-Adresse dann so aussehen:
121.57.242.17.122.58.243.18.19.123.59.20.244.124.60.245
Es ist offensichtlich, dass das nicht praktikabel ist. Um etwas Platz zu sparen, werden IPv6-Adressen in bis zu acht durch das Zeichen : getrennte Gruppen hexadezimaler Zahlen gegliedert, wobei in jeder Gruppe führende Nullen entfallen dürfen:
abcd:0017:02ff:12aa:2222:0783:00dd:1234 → abcd:17:2ff:12aa:2222:783:dd:1234 Um den Schreibaufwand weiter zu minimieren, gilt :: als Kurzform für mehrere 0-Gruppen:
abcd:17:0:0:0:0:dd:1234 → abcd:17::dd:1234
0:0:0:0:0:783:dd:1234 → ::783:dd:1234
Für localhost gibt es die noch kompaktere Kurzschreibweise ::1:
0:0:0:0:0:0:0:1 → ::1
Wenn IPv4-Adressen in IPv6 abgebildet werden, sind die ersten fünf Gruppen 0, die sechste ffff. Die abschließenden 32 Bit dürfen statt in hexadezimaler Schreibweise auch in der vertrauten dezimalen Schreibweise angegeben werden:
110.111.112.113 (IPv4) → ::ffff:110.111.112.113 (IPv6)
IPv6 unterscheidet zwischen verschiedenen Typen von Adressen, von denen ich hier nur die wichtigsten vorstelle. Beachten Sie, dass Netzwerkschnittstellen zugleich mehrere IPv6-Adressen besitzen dürfen, z.B. eine private lokale Adresse (Link-Local) und eine öffentliche Adresse (Global Unicast):
-
Global Unicast: Das sind »gewöhnliche«, weltweit gültige IP-Adressen. Sie beginnen zumeist mit der Ziffer 2 und eignen sich für eine Punkt-zu-Punkt-Kommunikation.
-
Link-Local: Das sind private Adressen innerhalb eines lokalen Netzes im Adressbereich fe80::/64. Die Adressen werden automatisch generiert und ermöglichen eine konfigurationslose Kommunikation innerhalb eines lokalen Netzwerks, vergleichbar mit dem Zeroconf-Verfahren für IPv4, das in Abschnitt 27.6, »Zeroconf und Avahi«, behandelt wird.
-
Site-Local: Das sind private Adressen innerhalb der Adressbereiche fec0:: bis feff::. Sie können ähnlich wie der IPv4-Bereich 10.*.*.* zur Definition privater lokaler Netzwerke verwendet werden.
-
Multicast: Adressen im Bereich ff00::/8 sind Multicast-Adressen. An solche Adressen gesendete Pakete werden an alle Geräte im betreffenden Netzwerk geleitet. Der Aufbau von Multicast-Adressen ist durch den Standard RFC 4291 definiert. Multicast-Adressen ersetzen die von IPv4 bekannten Broadcast-Adressen, bieten darüber hinaus aber zusätzliche Möglichkeiten.
Eine detailliertere Beschreibung der IPv6-Grundlagen sowie weiterer Sonderfälle von IPv6-Adressen finden Sie in der Wikipedia und auf der alten, aber weiterhin hilfreichen Linux-IPv6-HowTo-Seite:
http://de.wikipedia.org/wiki/IPv6
http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO
Auch in IPv6 gilt das Konzept, dass Teilnetze durch Adressmasken gebildet werden. Die Maske wird ausschließlich in der Kurzschreibweise /n formuliert. Wie bei IPv4 gibt n die Anzahl der Bits am Beginn der Adresse an, die unveränderlich sind. Je kleiner n ist, desto größer ist die Anzahl der möglichen Adressen im Teilnetz.
Die Adresse 2001:78b:f2f:417::2/64 bedeutet, dass der Rechner ohne Router mit allen anderen Geräten kommunizieren kann, die eine Adresse der Form 2001:78b:f2f:417:* haben. /64 bedeutet, dass die ersten 64 Bit der IP-Adresse das Teilnetz bestimmen und somit vorgegeben sind. Die restlichen 64 Bit dienen zur Identifizierung der Teilnehmer innerhalb des Teilnetzes. Ein /64-Netz bietet Platz für 264 = 18×1018 Adressen, also ca. 4 Milliarden mal mehr Adressen als im gesamten IPv4-Netz!
Da es an IPv6-Adressen keinen Mangel gibt, sehen die IPv6-Richtlinien einen äußerst großzügigen Umgang mit Teilnetzen vor: Kleinere Teilnetze als /64 sind gar nicht vorgesehen! Vielmehr ist geplant, dass Internet-Provider jedem Kunden grundsätzlich ein /64-Netz zur Verfügung stellen. Da es erst recht wenige IPv6-Provider gibt, bleibt abzuwarten, ob das auch in der Praxis der Fall sein wird. Sollte es dabei bleiben, wird es beim Aufbau lokaler Firmen- oder Heimnetze keine Limits geben: Wenn Sie nicht gerade jedem Atom Ihres Haushalts seine eigene IPv6-Adresse zuordnen möchten, besteht keine Gefahr, dass Sie den Vorrat Ihrer IPv6-Adressen erschöpfen.
Der Linux-Kernel kommt mit IPv6 prinzipiell schon seit Anfang 2000 gut zurecht. Auch die meisten Netzwerkanwendungen und Distributionen sind längst IPv6-kompatibel. Wenn Sie beispielsweise einen Blick in die Datei /etc/hosts auf Ihrem Rechner werfen, werden Sie feststellen, dass es dort Einträge für zwei Localhost-Adressen gibt, einmal für IPv4 und einmal für IPv6:
Mit dem Testkommando ping6 können Sie IPv6-Pakete an ip6-localhost oder an die Adresse ::1 senden:
Grundsätzlich sind IPv4- und IPv6-Netze komplett voneinander getrennt! In einem IPv4-Netz können Sie keine IPv6-Rechner ansprechen und umgekehrt. Immerhin ist ein Parallelbetrieb möglich: Sie können also einen Rechner bzw. eine Netzwerkschnittstelle so einrichten, dass sie IPv4 und IPv6 spricht.
IPv4 und IPv6 werden noch über viele Jahre parallel existieren. Um den Mischbetrieb zu vereinfachen, existieren verschiedene Verfahren, um IPv6-Pakete auch über IPv4-Netze zu transportieren – und umgekehrt. Am populärsten sind hierfür sogenannte Tunnel, also spezielle Programme, die z.B. IPv6-Pakete nochmals verpacken und in einem IPv4-Netz zum nächsten IPv6-Router transportieren. Die erforderlichen Tunnelprotokolle sind aber nicht Teil des IPv6-Standards.
Mehrere Firmen bieten kostenlose Tunnel-Services an, z.B. http://www.tunnelbroker.net, http://www.gogo6.com oder http://www.sixxs.net. Nach einer Registrierung können Sie mit diesen Diensten IPv6 ausprobieren, auch wenn Sie selbst nur einen IPv4-Internetzugang haben. Entsprechende Konfigurationsbeispiele folgen in Abschnitt 27.3, »Manuelle LAN- und WLAN-Konfiguration«. Weitere Details können Sie auf der folgenden Website nachlesen, wobei die meisten Informationen über Ubuntu hinaus gültig sind:
Wenn Sie unsicher sind, ob Ihr Rechner IPv6-Zugang hat, besuchen Sie eine der vielen IPv6-Testseiten, z.B. http://test-ipv6.com oder http://ipv6-test.com. Alternativ können Sie mit ping6 google.com ausprobieren, ob Sie eine IPv6-Verbindung zu Google herstellen können. Zu guter Letzt können Sie die Kommandos ip -6 addr und ip -6 route ausführen, wobei die Interpretation der Ergebnisse aber nicht ganz einfach ist. Details zum Kommando ip folgen in Abschnitt 27.3, »Manuelle LAN- und WLAN-Konfiguration«.
In der Praxis haben Sie als Desktop-Anwender in der Regel nichts mit IPv6 zu tun. Selbst wenn Ihr Mobilfunk- oder Internet-Provider intern IPv6 verwendet, erfolgt die Kommunikation zu Ihnen meist in einem Tunnel und es sieht so aus, als befänden Sie sich in einem IPv4-Netzwerk. Das ist auch gut so, denn mit einem IPv6-Zugang ohne IPv4-Kompatibilität könnten Sie nur wenige Websites besuchen.
Auch für die Administration lokaler Netzwerke ist IPv6 normalerweise nicht relevant: Es spricht nichts dagegen, ein LAN weiterhin als privates IPv4-Netzwerk einzurichten, z.B. im Adressbereich 192.168.0.*.
Bleibt die Frage, wie wichtig IPv6 für Root-Server ist. Selbst hier können Sie IPv6 noch aus dem Weg gehen, wenn der Server überwiegend für europäische und amerikanische Benutzer gedacht ist. Anders sieht es in manchen afrikanischen oder asiatischen Ländern aus. Dort gibt es eine zunehmende Anzahl von Internetanwendern, die ausschließlich über eine IPv6-Verbindung ohne Tunnel oder andere Kompatibilitätsschichten verfügen. Langfristig geht deswegen für Root-Server kein Weg am Parallelbetrieb von IPv4 und IPv6 vorbei, also an einer sogenannten »Dual-Stack«-Konfiguration. Google, Facebook oder heise.de haben diesen Schritt bereits vor einigen Jahren vollzogen.
WLAN-Standards, Glossar
Zur Beschreibung drahtloser Netze haben sich mehrere Abkürzungen eingebürgert. Am gängigsten ist WLAN (Wireless Local Area Network) oder dessen deutsche Variante Funk-LAN. In englischen Texten ist sehr oft von WiFi (Wireless Fidelity) die Rede, wobei der Begriff oft synonym mit WLAN verwendet wird. Manchmal ist aber auch die WiFi-Alliance gemeint, ein Herstellerkonsortium, das sich um die Kompatibilität von WLAN-Produkten kümmert.
Dieser Abschnitt fasst kurz die WLAN-Terminologie zusammen. Die wichtigsten WLAN-Standards sind durch das IEEE (Institute of Electrical and Electronics Engineers) definiert und beginnen alle mit der Nummer 802.11. Die ergänzenden Buchstaben beziehen sich in chronologischer Reihenfolge auf Versionen bzw. Varianten des Standards.
Die Bruttoübertragungsrate (z.B. 54 MBit/s für 802.11g) in den Prospekten sieht oft vielversprechend aus. Nach Abzug des großen Protokoll-Overheads bleibt davon netto deutlich weniger als die Hälfte übrig – und auch das nur, solange nicht mehr als zwei WLAN-Teilnehmer miteinander kommunizieren, die Funkverbindung gut ist und sich keine Teilnehmer im Netz befinden, deren Hardware noch einen alten WLAN-Standard verwendet.
Es gibt verschiedene Arten von WLAN-Hardware:
-
In alle modernen Notebooks ist ein WLAN-Controller eingebaut. Bei Desktop-Rechnern oder älteren Geräten kann ein WLAN-USB-Stick diese Funktion übernehmen.
-
Eine WLAN-Bridge verbindet einen einzelnen Computer mit einem WLAN. Die Bridge erfüllt also dieselbe Funktion wie der eingebaute WLAN-Controller eines Notebooks, nur der Anschluss an den Rechner ist anders: Die Bridge wird durch ein Ethernet-Kabel mit dem Computer verbunden.
-
Ein Access-Point stellt in einem lokalen Netzwerk einen Zugangspunkt für mehrere WLAN-Clients her. Der Access-Point wird mit einem Ethernet-Kabel an das lokale Netzwerk angeschlossen. Im Unterschied zur Bridge kann ein Access-Point mit mehreren Clients gleichzeitig kommunizieren.
-
Ein WLAN-Router agiert ähnlich wie ein Access-Point, ist aber »intelligenter«: Das Gerät enthält unter anderem einen eigenen DHCP-Server, um den WLAN-Clients Ihre IP-Daten zuzuweisen. In viele moderne ADSL-Modems ist ein WLAN-Router integriert. Derartige Geräte bezeichnet man dann oft als Gateways.
Die Konfiguration von WLAN-Geräten erfolgt zumeist durch einen Webbrowser. Dazu stellen die Geräte unter einer bestimmten IP-Adresse (z.B. http://192.168.0.1) eigene Webseiten zur Konfiguration zur Verfügung.
WLAN-Verbindungsparameter
Wenn Sie eine Verbindung zwischen zwei WLAN-Geräten herstellen, müssen Sie diverse Parameter einstellen.
WLAN-Komponenten können auf unterschiedliche Arten miteinander kommunizieren. Im Folgenden sind nur die drei wichtigsten Modi kurz beschrieben:
-
Der Infrastructure Mode (manchmal auch Managed Mode genannt) erlaubt die Kommunikation mit einem zentralen Zugangspunkt. Die Netzwerkstruktur ist also sternförmig. Meist ist der Zugangspunkt ein Access-Point oder ein WLAN-Router, es kann aber auch ein entsprechend konfigurierter Rechner sein.
-
Das WLAN-Gerät des Access Points läuft im Master Mode. Der Infrastucture Mode gilt also gewissermaßen für die Clients, während der Master Mode für den Server eines WLANs zur Anwendung kommt.
-
Beim Ad-hoc Mode kommuniziert jedes WLAN-Gerät direkt mit jedem anderen WLAN-Gerät, das in Funkreichweite ist.
Die Abkürzungen SSID (Service Set Identification) bzw. ESSID (Extended SSID) bezeichnen eine Zeichenkette, die einem WLAN-Netz einen Namen gibt. WLAN-Geräte können nur dann miteinander kommunizieren, wenn ihre SSIDs übereinstimmen.
Als SSID ist oft der Herstellername voreingestellt. Deswegen können Geräte desselben Herstellers oft auf Anhieb miteinander kommunizieren, während bei Geräten unterschiedlicher Herkunft zuerst eine gemeinsame SSID-Zeichenkette eingestellt werden muss.
Manche WLAN-Karten sehen für die SSID eine Auto-Konfiguration vor (Einstellung any). Beachten Sie, dass bei der SSID-Zeichenkette zwischen Groß- und Kleinschreibung unterschieden wird!
Innerhalb eines WLAN-Netzes mit einheitlicher SSID kann es mehrere Teilnetze (Cells) geben, zwischen denen mit der NWID (Network ID) differenziert wird. In der Praxis kommt das aber nur selten vor, weswegen manche Konfigurationsprogramme auf die NWID gleich ganz verzichten.
Manchmal wird statt NWID der verwirrende Begriff Domain verwendet. Mit dem herkömmlichen Domainnamen von IP-Adressen hat die NWID aber nichts zu tun.
Innerhalb des Frequenzbandes, das durch den jeweiligen 802.11x-Standard vorgesehen ist, gibt es mehrere Teilbereiche (Kanäle, Channels), auf denen parallel gesendet werden kann. Im Infrastructure Mode erkennen WLAN-Adapter selbstständig den Kanal, der vom Access Point vorgegebenen ist. Eine explizite Einstellung des Kanals ist nur notwendig, wenn es zu Interferenzen mehrerer WLANs kommt.
WLAN-Sicherheit
Grundsätzlich ist es möglich, ein WLAN unverschlüsselt zu betreiben. Dann kann aber jeder, der sich in Reichweite des Funknetzes befindet, dieses nutzen und die gesamte Kommunikation abhören. Ein unverschlüsselter Betrieb ist daher grob fahrlässig!
Zur Verschlüsselung des Datenverkehrs kam bei den ersten WLAN-Generationen das Verfahren Wired Equivalent Privacy (WEP) zum Einsatz. Dabei werden die Daten wahlweise mit einem 40- oder 104-Bit-Schlüssel verschlüsselt. Oft ist auch von 64- bzw. 128-Bit-Verschlüsselung die Rede. Die restlichen 24 Bit dienen aber nicht zur eigentlichen Verschlüsselung.
Der WEP-Schlüssel wird in der Regel als hexadezimale Zahl angegeben (10 bzw. 26 Stellen, je nach der Bitanzahl des Schlüssels). Manche Konfigurationswerkzeuge bieten Ihnen auch die Möglichkeit, den Schlüssel aus einer »Passphrase« zu erzeugen, also aus einem Text, der auch aus mehreren Wörtern bestehen darf.
Vermeiden Sie WEP!
WEP hat sich aufgrund von gravierenden Konzeptmängeln als unsicher herausgestellt. Selbst ein 104-Bit-Schlüssel kann durch simples Abhören des WLAN-Verkehrs innerhalb weniger Minuten ermittelt werden.
Die Nachfolge von WEP haben die Verfahren WiFi Protected Access (kurz WPA) sowie dessen verbesserte Version WPA2 angetreten. Die genaue Spezifikation von WPA2 ist im Standard 802.11i niedergeschrieben. Der wichtigste Unterschied zwischen WPA und WPA2 ist der Verschlüsselungsalgorithmus: RC4 bei WPA, AES bei WPA2.
WPA war als Übergangslösung bis zur Fertigstellung des 802.11i-Standards gedacht. Da es aber WLAN-Hardware gibt, die nur WPA, aber noch nicht WPA2 unterstützt, werden auf absehbare Zeit beide Varianten im Einsatz bleiben.
Der wesentliche Vorteil von WPA besteht darin, dass der Schlüssel nur zur Initialisierung der Verbindung eingesetzt wird. Sobald die Verbindung steht, werden die Schlüssel nach einem ausgeklügelten Verfahren ständig gewechselt. WPA und WPA2 gelten nach aktuellem Stand der Technik als sicher, sofern eine ausreichend lange Passphrase eingesetzt wird, also ein aus mehreren Wörtern und Zeichen bestehender Schlüssel.
Dieses Buch behandelt nur die WPA/WPA2-Variante Pre-Shared Key (kurz PSK, oft auch WPA-Personal genannt): Hier melden sich alle WLAN-Nutzer mit demselben Schlüssel im Netz an. Bei der noch sichereren Variante Managed Key hat jeder Nutzer einen eigenen Schlüssel. Allerdings müssen die Schlüssel nun auf einem zentralen Server verwaltet werden.
Sichern Sie auch das WLAN-Gerät an sich ab!
Die Einstellungen des WLAN-Routers oder Access Points werden normalerweise per Webbrowser verändert. Der Webzugang ist durch ein firmenspezifisches Passwort abgesichert, das Sie unbedingt ändern sollten! Generell sollten Sie die Fernwartung so weit wie möglich einschränken und nicht per WLAN, sondern nur über eine LAN-Verbindung durchführen.
Durch eine Firewall können Sie den WLAN-Datenverkehr gezielt auf bestimmte Protokolle, Netzwerksegmente etc. beschränken. Ein anderer Ansatzpunkt besteht darin, das WLAN trotz aller anderen Schutzmaßnahmen als unsicher zu betrachten. Um dennoch sicher zu kommunizieren, verschlüsseln Sie Ihren Datenverkehr selbst. Am populärsten ist für diesen Zweck die Verwendung eines VPN (Virtual Private Network).
Linux-Unterstützung für WLANs
In der Vergangenheit spielten die Linux-Wireless-Tools eine große Rolle bei der Nutzung von WLAN-Komponenten. Die Wireless-Tools bestehen aus mehreren Kommandos (iwconfig, iwlist etc.) zur Konfiguration der WLAN-Adapter. Die Wireless-Tools sind aus dem Linux-WLAN-Alltag zwar noch nicht ganz wegzudenken, sie gelten aber als konzeptionell veraltet.
Als vor einigen Jahren die Generalüberholung der Linux-WLAN-Treiber begann, wurde das neue Steuerungskommando iw entwickelt. iw kann allerdings nur für WLAN-Controller verwendet werden, deren Treiber die nl80211-Schnittstelle unterstützen. Aus diesem Grund installieren viele Linux-Distributionen die Kommandos iwconfig und iw parallel. Hintergrundinformationen zu beiden Linux-Wireless-Systemen finden Sie hier:
http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html
http://wireless.kernel.org
Die eigentlichen WLAN-Hardware-Treiber befinden sich in Kernelmodulen. Aktuelle Treiber basieren auf dem mac80211-Framework und sind zur nl80211-Schnittstelle und damit zum Kommando iw kompatibel. Linux enthält Treiber zu nahezu allen marktüblichen WLAN-Adaptern – aber wie immer gibt es Ausnahmen. Besonders problematisch sind ganz neue WLAN-Adapter: Selbst bei einer guten Kooperation zwischen dem Hardware-Hersteller und der Linux-Entwicklergemeinde dauert es oft ein ganzes Jahr, bis neue Treiber den Weg in aktuelle Distributionen finden. Es lohnt sich also, vor dem Kauf eines Notebooks ein wenig im Internet zu recherchieren!
Die meisten WLAN-Controller können Sie selbst programmieren. Damit sie funktionieren, muss während der Initialisierung die sogenannte Firmware, also controller-interner Programmcode, in den Controller übertragen werden. Die Firmware stammt von den Controller-Herstellern und darf unter Einhaltung der jeweiligen Lizenzbedingungen frei weitergegeben werden. Um die Übertragung des Codes in den Controller kümmert sich in der Regel das Kernelmodul oder das udev-System. Der Controller-Code befindet sich in Binärdateien (Blobs), zumeist im Verzeichnis /lib/firmware.
Die Chip-Hersteller stellen die Firmware nur in binärer Form zur Verfügung, nicht als Quellcode. Das ist aus Open-Source-Sicht betrüblich und wird vor allem von der Debian-Entwicklergemeinde kritisiert. Bei der Installation von Debian müssen Sie Firmware-Dateien zuerst aus dem Internet herunterladen und dann auf einem eigenen Datenträger zur Verfügung stellen (siehe Abschnitt 3.2, »Debian«).
Persönlich sehe ich das Firmware-Problem entspannter als die Debian-Entwickler: Früher wäre dem WLAN-Controller ein EPROM hinzugefügt worden, und kein Hahn hätte danach gekräht, dass dieses keinen Open-Source-Code enthält. Die jetzige Lösung ist billiger und erlaubt Updates. Natürlich wäre es wünschenswert, wenn auch für die im Controller ausgeführten Programme der Quellcode verfügbar wäre, aber diese Hoffnung ist unrealistisch.