Index: head/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml =================================================================== --- head/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml (revision 47795) +++ head/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml (revision 47796) @@ -1,6170 +1,5921 @@ Weiterführende Netzwerkthemen Johann Kois Übersetzt von - Übersicht Dieses Kapitel beschreibt verschiedene weiterführende Netzwerkthemen. Nachdem Sie dieses Kapitel gelesen haben, werden Sie Die Grundlagen von Gateways und Routen kennen. Wissen, wie man USB Tethering einrichtet. &bluetooth;- sowie drahtlose, der Norm &ieee; 802.11 entsprechende, Geräte mit &os; verwenden können. Eine Bridge unter &os; einrichten können. Wissen, wie man mithilfe von PXE über - ein Netzwerk bootet. + ein Netzwerk von einem NFS + Root-Dateisystem bootet. IPv6 auf einem &os;-Rechner einrichten können. - CARP, das Common Address Redundancy Protocol, unter - &os; einsetzen können. + Das Common Address Redundancy Protocol + (CARP) unter &os; einsetzen + können. Bevor Sie dieses Kapitel lesen, sollten Sie Die Grundlagen der /etc/rc-Skripte verstanden haben. Mit der grundlegenden Netzwerkterminologie vertraut sein. Einen neuen &os;-Kernel konfigurieren und installieren können (). - Wissen, wie man zusätzliche Softwarepakete von - Drittherstellern installiert (). + Wissen, wie man zusätzliche Software von + Drittherstellern installiert + (). Gateways und Routen - Coranth - Gryphon - - Beigetragen von - + Coranth + Gryphon + + Beigetragen von + Routing + Gateway + Subnetz - Damit ein Rechner einen anderen über ein Netzwerk - finden kann, muss ein Mechanismus vorhanden sein, der - beschreibt, wie man von einem Rechner zum anderen gelangt. - Dieser Vorgang wird als Routing - bezeichnet. Eine Route besteht aus einem - definierten Adressenpaar: Einem Ziel und einem - Gateway. Dieses Paar zeigt an, dass Sie - über das Gateway zum - Ziel gelangen wollen. Es gibt drei Arten + Damit ein Rechner einen anderen über ein Netzwerk finden + kann, muss ein Mechanismus vorhanden sein, der beschreibt, wie + man von einem Rechner zum anderen gelangt. Dieser Vorgang wird + als Routing bezeichnet. Eine + Route besteht aus einem definierten Adresspaar: + Einem Ziel und einem Gateway. + Dieses Paar zeigt an, dass Pakete über das + Gateway zum Ziel + gelangen können. Es gibt drei Arten von Zielen: Einzelne Rechner (Hosts), Subnetze und das Standardziel. Die Standardroute - wird verwendet, wenn keine andere Route zutrifft. Wir werden - Standardrouten später etwas genauer behandeln. - Außerdem gibt es drei Arten von Gateways: Einzelne Rechner - (Hosts), Schnittstellen (Interfaces, auch als Links - bezeichnet), sowie Ethernet Hardware-Adressen (MAC-Adressen). + wird verwendet, wenn keine andere Route zutrifft. Außerdem gibt + es drei Arten von Gateways: Einzelne Rechner + (Hosts), Schnittstellen (Interfaces, auch als + Links bezeichnet), sowie Ethernet + Hardware-Adressen (MAC). Ein Beispiel - Um die verschiedenen Aspekte des Routings zu - veranschaulichen, verwenden wir folgende Ausgaben von - netstat: + Dieses Beispiel zeigt anhand der Ausgabe von + &man.netstat.1; mehrere Aspekte des Routings: &prompt.user; netstat -r Routing tables Destination Gateway Flags Refs Use Netif Expire default outside-gw UGSc 37 418 ppp0 localhost localhost UH 0 181 lo0 test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77 10.20.30.255 link#1 UHLW 1 2421 example.com link#1 UC 0 0 host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0 host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 => host2.example.com link#1 UC 0 0 224 link#1 UC 0 0 Defaultroute - Die ersten zwei Zeilen geben die Standardroute (die wir - im nächsten - Abschnitt behandeln), sowie die - localhost Route an. + Die ersten zwei Zeilen geben die Standardroute, die im + genauer beschrieben + wird, sowie die localhost + Route an. Loopback-Gerät Das in der Routingtabelle für localhost festgelegte Interface (Netif-Spalte) lo0, ist auch als loopback-Gerät (Prüfschleife) bekannt. Das heißt, dass der ganze - Datenverkehr für dieses Ziel intern (innerhalb des - Gerätes) bleibt, anstatt ihn über ein Netzwerk (LAN) - zu versenden, da das Ziel dem Start entspricht. + Datenverkehr für dieses Ziel intern bleibt, anstatt ihn über + ein Netzwerk zu versenden. Ethernet MAC-Adresse - Der nächste auffällige Punkt sind die mit - 0:e0: beginnenden Adressen. Es - handelt sich dabei um Ethernet Hardwareadressen, die auch als - MAC-Adressen bekannt sind. &os; identifiziert Rechner im - lokalen Netz automatisch (im Beispiel test0) - und fügt eine direkte Route zu diesem Rechner hinzu. Dies - passiert über die Ethernet-Schnittstelle - ed0. Außerdem existiert ein Timeout - (in der Spalte Expire) für diese Art - von Routen, der verwendet wird, wenn dieser Rechner in einem - definierten Zeitraum nicht reagiert. Wenn dies passiert, wird - die Route zu diesem Rechner automatisch gelöscht. - Rechner im lokalen Netz werden durch einen als RIP (Routing - Information Protocol) bezeichneten Mechanismus identifiziert, - der den kürzesten Weg zu den jeweiligen Rechnern - bestimmt. + Bei den mit + 0:e0: + beginnenden Adressen handelt es sich um Ethernet + Hardwareadressen, die auch als + MAC-Adressen bekannt sind. &os; + identifiziert Rechner im + lokalen Netz, im Beispiel test0, + automatisch und fügt eine direkte Route über die + Ethernet-Schnittstelle ed0 zu diesem + Rechner hinzu. Außerdem existiert in der Spalte + Expire ein Timeout, der verwendet wird, + wenn dieser Rechner in einem definierten Zeitraum nicht + reagiert. Wenn dies passiert, wird die Route zu diesem + Rechner automatisch gelöscht. Rechner im lokalen Netz werden + über das Routing Information Protocol (RIP) + identifiziert, welches den kürzesten Weg zu den jeweiligen + Rechnern berechnet. Subnetz - &os; fügt außerdem Subnetzrouten für das - lokale Subnetz hinzu (10.20.30.255 ist die Broadcast-Adresse - für das Subnetz 10.20.30, - example.com ist der zu - diesem Subnetz gehörige Domainname). Das Ziel + &os; fügt Subnetzrouten für das + lokale Subnetz hinzu. + 10.20.30.255 ist + die Broadcast-Adresse für das Subnetz + 10.20.30, und + example.com ist + der zu diesem Subnetz gehörige Domainname. Das Ziel link#1 bezieht sich auf die erste - Ethernet-Karte im Rechner. Sie können auch feststellen, - dass keine zusätzlichen Schnittstellen angegeben - sind. + Ethernet-Karte im Rechner. Routen für Rechner im lokalen Netz und lokale Subnetze werden automatisch durch den - routed Daemon konfiguriert. Ist - dieser nicht gestartet, sind nur statisch definierte - (explizit eingegebene) Routen vorhanden. + &man.routed.8; Daemon konfiguriert. Ist dieser nicht + gestartet, existieren nur statische Routen, die vom + Administrator definiert werden. Die Zeile host1 bezieht sich auf - unseren Rechner, der durch seine Ethernetadresse bekannt ist. - Da unser Rechner der Sender ist, verwendet &os; automatisch - das Loopback-Gerät (lo0), + den Rechner, der durch seine Ethernetadresse bekannt ist. + Da es sich um den sendenden Rechner handelt, verwendet &os; + automatisch das Loopback-Gerät (lo0), anstatt den Datenverkehr über die Ethernetschnittstelle zu senden. - Die zwei host2 Zeilen sind ein Beispiel - dafür, was passiert, wenn wir ein &man.ifconfig.8; Alias - verwenden (Lesen Sie dazu den Abschnitt über Ethernet, - wenn Sie wissen wollen, warum wir das tun sollten.). Das - Symbol => (nach der - lo0-Schnittstelle) sagt aus, dass wir - nicht nur das Loopbackgerät verwenden (da sich die - Adresse auf den lokalen Rechner bezieht), sondern dass es sich - zusätzlich auch um ein Alias handelt. Solche Routen sind - nur auf Rechnern vorhanden, die den Alias bereitstellen; - alle anderen Rechner im lokalen Netz haben für solche - Routen nur eine einfache link#1 - Zeile. + Die zwei host2 Zeilen repräsentieren + Aliase, die mit &man.ifconfig.8; erstellt wurden. Das Symbol + => nach der + lo0-Schnittstelle sagt aus, dass + zusätzlich zur Loopback-Adresse auch ein Alias eingestellt + ist. Solche Routen sind nur auf Rechnern vorhanden, die den + Alias bereitstellen. Alle anderen Rechner im lokalen Netz + haben für solche Routen nur eine + link#1 Zeile. Die letzte Zeile (Zielsubnetz 224) - behandelt das Multicasting, das wir in einem anderen Abschnitt - besprechen werden. + behandelt Multicasting. Schließlich gibt es für Routen noch verschiedene Attribute, die Sie in der Spalte Flags finden. Nachfolgend finden Sie eine kurze Übersicht von einigen dieser Flags und ihrer Bedeutung: U Up: Die Route ist aktiv. H Host: Das Ziel der Route ist ein einzelner Rechner (Host). G Gateway: Alle Daten, die an dieses Ziel gesendet werden, werden von diesem System an ihr jeweiliges Ziel weitergeleitet. S Static: Diese Route wurde manuell konfiguriert, das heißt sie wurde nicht automatisch vom System erzeugt. C Clone: Erzeugt eine neue Route, basierend auf der Route für den Rechner, mit dem wir uns verbinden. Diese Routenart wird normalerweise für lokale Netzwerke verwendet. W WasCloned: Eine Route, die automatisch konfiguriert wurde. Sie basiert auf einer lokalen Netzwerkroute (Clone). L Link: Die Route beinhaltet einen Verweis auf eine Ethernetkarte (MAC-Adresse). Standardrouten Defaultroute Standardroute Defaultroute Wenn sich der lokale Rechner mit einem entfernten Rechner verbinden will, wird die Routingtabelle überprüft, um festzustellen, ob bereits ein bekannter Pfad vorhanden ist. Gehört dieser entfernte Rechner zu einem Subnetz, dessen - Pfad uns bereits bekannt ist - (Cloned route), dann versucht der - lokale Rechner über diese Schnittstelle eine Verbindung - herzustellen. + Pfad bereits bekannt ist, dann versucht der lokale Rechner + über diese Schnittstelle eine Verbindung herzustellen. Wenn alle bekannten Pfade nicht funktionieren, hat der lokale Rechner eine letzte Möglichkeit: Die Standardroute (Defaultroute). Bei dieser Route handelt es sich um eine spezielle Gateway-Route (gewöhnlich die einzige im System vorhandene), die im Flags-Feld immer mit C gekennzeichnet ist. - Für Rechner im lokalen Netzwerk ist dieses Gateway auf - welcher Rechner auch immer eine Verbindung nach - außen hat gesetzt (entweder über eine - PPP-Verbindung, DSL, ein Kabelmodem, T1 oder eine beliebige - andere Netzwerkverbindung). + Für Rechner im lokalen Netzwerk ist dieses Gateway das + System, welches eine direkte Verbindung zum Internet + hat. - Wenn Sie die Standardroute für einen Rechner - konfigurieren, der selbst als Gateway zur Außenwelt - funktioniert, wird die Standardroute zum Gateway-Rechner Ihres - Internetanbieter (ISP) gesetzt. + Die Standardroute für einen Rechner, der selbst als + Gateway zur Außenwelt fungiert, ist der Gateway-Rechner des + Internetanbieters (ISP). - Sehen wir uns ein Beispiel für Standardrouten an. So - sieht eine übliche Konfiguration aus: + Dieses Beispiel zeigt eine übliche Konfiguration für eine + Standardroute: [Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW] Die Rechner Local1 und - Local2 befinden sich auf Ihrer Seite. - Local1 ist mit einem ISP über eine - PPP-Verbindung verbunden. Dieser PPP-Server ist über ein - lokales Netzwerk mit einem anderen Gateway-Rechner verbunden, - der über eine Schnittstelle die Verbindung des ISP zum - Internet herstellt. + Local2 befinden sich im lokalen + Netzwerk. Local1 ist mit einem + ISP über eine + PPP-Verbindung verbunden. Dieser + PPP-Server ist über ein + lokales Netzwerk mit einem anderen Gateway-Rechner, über eine + externe Schnittstelle mit dem ISP + verbunden. - Die Standardrouten für Ihre Maschinen lauten: + Die Standardrouten für die Maschinen lauten: Host Standard Gateway Schnittstelle Local2 Local1 Ethernet Local1 T1-GW PPP - Eine häufig gestellte Frage lautet: Warum (oder - wie) sollten wir T1-GW als Standard-Gateway - für Local1 setzen, statt den (direkt - verbundenen) ISP-Server zu verwenden?. + Eine häufig gestellte Frage lautet: Warum sollte + T1-GW als Standard-Gateway + für Local1 gesetzt werden, anstatt + den direkt verbundenen ISP-Server zu + verwenden?. - Bedenken Sie, dass die PPP-Schnittstelle für die - Verbindung eine Adresse des lokalen Netzes des ISP verwendet. - Daher werden Routen für alle anderen Rechner im lokalen - Netz des ISP automatisch erzeugt. Daraus folgt, dass Sie - bereits wissen, wie Sie T1-GW erreichen - können! Es ist also unnötig, einen Zwischenschritt - über den ISP-Server zu machen. + Da die PPP-Schnittstelle für die Verbindung eine Adresse + des lokalen Netzes des ISP verwendet, + werden Routen für alle anderen Rechner im lokalen Netz des + ISP automatisch erzeugt. Das System weiß, + wie es T1-GW erreichen kann. Es ist + daher nicht notwendig einen Zwischenschritt über den + ISP-Server zu machen. - Es ist üblich, die Adresse X.X.X.1 als Gateway-Adresse für - ihr lokales Netzwerk zu verwenden. Für unser Beispiel - bedeutet dies Folgendes: Wenn Ihr lokaler Klasse-C-Adressraum - 10.20.30 ist und Ihr ISP - 10.9.9 verwendet, sehen die - Standardrouten so aus: + Es ist üblich, die Adresse X.X.X.1 als Gateway-Adresse + für das lokale Netzwerk zu verwenden. Wenn also der lokale + Klasse-C-Adressraum 10.20.30 ist und der + ISP 10.9.9 verwendet, dann würden + die Standardrouten so aussehen: Rechner (Host) Standardroute Local2 (10.20.30.2) Local1 (10.20.30.1) Local1 (10.20.30.1, 10.9.9.30) T1-GW (10.9.9.1) - Sie können die Standardroute ganz einfach in der Datei - /etc/rc.conf festlegen. In unserem - Beispiel wurde auf dem Rechner Local2 - folgende Zeile in /etc/rc.conf - eingefügt: + Die Standardroute kann ganz einfach in + /etc/rc.conf festgelegt werden. In + diesem Beispiel wurde auf dem Rechner + Local2 folgende Zeile in + /etc/rc.conf eingefügt: defaultrouter="10.20.30.1" Die Standardroute kann über &man.route.8; auch direkt gesetzt werden: &prompt.root; route add default 10.20.30.1 Weitere Informationen zum Bearbeiten von - Netzwerkroutingtabellen finden Sie in &man.route.8;. + Netzwerk-Routingtabellen finden Sie in &man.route.8;. Rechner mit zwei Heimatnetzen + Dual-Homed-Hosts - Es gibt noch eine Konfigurationsmöglichkeit, die wir - besprechen sollten, und zwar Rechner, die sich in zwei - Netzwerken befinden. Technisch gesehen, zählt jeder als - Gateway arbeitende Rechner zu den Rechnern mit zwei - Heimatnetzen (im obigen Beispiel unter Verwendung einer - PPP-Verbindung). In der Praxis meint man damit allerdings nur - Rechner, die sich in zwei lokalen Netzen befinden. + Ein Dual-Homed-Host ist ein Rechner, der sich in zwei + verschiedenen Netzwerken befindet. - Entweder verfügt der Rechner über zwei - Ethernetkarten und jede dieser Karten hat eine Adresse in - einem separaten Subnetz, oder der Rechner hat nur eine - Ethernetkarte und verwendet &man.ifconfig.8; Aliasing. Die - erste Möglichkeit wird verwendet, wenn zwei physikalisch + Der Dual-Homed-Host verfügt möglicherweise über zwei + Ethernetkarten, die jeweils eine Adresse in einem separaten + Subnetz benutzen. Alternativ hat der Host nur eine + Ethernetkarte und verwendet &man.ifconfig.8; Aliasing. + Die erste Möglichkeit wird verwendet, wenn zwei physikalisch getrennte Ethernet-Netzwerke vorhanden sind, die zweite, wenn es nur ein physikalisches Ethernet-Netzwerk gibt, das aber aus zwei logisch getrennten Subnetzen besteht. In beiden Fällen werden Routingtabellen erstellt, damit jedes Subnetz weiß, dass dieser Rechner als Gateway zum anderen Subnetz arbeitet (inbound route). Diese Konfiguration (der - Gateway-Rechner arbeitet als Router zwischen den Subnetzen) wird - häufig verwendet, wenn es darum geht, Paketfilterung oder - eine Firewall (in eine oder beide Richtungen) zu implementieren. - + Gateway-Rechner arbeitet als Router zwischen den Subnetzen) + wird häufig verwendet, wenn es darum geht Paketfilterung oder + eine Firewall zu implementieren. - Soll dieser Rechner Pakete zwischen den beiden - Schnittstellen weiterleiten, müssen Sie diese Funktion - manuell konfigurieren und aktivieren. Lesen Sie den - nächsten Abschnitt, wenn Sie weitere Informationen zu - diesem Thema benötigen. + Damit dieser Rechner Pakete zwischen den beiden + Schnittstellen weiterleiten kann, muss &os; als Router + konfiguriert werden. Dies wird im nächsten Abschnitt + beschrieben. Einen Router konfigurieren Router - Ein Netzwerkrouter ist einfach ein System, das Pakete von + Ein Netzwerkrouter ist ein System, das Pakete von einer Schnittstelle zur anderen weiterleitet. Internetstandards und gute Ingenieurspraxis sorgten dafür, dass diese Funktion in &os; in der Voreinstellung - deaktiviert ist. Sie können diese Funktion aktivieren, - indem Sie in &man.rc.conf.5; folgende Änderung - durchführen: + deaktiviert ist. Diese Funktion kann aktiviert werden, + indem folgende Zeile in &man.rc.conf.5; hinzugefügt + wird: gateway_enable="YES" # Auf YES setzen, wenn der Rechner als Gateway arbeiten soll Diese Option setzt die &man.sysctl.8;-Variable net.inet.ip.forwarding auf - 1. Wenn Sie das Routing kurzzeitig - unterbrechen wollen, können Sie die Variable auf - 0 setzen. + 1. Um das Routing zu stoppen, + muss die Variable auf 0 gesetzt + werden. BGP RIP OSPF - Ihr neuer Router benötigt nun noch Routen, um zu - wissen, wohin er den Verkehr senden soll. Haben Sie ein - (sehr) einfaches Netzwerk, können Sie statische Routen - verwenden. &os; verfügt über den Standard - BSD-Routing-Daemon &man.routed.8;, der RIP (sowohl Version 1 - als auch Version 2) und IRDP versteht. BGP v4, - OSPF v2 und andere Protokolle werden von - net/zebra - unterstützt. Es stehen auch kommerzielle Produkte - wie gated zur Verfügung. + Der neue Router benötigt nun noch Routen, um zu + wissen, wohin er den Verkehr senden soll. Wenn das Netzwerk + einfach genug ist, können statische Routen verwendet werden. + &os; verfügt über den Standard BSD-Routing-Daemon + &man.routed.8;, der RIP (sowohl Version 1 + als auch Version 2) und IRDP versteht. + BGPv4, + OSPFv2 und andere Protokolle werden + von net/zebra unterstützt. Statische Routen einrichten Al Hoang Beigetragen von - - Manuelle Konfiguration Nehmen wir an, dass wir über folgendes Netzwerk verfügen: INTERNET | (10.0.0.1/24) Default Router to Internet | |Interface xl0 |10.0.0.10/24 +------+ | | RouterA | | (FreeBSD gateway) +------+ | Interface xl1 | 192.168.1.1/24 | +--------------------------------+ Internal Net 1 | 192.168.1.2/24 | +------+ | | RouterB | | +------+ | 192.168.2.1/24 | Internal Net 2 RouterA, ein &os;-Rechner, dient als Router für den Zugriff auf das Internet. Die Standardroute ist auf 10.0.0.1 gesetzt, damit ein Zugriff auf das Internet möglich wird. - Wir nehmen nun an, dass RouterB bereits - konfiguriert ist und daher weiß, wie er andere Rechner - erreichen kann. Dazu wird die Standardroute von - RouterB auf - 192.168.1.1 gesetzt, da dieser - Rechner als Gateway fungiert. + RouterB ist bereits ordnungsgemäß + konfiguriert, da er 192.168.1.1 als Gateway + benutzt. - Sieht man sich die Routingtabelle für - RouterA an, erhält man folgende Ausgabe: - + Die Routingtabelle auf RouterA + sieht in etwa so aus: &prompt.user; netstat -nr Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 10.0.0.1 UGS 0 49378 xl0 127.0.0.1 127.0.0.1 UH 0 6 lo0 10.0.0/24 link#1 UC 0 0 xl0 192.168.1/24 link#2 UC 0 0 xl1 Mit dieser Routingtabelle kann RouterA - unser internes Netz 2 nicht erreichen, da keine Route zum - Rechner 192.168.2.0/24 - vorhanden ist. Um dies zu korrigieren, kann die Route manuell - gesetzt werden. Durch den folgenden Befehl wird das - interne Netz 2 in die Routingtabelle des Rechners + das interne Netz 2 nicht erreichen, da keine Route zum + Rechner 192.168.2.0/24 vorhanden + ist. Durch den folgenden Befehl wird das interne Netz 2 in + die Routingtabelle des Rechners RouterA aufgenommen, indem - 192.168.1.2 als nächster - Zwischenschritt verwenden wird: + 192.168.1.2 als + nächster Zwischenschritt + (Hop) verwendet wird: &prompt.root; route add -net 192.168.2.0/24 192.168.1.2 Ab sofort kann RouterA alle Rechner des Netzwerks 192.168.2.0/24 erreichen. Routen dauerhaft einrichten Das obige Beispiel ist für die Konfiguration einer statischen Route auf einem laufenden System geeignet. Diese - Information geht jedoch verloren, wenn der &os;-Rechner neu - gestartet werden muss. Um dies zu verhindern, wird diese - Route in /etc/rc.conf eingetragen: + Routing-Information gehen jedoch verloren, wenn der + &os;-Rechner neu gestartet wird. Dauerhaft statische + Routen können in /etc/rc.conf + eingetragen werden: # Add Internal Net 2 as a static route static_routes="internalnet2" route_internalnet2="-net 192.168.2.0/24 192.168.1.2" Die Variable static_routes enthält eine Reihe von Strings, die durch Leerzeichen getrennt sind. - Jeder String bezieht sich auf den Namen einer Route. In - unserem Beispiel hat static_routes + Jeder String bezieht sich auf den Namen einer Route. Dieses + Beispiel hat static_routes, internalnet2 als einzigen String. - Zusätzlich verwendet man die Konfigurationsvariable - route_internalnet2, - in der alle sonstigen an &man.route.8; zu übergebenden - Parameter festgelegt werden. In obigen Beispiel hätte - man folgenden Befehl verwendet: + Die Variable route_internalnet2 enthält + alle Konfigurationsparameter für &man.route.8;. Dieses + Beispiel entspricht dem Befehl: &prompt.root; route add -net 192.168.2.0/24 192.168.1.2 - Daher wird - "-net 192.168.2.0/24 192.168.1.2" als - Parameter der Variable route_ angegeben. - + Wird mit der Variablen static_routes + mehr als eine Variable angegeben, so werden auch mehrere + Routen angelegt. Im folgenden Beispiel werden statische + Routen zu den Netzwerken 192.168.0.0/24 und + 192.168.1.0/24 + angelegt. - Wie bereits erwähnt, können bei - static_routes auch mehrere Strings - angegeben werden. Dadurch lassen sich mehrere statische - Routen anlegen. Durch folgende Zeilen werden auf einem - imaginären Rechner statische Routen zu den Netzwerken - 192.168.0.0/24 sowie 192.168.1.0/24 definiert: - static_routes="net1 net2" route_net1="-net 192.168.0.0/24 192.168.0.1" route_net2="-net 192.168.1.0/24 192.168.1.1" Verteilung von Routing-Informationen - - routing propagation - - Wir haben bereits darüber gesprochen, wie wir unsere - Routen zur Außenwelt definieren, aber nicht darüber, - wie die Außenwelt uns finden kann. + Wenn ein Adressraum einem Netzwerk zugeordnet wird, + konfiguriert der Dienstanbieter seine Routing-Tabellen, so + dass der gesamte Verkehr für das Netzwerk über die Verbindung + zu der Seite gesendet wird. Aber woher wissen externe + Webseiten, dass sie die Daten an das Netzwerk des + ISP senden sollen? - Wir wissen bereits, dass Routing-Tabellen so erstellt - werden können, dass sämtlicher Verkehr für - einen bestimmten Adressraum (in unserem Beispiel ein - Klasse-C-Subnetz) zu einem bestimmten Rechner in diesem - Netzwerk gesendet wird, der die eingehenden Pakete im Subnetz - verteilt. - - Wenn Sie einen Adressraum für Ihre Seite zugewiesen - bekommen, richtet Ihr Diensteanbieter seine Routingtabellen so - ein, dass der ganze Verkehr für Ihr Subnetz entlang Ihrer - PPP-Verbindung zu Ihrer Seite gesendet wird. Aber woher - wissen die Seiten in der Außenwelt, dass sie die Daten an - Ihren ISP senden sollen? - - Es gibt ein System (ähnlich dem verbreiteten DNS), - das alle zugewiesenen Adressräume verwaltet und ihre - Verbindung zum Internet-Backbone definiert und dokumentiert. + Es gibt ein System, das alle zugewiesenen Adressräume + verwaltet und die Verbindung zum Internet-Backbone definiert. Der Backbone ist das Netz aus Hauptverbindungen, die den Internetverkehr in der ganzen Welt - transportieren und verteilen. Jeder Backbone-Rechner - verfügt über eine Kopie von Haupttabellen, die den - Verkehr für ein bestimmtes Netzwerk hierarchisch vom - Backbone über eine Kette von Diensteanbietern bis hin zu - Ihrer Seite leiten. + transportieren und verteilen. Jeder Backbone-Rechner verfügt + über eine Kopie von Master-Tabellen, die den Verkehr für ein + bestimmtes Netzwerk hierarchisch vom Backbone über eine Kette + von Dienstanbietern bis hin zu Ihrer Seite leiten. - Es ist die Aufgabe Ihres Diensteanbieters, den - Backbone-Seiten mitzuteilen, dass sie mit Ihrer Seite - verbunden wurden. Durch diese Mitteilung der Route ist nun - auch der Weg zu Ihnen bekannt. Dieser Vorgang wird als + Es ist die Aufgabe des Dienstanbieters, den + Backbone-Seiten mitzuteilen, dass sie mit einer Seite + verbunden wurden. Dieser Vorgang wird als Bekanntmachung von Routen (routing propagation) bezeichnet. Problembehebung + - traceroute + &man.traceroute.8; Manchmal kommt es zu Problemen bei der Bekanntmachung von - Routen, und einige Seiten sind nicht in der Lage, Sie zu - erreichen. Vielleicht der nützlichste Befehl, um - festzustellen, wo das Routing nicht funktioniert, ist - &man.traceroute.8;. Er ist außerdem sehr nützlich, - wenn Sie einen entfernten Rechner nicht erreichen können - (lesen Sie dazu auch &man.ping.8;). + Routen, und einige Seiten sind nicht in der Lage, sich zu + verbinden. Der vielleicht nützlichste Befehl, um + festzustellen wo das Routing nicht funktioniert, ist + &man.traceroute.8;. Das Programm ist nützlich, falls + &man.ping.8; fehlschlägt. - &man.traceroute.8; wird mit dem zu erreichenden Rechner - (Host) ausgeführt. Angezeigt werden die Gateway-Rechner - entlang des Verbindungspfades. Schließlich wird der - Zielrechner erreicht oder es kommt zu einem Verbindungsabbruch - (beispielsweise durch Nichterreichbarkeit eines - Gateway-Rechners). + Rufen Sie &man.traceroute.8; mit dem Namen des entfernten + Rechners auf, mit dem eine Verbindung aufgebaut werden soll. + Die Ausgabe zeigt die Gateway-Rechner entlang des + Verbindungspfades an. Schließlich wird der Zielrechner + erreicht oder es kommt zu einem Verbindungsabbruch. Weitere Informationen finden Sie in &man.traceroute.8;. Multicast-Routing + Multicast-Routing Kerneloptionen MROUTING &os; unterstützt sowohl Multicast-Anwendungen als - auch Multicast-Routing. Multicast-Anwendungen müssen - nicht konfiguriert werden, sie laufen einfach. + auch Multicast-Routing. Multicast-Anwendungen sind lauffähig, + ohne dass sie gesondert konfiguriert werden müssen. Multicast-Routing muss in der Kernelkonfiguration aktiviert werden: options MROUTING - Zusätzlich muss &man.mrouted.8;, der - Multicast-Routing-Daemon, über die Datei - /etc/mrouted.conf eingerichtet werden, - um Tunnel und DVMRP zu aktivieren. Weitere - Informationen zu diesem Thema finden Sie in + Damit der Multicast-Routing-Daemon &man.mrouted.8; Tunnel + und DVMRP aktiviert, muss + /etc/mrouted.conf konfiguriert werden. + Weitere Informationen zu Multicast-Routing finden Sie in &man.mrouted.8;. - &man.mrouted.8;, der Multicast Routing Daemon, - verwendet das DVMRP Multicast Routing - Protocol, das inzwischen in den meisten Multicast-Installationen + Der Multicast-Routing-Daemon &man.mrouted.8; verwendet + das DVMRP Multicast Routing Protocol, + das inzwischen in den meisten Multicast-Installationen durch &man.pim.4; ersetzt wurde. &man.mrouted.8; sowie die - damit in Verbindung stehenden Werkzeuge &man.map-mbone.8; und - &man.mrinfo.8;können über die &os;-Ports-Sammlung - (genauer den Port net/mrouted) installiert werden. + damit in Verbindung stehenden Werkzeuge &man.map-mbone.8; + und &man.mrinfo.8; können über die &os; Ports-Sammlung aus + net/mrouted installiert werden. - Drahtlose Netzwerke + + Drahtlose Netzwerke + Loader Marc Fonvieille Murray Stokely - - Netzwerke, drahtlos 802.11 drahtlose Netzwerke Grundlagen Die meisten drahtlosen Netzwerke basieren auf dem - Standard &ieee; 802.11. Sie bestehen aus Stationen, die - in der Regel im 2,4 GHz- oder im 5 GHz-Band - miteinander kommunizieren. Es ist aber auch - möglich, dass regional andere Frequenzen, - beispielsweise im 2,3 GHz- oder 4,9 GHz-Band, - verwendet werden. + Standard &ieee; 802.11. Ein einfaches drahtloses + Netzwerk besteht aus Stationen, die im 2,4 GHz- oder im + 5 GHz-Band miteinander kommunizieren. Es ist aber auch + möglich, dass regional andere Frequenzen, beispielsweise im + 2,3 GHz- oder 4,9 GHz-Band, verwendet werden. 802.11-Netzwerke können auf zwei verschiedene Arten aufgebaut sein: Im Infrastruktur-Modus agiert eine Station als Master, mit dem sich alle anderen Stationen - verbinden. Die Summe aller Stationen wird als BSS - (Basic Service Set), die Master-Station hingegen als - Access Point (AP) bezeichnet. In einem BSS läuft - jedwede Kommunikation über den Access Point. Die - zweite Form drahtloser Netzwerke sind die sogenannten - Ad-hoc-Netzwerke (auch als IBSS - bezeichnet), in denen es keinen Access Point gibt und - in denen die Stationen direkt miteinander + verbinden. Die Summe aller Stationen wird als Basic Service + Set (BSS), die Master-Station hingegen als + Access Point (AP) bezeichnet. In einem + BSS läuft jedwede Kommunikation über den + Access Point. Die zweite Form drahtloser Netzwerke sind die + sogenannten Ad-hoc-Netzwerke (auch als + IBSS bezeichnet), in denen es keinen Access + Point gibt und in denen die Stationen direkt miteinander kommunizieren. Die ersten 802.11-Netzwerke arbeiteten im 2,4 GHz-Band und nutzten dazu Protokolle der &ieee;-Standards 802.11 sowie 802.11b. Diese Standards legen unter anderem Betriebsfrequenzen sowie Merkmale - des MAC-Layers (wie Frames und Transmissionsraten) fest. + des MAC-Layers (wie Frames und + Transmissionsraten) fest. Später kam der Standard 802.11a hinzu, der im 5 GHz-Band, im Gegensatz zu den ersten beiden Standards aber mit unterschiedlichen Signalmechanismen und höheren Transmissionsraten arbeitet. Der neueste Standard 802.11g implementiert die Signal- und Transmissionsmechanismen von 802.11a im 2,4 GHz-Band, ist dabei aber abwärtskompatibel zu 802.11b-Netzwerken. Unabhängig von den zugrundeliegenden Transportmechanismen verfügen 802.11-Netzwerke über diverse Sicherheitsmechanismen. Der ursprüngliche 802.11-Standard definierte lediglich - ein einfaches Sicherheitsprotokoll namens WEP. Dieses - Protokoll verwendet einen fixen (gemeinsam verwendeten) + ein einfaches Sicherheitsprotokoll namens + WEP. Dieses + Protokoll verwendet einen fixen, gemeinsam verwendeten Schlüssel sowie die RC4-Kryptografie-Chiffre, um Daten verschlüsselt über das drahtlose Netzwerk zu senden. Alle Stationen des Netzwerks müssen sich auf den gleichen fixen Schlüssel einigen, um miteinander kommunizieren zu können. Dieses Schema ist sehr leicht zu knacken und wird deshalb heute kaum mehr eingesetzt. Aktuelle Sicherheitsmechanismen bauen auf dem Standard &ieee; 802.11i auf, der neue - kryptografische Schlüssel (Chiffren), ein neues + kryptographische Schlüssel (Chiffren), ein neues Protokoll für die Anmeldung von Stationen an einem Access Point, sowie Mechanismen zum Austausch von Schlüsseln als Vorbereitung der Kommunikation zwischen verschiedenen Geräten festlegt. Kryptografische - Schlüssel werden regelmäßig getauscht. - Außerdem gibt es Mechanismen, um Einbruchsversuche - zu entdecken (und Gegenmaßnahmen ergreifen zu können). - Ein weiteres häufig verwendetes Sicherheitsprotokoll ist - WPA. Dabei handelt es sich um einen Vorläufer von 802.11i, + Schlüssel werden in regelmäßigen Abständen aktualisiert. + Außerdem gibt es Mechanismen zur Feststellung und + Prävention von Einbruchsversuchen. Ein weiteres häufig + verwendetes Sicherheitsprotokoll ist WPA. + Dabei handelt es sich um einen Vorläufer von 802.11i, der von einem Industriekonsortium als Zwischenlösung bis zur endgültigen Verabschiedung von 802.11i entwickelt - wurde. WPA definiert eine Untergruppe der Anforderungen des + wurde. WPA definiert eine Untergruppe der Anforderungen des 802.11i-Standards und ist für den Einsatz in älterer - Hardware vorgesehen. WPA benötigt nur den (auf dem - ursprünglichen WEP-Code basierenden) TKIP-Chiffre. 802.11i - erlaubt zwar auch die Verwendung von TKIP, fordert aber - zusätzlich eine stärkere Chiffre (AES-CCM) - für die Datenverschlüsselung. (AES war für - WPA nicht vorgesehen, weil man es als zu rechenintensiv - für den Einsatz in älteren Geräten ansah.) + Hardware vorgesehen. WPA benötigt nur den + TKIP-Chiffre, welcher auf dem + ursprünglichen WEP-Code basiert. 802.11i + erlaubt zwar auch die Verwendung von TKIP, + benötigt aber zusätzlich eine stärkere Chiffre (AES-CCM) + für die Datenverschlüsselung. AES war für + WPA nicht vorgesehen, weil man es als zu + rechenintensiv für den Einsatz in älteren Geräten + ansah. - Neben den weiter oben erwähnten Standards ist auch - der Standard 802.11e von großer Bedeutung. Dieser + Ein weiterer zu beachtender Standard ist 802.11e. Dieser definiert Protokolle zur Übertragung von - Multimedia-Anwendungen wie das Streaming von Videodateien - oder Voice-over-IP (VoIP) in einem 802.11-Netzwerk. Analog - zu 802.11i verfügt auch 802.11e über eine - vorläufige Spezifikation namens WMM (ursprünglich - WME), die von einem Industriekonsortium als Untergruppe - von 802.11e spezifiziert wurde, um Multimedia-Anwendungen - bereits vor der endgültigen Verabschiedung des - 802.11e-Standards implementieren zu können. 802.11e - sowie WME/WMM erlauben eine Prioritätenvergabe beim - Datentransfer im einem drahtlosen Netzwerk. Möglich - wird dies durch den Einsatz von Quality of Service-Protokollen - (QoS) und erweiterten Medienzugriffsprotokollen. Werden - diese Protokolle korrekt implementiert, erlauben sie daher - hohe Datenübertragungsraten und einen priorisierten + Multimedia-Anwendungen, wie das Streaming von Videodateien + oder Voice-over-IP (VoIP) in einem + 802.11-Netzwerk. Analog zu 802.11i verfügt auch 802.11e über + eine vorläufige Spezifikation namens WMM + (ursprünglich WME), die von einem + Industriekonsortium als Untergruppe von 802.11e spezifiziert + wurde, um Multimedia-Anwendungen bereits vor der endgültigen + Verabschiedung des 802.11e-Standards implementieren zu können. + 802.11e sowie WME/WMM + erlauben eine Prioritätenvergabe beim Datentransfer im einem + drahtlosen Netzwerk. Möglich wird dies durch den Einsatz von + Quality of Service-Protokollen (QoS) und + erweiterten Medienzugriffsprotokollen. Werden diese + Protokolle korrekt implementiert, erlauben sie hohe + Datenübertragungsraten und einen priorisierten Datenfluss. &os; unterstützt die Standards - 802.11a, 802.11b, sowie 802.11g. Ebenfalls unterstützt - werden WPA sowie die Sicherheitsprotokolle gemäß - 802.11i (dies sowohl für 11a, 11b als auch 11g). QoS und - Verkehrspriorisierung, die von den WME/WMM-Protokollen - benötigt werden, werden ebenfalls (allerdings nicht - für alle drahtlosen Geräte) unterstützt. + 802.11a, 802.11b und 802.11g. Ebenfalls unterstützt + werden WPA sowie die Sicherheitsprotokolle + gemäß 802.11i (sowohl für 11a, 11b als auch 11g). + QoS und Verkehrspriorisierung, die von den + WME/WMM-Protokollen + benötigt werden, werden für einen begrenzten Satz von + drahtlosen Geräten unterstützt. Basiskonfiguration Kernelkonfiguration - Um ein drahtloses Netzwerk zu nutzen, benötigen - Sie eine drahtlose Netzwerkkarte und einen Kernel, der - drahtlose Netzwerke unterstützt. Der &os;-Kernel + Um ein drahtloses Netzwerk zu nutzen, wird eine + drahtlose Netzwerkkarte benötigt und ein Kernel, der + drahtlose Netzwerke unterstützt. Der Kernel unterstützt den Einsatz von Kernelmodulen. Daher - müssen Sie nur die Unterstützung für die - von Ihnen verwendeten Geräte aktivieren. + muss nur die Unterstützung für die verwendeten Geräte + aktiviert werden. - Als Erstes benötigen Sie ein drahtloses Gerät. - Die meisten drahtlosen Geräte verwenden Bauteile von + Die meisten drahtlosen Geräte verwenden Bauteile von Atheros und werden deshalb vom &man.ath.4;-Treiber unterstützt. Um diesen Treiber zu verwenden, - nehmen Sie die folgende Zeile in die Datei - /boot/loader.conf auf: + muss die folgende Zeile in + /boot/loader.conf hinzugefügt + werden: if_ath_load="YES" Der Atheros-Treiber besteht aus drei Teilen: dem Treiber selbst (&man.ath.4;), dem Hardware-Support-Layer für die chip-spezifischen Funktionen (&man.ath.hal.4;) - sowie einem Algorithmus zur Auswahl der korrekten - Frame-Übertragungsrate (ath_rate_sample). - Wenn Sie die Unterstützung für diesen - Treiber als Kernelmodul laden, kümmert sich - dieses automatisch um diese Aufgaben. Verwenden - Sie ein Nicht-Atheros-Gerät, so müssen - Sie hingegen das für dieses Gerät geeignete - Modul laden, beispielsweise + sowie einem Algorithmus zur Auswahl der + Frame-Übertragungsrate (ath_rate_sample). Wenn diese + Unterstützung als Kernelmodul geladen wird, kümmert sich + das Modul automatisch um Abhängigkeiten. Um die + Unterstützung für ein anderes drahtloses Gerät zu laden, + geben Sie das entsprechende Modul für dieses Gerät an. + Dieses Beispiel zeigt die Verwendung von Geräten, die auf + Bauteilen von Intersil Prism basieren und den Treiber + &man.wi.4; benötigen: if_wi_load="YES" - für Geräte, die auf Bauteilen von - Intersil Prism basieren und daher den Treiber - &man.wi.4; voraussetzen. - - In den folgenden Abschnitten wird der - &man.ath.4;-Treiber verwendet. Verwenden Sie ein - anderes Gerät, müssen Sie diesen Wert - daher an Ihre Konfiguration anpassen. Eine Liste aller - verfügbaren Treiber und unterstützten + Die Beispiele in diesem Abschnitt verwenden den + &man.ath.4;-Treiber. Verwenden Sie ein anderes Gerät, + muss der Gerätename an die Konfiguration angepasst werden. + Eine Liste aller verfügbaren Treiber und unterstützten drahtlosen Geräte finden sich in den &os; - Hardware Notes. Diese sind für verschiedene - Releases und Architekturen auf der Seite - Release Information der &os; Homepage. Gibt es - keinen nativen &os;-Treiber für Ihr drahtloses - Gerät, können Sie möglicherweise mit - NDIS einen - &windows;-Treiber verwenden. + Hardware Notes unter + Release Information der &os; Homepage. Gibt es + keinen nativen &os;-Treiber für das drahtlose + Gerät, kann möglicherweise mit + NDIS ein + &windows;-Treiber verwendet werden. - Zusätzlich - benötigen Sie noch Module zur Verschlüsselung - ihres drahtlosen Netzwerks. Diese werden normalerweise - dynamisch vom &man.wlan.4;-Modul geladen. Im folgenden - Beispiel erfolgt allerdings eine manuelle Konfiguration. - Folgende Module sind verfügbar: &man.wlan.wep.4;, - &man.wlan.ccmp.4; sowie &man.wlan.tkip.4;. Sowohl - &man.wlan.ccmp.4; als auch &man.wlan.tkip.4; werden nur - benötigt, wenn Sie WPA und/oder die Sicherheitsprotokolle - von 802.11i verwenden wollen. Wollen Sie Ihr Netzwerk - hingegen ohne Verschlüsselung betreiben, - benötigen Sie nicht einmal - die &man.wlan.wep.4;-Unterstützung. Um alle drei + Zusätzlich müssen die Module zur Verschlüsselung des + drahtlosen Netzwerks geladen werden. Diese werden + normalerweise dynamisch vom &man.wlan.4;-Modul geladen. Im + folgenden Beispiel erfolgt allerdings eine manuelle + Konfiguration. Folgende Module sind verfügbar: + &man.wlan.wep.4;, &man.wlan.ccmp.4; und &man.wlan.tkip.4;. + Sowohl &man.wlan.ccmp.4; als auch &man.wlan.tkip.4; werden + nur benötigt, wenn WPA und/oder die + Sicherheitsprotokolle von 802.11i verwendet werden. Wenn + das Netzwerk keine Verschlüsselung verwendet, wird die + &man.wlan.wep.4;-Unterstützung nicht benötigt. Um diese Module beim Systemstart zu laden, fügen Sie folgende - Zeilen in die Datei /boot/loader.conf - ein: + Zeilen in /boot/loader.conf ein: wlan_wep_load="YES" wlan_ccmp_load="YES" wlan_tkip_load="YES" - Um diese neuen Einträge in der Datei - /boot/loader.conf zu aktivieren, müssen - Sie Ihr &os;-System neu starten. Alternativ können Sie - die Kernelmodule aber auch manuell mit &man.kldload.8; laden. + Sobald diese Einträge in + /boot/loader.conf vorhanden sind, muss + das &os;-System neu gestartet werden. Alternativ können + die Kernelmodule auch manuell mit &man.kldload.8; geladen + werden. - Wollen Sie keine Kernelmodule verwenden, können - Sie die benötigten Treiber auch in Ihren Kernel - kompilieren. Dazu nehmen Sie folgende Zeilen in Ihre - Kernelkonfigurationsdatei auf: + Benutzer, die keine Kernelmodule verwenden wollen, + können die benötigten Treiber auch in den Kernel + kompilieren. Dazu müssen die folgenden Zeilen in die + Kernelkonfigurationsdatei aufgenommen werden: device wlan # 802.11 support device wlan_wep # 802.11 WEP support device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support device wlan_amrr # AMRR transmit rate control algorithm device ath # Atheros pci/cardbus NIC's device ath_hal # pci/cardbus chip support options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device ath_rate_sample # SampleRate tx rate control for ath - Danach bauen Sie den neuen Kernel und starten Ihr - &os;-System neu. + Mit diesen Informationen in der + Kernelkonfigurationsdatei kann der Kernel neu gebaut, und + das &os;-System anschließend neu gestartet werden. - Während des Systemstarts sollten nun einige - Informationen ähnlich den folgenden über das von - Ihnen verwendete drahtlose Gerät ausgegeben - werden: + Informationen über das drahtlose Gerät sollten in den + Boot-Meldungen folgendermaßen angezeigt werden: ath0: <Atheros 5212> mem 0x88000000-0x8800ffff irq 11 at device 0.0 on cardbus1 ath0: [ITHREAD] ath0: AR2413 mac 7.9 RF2413 phy 4.5 Infrastruktur-Modus Drahtlose Netzwerke werden in der Regel im - Infrastruktur-Modus (auch BSS-Modus genannt) betrieben. + Infrastruktur-Modus (BSS) betrieben. Dazu werden mehrere drahtlose Access Points zu einem gemeinsamen drahtlosen Netzwerk verbunden. Jedes dieser drahtlosen Netzwerke hat einen eigenen Namen, der als - SSID bezeichnet wird. Alle Clients + >SSID> bezeichnet wird. Alle Clients eines drahtlosen Netzwerks verbinden sich in diesem Modus mit einem Access Point. &os;-Clients Einen Access Point finden - Um nach drahtlosen Netzwerken zu suchen verwenden Sie - ifconfig. Dieser Scanvorgang kann einige - Zeit in Anspruch nehmen, da dazu jede verfügbare - Frequenz auf verfügbare Access Points hin - überprüft werden muss. Um die Suche zu starten, - müssen Sie als Super-User angemeldet sein: + Um nach verfügbaren drahtlosen Netzwerken zu suchen + verwenden Sie &man.ifconfig.8;. Dieser Scanvorgang kann + einen Moment dauern, da jede verfügbare Frequenz auf + verfügbare Access Points hin überprüft werden muss. Nur + der Super-User kann einen Scanvorgang starten: &prompt.root; ifconfig wlan0 create wlandev ath0 &prompt.root; ifconfig wlan0 up scan SSID/MESH ID BSSID CHAN RATE S:N INT CAPS dlinkap 00:13:46:49:41:76 11 54M -90:96 100 EPS WPA WME freebsdap 00:11:95:c3:0d:ac 1 54M -83:96 100 EPS WPA - Ihre Netzwerkkarte muss in den Status - versetzt werden, bevor Sie den ersten - Scanvorgang starten können. Für spätere + Die Netzwerkkarte muss in den Status + versetzt werden, bevor der erste + Scanvorgang gestartet werden kann. Für spätere Scans ist dies aber nicht mehr erforderlich. Als Ergebnis erhalten Sie eine Liste mit allen - gefundenen BSS/IBSS-Netzwerken. Zusätzlich zur - SSID (dem Namen des Netzwerks) wird - auch die BSSID ausgegeben. Dabei - handelt es sich um MAC-Adresse des Access Points. Das - Feld CAPS gibt den Typ des Netzwerks - sowie die Fähigkeiten der Stationen innerhalb des - Netzwerks an: + gefundenen + BSS/IBSS-Netzwerken. + Zusätzlich zum Namen des Netzwerks, der + SSID, wird auch die + BSSID ausgegeben. Dabei handelt es + sich um die MAC-Adresse des Access + Points. Das Feld CAPS gibt den Typ des + Netzwerks sowie die Fähigkeiten der Stationen innerhalb + des Netzwerks an: - - - E + + Station Capability Codes - - Extended Service Set (ESS). Zeigt an, dass die - Station Teil eines Infrastruktur-Netzwerks ist (und - nicht eines IBSS/Ad-hoc-Netzwerks). - - + + + + Capability Code + Bedeutung + + - - I + + + E + Extended Service Set + (ESS). Zeigt an, dass die + Station Teil eines Infrastruktur-Netzwerks ist, + und nicht eines + IBSS/Ad-hoc-Netzwerks. + - - IBSS/Ad-hoc-Netzwerk. Die Station ist Teil eines - Ad-hoc-Netzwerks (und nicht eines - ESS-Netzwerks). - - + + I + IBSS/Ad-hoc-Netzwerk. Die + Station ist Teil eines Ad-hoc-Netzwerks und nicht + eines ESS-Netzwerks. + - - P + + P + Privacy. Alle Datenframes, die innerhalb des + BSS ausgetauscht werden, sind + verschlüsselt. Dieses BSS + verwendet dazu kryptographische Verfahren wie + WEP, TKIP oder + AES-CCMP. + - - Privacy. Alle Datenframes, die innerhalb des - BSS ausgetauscht werden, sind verschlüsselt. - Dieses BSS verwendet dazu kryptografische Verfahren - wie WEP, TKIP oder AES-CCMP. - - - - - S - - - Short Preamble. Das Netzwerk verwendet eine + + S + Short Preamble. Das Netzwerk verwendet eine kurze Präambel (definiert in 802.11b High Rate/DSSS PHY). Eine kurze Präambel verwendet - ein 56 Bit langes Sync-Feld (im Gegensatz + ein 56 Bit langes Sync-Feld, im Gegensatz zu einer langen Präambel, die ein - 128 Bit langes Sync-Feld verwendet). - - + 128 Bit langes Sync-Feld verwendet. + - - s + + s + Short slot time. Das 802.11g-Netzwerk + verwendet eine kurze Slotzeit, da es in diesem + Netzwerk keine veralteten (802.11b) Geräte + gibt. + + + +
- - Short slot time. Das 802.11g-Netzwerk verwendet - eine kurze Slotzeit, da es in diesem Netzwerk keine - veralteten (802.11b) Geräte gibt. - -
-
- Um eine Liste der bekannten Netzwerke auszugeben, verwenden Sie den folgenden Befehl: &prompt.root; ifconfig wlan0 list scan Diese Liste kann entweder automatisch durch das drahtlose Gerät oder manuell durch eine -Aufforderung aktualisiert werden. Veraltete Informationen werden dabei automatisch entfernt.
Basiseinstellungen - Dieser Abschnitt beschreibt, wie Sie ein einfaches - drahtloses Netzwerk ohne Verschlüsselung unter &os; + Dieser Abschnitt beschreibt, wie Sie eine + drahtlose Netzwerkkarte ohne Verschlüsselung unter &os; einrichten. Nachdem Sie sich mit den Informationen dieses - Abschnitts vertraut gemacht haben, sollten Sie Ihr - drahtloses Netzwerk mit WPA + Abschnitts vertraut gemacht haben, sollten Sie das + drahtlose Netzwerk mit WPA verschlüsseln. Das Einrichten eines drahtlosen Netzwerks erfolgt - in drei Schritten: Der Auswahl eines Access Points, der - Anmeldung Ihrer Station sowie der Konfiguration Ihrer - IP-Adresse. + in drei Schritten: Der Auswahl eines Access Points, die + Anmeldung der Station sowie der Konfiguration der + IP-Adresse. Einen Access Point auswählen - Im Normalfall wird sich Ihre Station automatisch mit + Im Normalfall wird sich die Station automatisch mit einem der zur Verfügung stehenden Access Points - verbinden. Sie müssen dazu lediglich Ihr - drahtloses Gerät aktivieren. Alternativ können - Sie auch einen Eintrag ähnlich dem folgenden in - /etc/rc.conf aufnehmen: + verbinden. Dazu muss lediglich das drahtlose Gerät + aktiviert, oder in /etc/rc.conf + eingetragen sein: wlans_ath0="wlan0" ifconfig_wlan0="DHCP" - Wollen Sie sich hingegen mit einem bestimmten - Access Point verbinden, müssen Sie dessen - SSID angeben: + Stehen mehrere Access Points zur Verfügung, kann + ein spezifischer durch Angabe der + SSID gewählt werden: wlans_ath0="wlan0" ifconfig_wlan0="ssid Ihre_SSID DHCP" - Gibt es in Ihrem Netzwerk mehrere Access Points - mit der gleichen SSID (was der Einfachheit wegen - häufig der Fall ist), können Sie sich dennoch - mit einem bestimmten Access Point verbinden. Dazu - müssen Sie lediglich die BSSID des Access Points - angeben (die Angabe der SSID ist in diesem Fall nicht - erforderlich): + Gibt es in einem Netzwerk mehrere Access Points + mit der gleichen SSID, was das + Routing vereinfacht, kann es notwending sein, dass ein + bestimmtes Gerät verbunden werden muss. Dazu muss + lediglich die BSSID des Access Points + angeben werden. Die Angabe der SSID + ist hierbei nicht zwingend notwendig: wlans_ath0="wlan0" ifconfig_wlan0="ssid Ihre_SSID bssid xx:xx:xx:xx:xx:xx DHCP" Es gibt noch weitere Möglichkeiten, den Zugriff auf bestimmte Access Point zu beschränken, beispielsweise durch die Begrenzung der Frequenzen, auf denen eine Station nach einem Access Point sucht. Sinnvoll - ist ein solches Vorgehen beispielsweise, wenn Ihr - drahtloses Gerät in verschiedenen Frequenzbereichen + ist ein solches Vorgehen beispielsweise, wenn das + drahtlose Gerät in verschiedenen Frequenzbereichen arbeiten kann, da in diesem Fall das Prüfen aller - Frequenzen sehr zeitintensiv ist. Um nur innerhalb eines + Frequenzen sehr zeitintensiv sein kann. Um nur innerhalb eines bestimmten Frequenzbereichs nach einem Access Point zu suchen, verwenden Sie die Option : wlans_ath0="wlan0" ifconfig_wlan0="mode 11g ssid Ihre_SSID DHCP" - Dadurch sucht Ihr drahtloses Gerät nur im + In diesem Beispiel sucht das drahtlose Gerät nur im 2,4 GHz-Band (802.11g), aber nicht innerhalb des 5 GHz-Bandes nach einem Access Point. Mit der - Option können Sie eine - bestimmte Frequenz vorgeben, auf der gesucht werden + Option kann eine + bestimmte Frequenz vorgegeben werden, auf der gesucht werden soll. Die Option erlaubt die Angabe mehrerer erlaubter Frequenzen. Eine umfassende Beschreibung dieser Optionen finden Sie in - der Manualpage &man.ifconfig.8;. + &man.ifconfig.8;. Authentifizierung - Wenn Sie einen Access Point gefunden haben, muss - sich Ihrem Station am Access Point anmelden, bevor - Sie Daten übertragen kann. Dazu gibt es + Sobald ein Access Point gefunden wurde, muss + sich die Station am Access Point authentifizieren, bevor + Daten übertragen werden können. Dazu gibt es verschiedene Möglichkeiten. Am häufigsten - wird nach wie vor die sogenannte offene + wird die sogenannte offene Authentifizierung verwendet. Dabei wird es jeder Station erlaubt, sich mit einem Netzwerk zu verbinden und Daten zu übertragen. Aus Sicherheitsgründen sollte diese Methode allerdings nur zu Testzwecken bei der erstmaligen Einrichtung eines drahtlosen Netzwerks verwendet werden. Andere Authentifizierungsmechanismen erfordern den Austausch - kryptografischer Informationen, bevor Sie die + kryptographischer Informationen, bevor sie die Übertragung von Daten erlauben. Dazu gehören der Austausch fixer (vorher vereinbarter) Schlüssel - oder Kennwörter sowie der Einsatz komplexerer - Verfahren mit Backend-Diensten wie RADIUS. Die meisten - Netzwerke nutzen allerdings nach wie vor die offene - Authentifizierung, da dies die Voreinstellung ist. Am - zweithäufigsten kommt das weiter unten beschriebene - WPA-PSK - (das auch als WPA Personal - bezeichnet wird) zum Einsatz. + oder Kennwörter, sowie der Einsatz komplexerer + Verfahren mit Backend-Diensten wie + RADIUS. Die offene Authentifizierung + ist die Voreinstellung. Am zweithäufigsten kommt das im + + beschriebene WPA-PSK zum Einsatz, + welches auch als WPA Personal + bezeichnet wird. - Verwenden Sie eine - &apple; &airport; Extreme-Basisstation als Access Point, - benötigen Sie wahrscheinlich sowohl die - Shared-Key-Authentifizierung als auch einen - WEP-Schlüssel. Die entsprechende Konfiguration - erfolgt entweder in der Datei + Kommt eine &apple; &airport; Extreme-Basisstation + als Access Point zum Einsatz, muss sowohl die + Shared-Key-Authentifizierung als auch ein + WEP-Schlüssel konfiguriert werden. + Die entsprechende Konfiguration erfolgt entweder in /etc/rc.conf oder über das - Programm &man.wpa.supplicant.8;. Verwenden Sie nur - eine einzige &airport;-Basisstation, benötigen - Sie einen Eintrag ähnlich dem folgenden: + Programm &man.wpa.supplicant.8;. Für eine einzelne + &airport;-Basisstation kann der Zugriff wie folgt + konfiguriert werden: wlans_ath0="wlan0" ifconfig_wlan0="authmode shared wepmode on weptxkey 1 wepkey 01234567 DHCP" - Normalerweise sollten Sie - Shared-Key-Authentifizierung aber nicht verwenden, - da diese die Sicherheit des WEP-Schlüssel noch - weiter verringert. Müssen Sie WEP einsetzen - (beispielsweise weil Sie zu veralteten Geräten - kompatibel bleiben müssen), sollten Sie WEP - nur zusammen mit der offenen Authentifizierung - (open authentication) verwenden. - WEP wird im näher - beschrieben. + Normalerweise sollte Shared-Key-Authentifizierung + nicht verwendet werden, da diese die Sicherheit des + WEP-Schlüssel noch weiter + verringert. Wenn WEP für + Kompatibilität mit älteren Geräten verwendet werden + muss, ist es besser, WEP mit + offener Authentifizierung zu verwenden. Weitere + Informationen zu WEP finden Sie im + . - Eine IP-Adresse über DHCP beziehen + Eine <acronym>IP</acronym>-Adresse über + <acronym>DHCP</acronym> beziehen - Nachdem Sie einen Access Point gefunden und sich - authentifiziert haben, benötigen Sie noch eine - IP-Adresse, die Sie in der Regel über DHCP - zugewiesen bekommen. Dazu müssen Sie lediglich - die Option DHCP in Ihre - in der Datei /etc/rc.conf - vorhandene Konfiguration Ihres drahtlosen Geräts - aufnehmen: + Sobald ein Access Point ausgewählt ist und die + Authentifizierungsparameter festgelegt sind, wird eine + IP-Adresse benötigt. In der Regel + wird die IP-Adresse über + DHCP bezogen. Um dies zu erreichen, + bearbeiten Sie /etc/rc.conf und + fügen Sie DHCP für das drahtlose + Gerät in die Konfiguration hinzu: wlans_ath0="wlan0" ifconfig_wlan0="DHCP" - Nun können Sie Ihr drahtloses Gerät - starten: + Das drahtlose Gerät kann nun gestartet + werden: &prompt.root; service netif start - Nachdem Sie das Gerät aktiviert haben, - können Sie mit ifconfig den - Status des Geräts ath0 - abfragen: + Nachdem das Gerät aktiviert wurde, kann mit + &man.ifconfig.8; der Status des Geräts + ath0 abgefragt werden: &prompt.root; ifconfig wlan0 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether 00:11:95:d5:43:62 inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255 media: IEEE 802.11 Wireless Ethernet OFDM/54Mbps mode 11g status: associated ssid dlinkap channel 11 (2462 Mhz 11g) bssid 00:13:46:49:41:76 country US ecm authmode OPEN privacy OFF txpower 21.5 bmiss 7 scanvalid 60 bgscan bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS wme burst status: associated besagt, dass - sich Ihr Gerät mit dem drahtlosen Netzwerk verbunden - hat (konkret mit dem Netzwerk dlinkap). - bssid 00:13:46:49:41:76 gibt die - MAC-Adresse Ihres Access Points aus und die Zeile mit - authmode OPEN informiert Sie darüber, - dass Ihre Kommunikation nicht verschlüsselt wird. + sich das Gerät mit dem drahtlosen Netzwerk verbunden + hat. bssid 00:13:46:49:41:76 ist die + MAC-Adresse des Access Points und + authmode OPEN zeigt an, dass die + Kommunikation nicht verschlüsselt wird. - Statische IP-Adressen + Statische <acronym>IP</acronym>-Adressen - Alternativ zu dynamischen IP-Adressen - können Sie auch eine statische IP-Adresse verwenden. - Dazu ersetzen Sie in Ihrer Konfiguration - DHCP durch die zu verwendende - IP-Adresse. Beachten Sie dabei, dass Sie die anderen + Wenn eine IP-Adresse nicht von + einem DHCP-Server bezogen werden + kann, vergeben Sie eine statische + IP-Adresse. Ersetzten Sie dazu das + oben gezeigte Schlüsselwort DHCP + durch die entsprechende IP-Adresse. + Beachten Sie dabei, dass Sie die anderen Konfigurationsparameter nicht versehentlich verändern: wlans_ath0="wlan0" ifconfig_wlan0="inet 192.168.1.100 netmask 255.255.255.0 ssid your_ssid_here" - WPA + <acronym>WPA</acronym> - Bei WPA (Wi-Fi Protected Access) handelt es sich um ein - Sicherheitsprotokoll, das in 802.11-Netzwerken verwendet - wird, um die Nachteile von WEP (fehlende - Authentifizierung und schwache Verschlüsselung) - zu vermeiden. WPA stellt das aktuelle + Wi-Fi Protected Access + (WPA) ist ein Sicherheitsprotokoll, das + in 802.11-Netzwerken verwendet wird, um die fehlende + Authentifizierung und Schwächen von WEP + zu vermeiden. WPA stellt das aktuelle 802.1X-Authentifizierungsprotokoll dar und verwendet eine von mehreren Chiffren, um die Datensicherheit zu gewährleisten. Die einzige Chiffre, die von - WPA verlangt wird, ist TKIP (Temporary - Key Integrity Protocol), eine Chiffre, - die die von WEP verwendete RC4-Chiffre um Funktionen - zur Prüfung der Datenintegrität und zur + WPA verlangt wird, ist + Temporary Key Integrity + Protocol (TKIP). + TKIP ist eine Chiffre, die die von + WEP verwendete RC4-Chiffre um + Funktionen zur Prüfung der Datenintegrität und zur Erkennung und Bekämpfung von Einbruchsversuchen - erweitert. - TKIP ist durch Softwaremodifikationen auch unter - veralteter Hardware lauffähig. Im Vergleich zu - WEP ist WPA zwar sehr viel sicherer, es ist aber dennoch - nicht völlig immun gegen Angriffe. WPA definiert - mit AES-CCMP noch eine weitere Chiffre als Alternative - zu TKIP. AES-CCMP (das häufig als WPA2 oder RSN - bezeichnet wird) sollte, wenn möglich, eingesetzt + erweitert. TKIP ist durch + Softwaremodifikationen auch unter veralteter Hardware + lauffähig. Im Vergleich zu WEP ist + WPA zwar sehr viel sicherer, es ist + aber dennoch nicht völlig immun gegen Angriffe. + WPA definiert mit + AES-CCMP noch eine weitere Chiffre als + Alternative zu TKIP. + AES-CCMP, welches häufig als + WPA2 oder RSN + bezeichnet wird, sollte bevorzugt eingesetzt werden. - WPA definiert Authentifizierungs- und - Verschlüsselungsprotokolle. Die Authentifizierung - erfolgt in der Regel über eine der folgenden - Techniken: 802.1X gemeinsam mit einem - Backend-Authentifizierungsdienst wie RADIUS, oder durch - einen Minimal-Handshake zwischen der Station und dem - Access Point mit einem vorher vereinbarten gemeinsamen - Schlüssel. Die erste Technik wird als - WPA Enterprise, die zweite - hingegen als WPA Personal - bezeichnet. Da sich der Aufwand für das Aufsetzen - eines RADIUS-Backend-Servers für die meisten - drahtlosen Netzwerke nicht lohnt, wird WPA in der Regel - als WPA-PSK (WPA, Pre-Shared-Key) konfiguriert. + WPA definiert Authentifizierungs- + und Verschlüsselungsprotokolle. Die Authentifizierung + erfolgt in der Regel über eine der folgenden Techniken: + 802.1X gemeinsam mit einem + Backend-Authentifizierungsdienst wie + RADIUS, oder durch einen + Minimal-Handshake zwischen der Station und dem Access + Point mit einem vorher vereinbarten gemeinsamen Schlüssel. + Die erste Technik wird als WPA + Enterprise, die zweite hingegen als + WPA Personal bezeichnet. Da sich der + Aufwand für das Aufsetzen eines + RADIUS-Backend-Servers für die meisten + drahtlosen Netzwerke nicht lohnt, wird + WPA in der Regel als + WPA-PSK konfiguriert. - Die Kontrolle der drahtlosen Verbindung sowie die - vorangehende Authentifizierung (über Schlüssel - oder durch die Kommunikation mit einem Server) erfolgt - über das Programm &man.wpa.supplicant.8;, das - über die Datei - /etc/wpa_supplicant.conf - eingerichtet wird. Ausführliche Informationen - zur Konfiguration des Programms finden sich in der - Manualpage &man.wpa.supplicant.conf.5;. + Die Kontrolle der drahtlosen Verbindung sowie das + Aushandeln des Schlüssel, oder die Authentifizierung mit + einem Server, erfolgt über &man.wpa.supplicant.8;. Dieses + Programm benötigt eine Konfigurationsdatei, + /etc/wpa_supplicant.conf. Weitere + Informationen finden Sie in + &man.wpa.supplicant.conf.5;. - WPA-PSK + <acronym>WPA-PSK</acronym> - WPA-PSK oder WPA-Personal basiert auf einem - gemeinsamen (vorher vereinbarten) Schlüssel (PSK), - der aus einem Passwort generiert und danach als - Master-Key des drahtlosen Netzwerks verwendet wird. - Jeder Benutzer des drahtlosen Netzwerks verwendet daher - den gleichen Schlüssel. WPA-PSK - sollte nur in kleinen Netzwerken eingesetzt werden, in - denen die Konfiguration eines Authentifizierungsservers - nicht möglich oder erwünscht ist. + WPA-PSK, das auch als + WPA-Personal bekannt ist, basiert auf + einem gemeinsamen, vorher vereinbarten Schlüssel + (PSK), der aus einem Passwort + generiert und danach als Master-Key des drahtlosen + Netzwerks verwendet wird. Jeder Benutzer des drahtlosen + Netzwerks verwendet daher + den gleichen Schlüssel. + WPA-PSK sollte nur in kleinen + Netzwerken eingesetzt werden, in denen die Konfiguration + eines Authentifizierungsservers nicht möglich oder + erwünscht ist. - Achten Sie darauf, dass Sie immer starke - Passwörter verwenden, die ausreichend lang sind und, - wenn möglich, auch Sonderzeichen enthalten, damit - diese nicht leicht erraten und/oder umgangen werden - können. + Achten Sie darauf, immer starke Passwörter zu + verwenden, die ausreichend lang sind und auch + Sonderzeichen enthalten, damit diese nicht leicht + erraten oder umgangen werden können. - Der erste Schritt zum Einsatz von WPA-PSK ist die - Konfiguration der SSID und des gemeinsamen Schlüssels - Ihres Netzwerks in der Datei + Der erste Schritt zum Einsatz von + WPA-PSK ist die Konfiguration der + SSID und des gemeinsamen Schlüssels + des Netzwerks in /etc/wpa_supplicant.conf: network={ ssid="freebsdap" psk="freebsdmall" } - Danach geben Sie in /etc/rc.conf - an, dass WPA zur Verschlüsselung eingesetzt werden - soll und dass die IP-Adresse über DHCP bezogen - wird: + Danach wird in + /etc/rc.conf definiert, dass + WPA zur Verschlüsselung eingesetzt + werden soll und dass die IP-Adresse + über DHCP bezogen wird: wlans_ath0="wlan0" ifconfig_wlan0="WPA DHCP" - Nun können Sie Ihr Netzgerät aktivieren: + Nun kann das drahtlose Gerät aktiviert + werden: &prompt.root; service netif start Starting wpa_supplicant. DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 5 DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 6 DHCPOFFER from 192.168.0.1 DHCPREQUEST on wlan0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.1 bound to 192.168.0.254 -- renewal in 300 seconds. wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether 00:11:95:d5:43:62 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 media: IEEE 802.11 Wireless Ethernet OFDM/36Mbps mode 11g status: associated ssid freebsdap channel 1 (2412 MHz 11g) bssid 00:11:95:c3:0d:ac country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS wme burst roaming MANUAL - Alternativ können Sie die Konfiguration von - WPA-PSK - auch manuell durchführen, wobei Sie wiederum die - Konfigurationsdatei + Alternativ kann das drahtlose Gerät manuell, mit + Hilfe der Informationen aus /etc/wpa_supplicant.conf - verwenden: + konfiguriert werden: &prompt.root; wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf Trying to associate with 00:11:95:c3:0d:ac (SSID='freebsdap' freq=2412 MHz) Associated with 00:11:95:c3:0d:ac WPA: Key negotiation completed with 00:11:95:c3:0d:ac [PTK=CCMP GTK=CCMP] CTRL-EVENT-CONNECTED - Connection to 00:11:95:c3:0d:ac completed (auth) [id=0 id_str=] Im zweiten Schritt starten Sie nun - dhclient, um eine IP-Adresse vom - DHCP-Server zu beziehen: + &man.dhclient.8;, um eine IP-Adresse + vom DHCP-Server zu beziehen: &prompt.root; dhclient wlan0 DHCPREQUEST on wlan0 to 255.255.255.255 port 67 DHCPACK from 192.168.0.1 bound to 192.168.0.254 -- renewal in 300 seconds. &prompt.root; ifconfig wlan0 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether 00:11:95:d5:43:62 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 media: IEEE 802.11 Wireless Ethernet OFDM/36Mbps mode 11g status: associated ssid freebsdap channel 1 (2412 MHz 11g) bssid 00:11:95:c3:0d:ac country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS wme burst roaming MANUAL - Enthält Ihre /etc/rc.conf - bereits die Zeile ifconfig_wlan0="DHCP", - müssen Sie dhclient nicht mehr - manuell aufrufen, da dhclient in - diesem Fall automatisch gestartet wird, nachdem - wpa_supplicant die Schlüssel - übergibt. + Enthält /etc/rc.conf + bereits die Zeile + ifconfig_wlan0="DHCP", wird + &man.dhclient.8; automatisch gestartet, nachdem + &man.wpa.supplicant.8; sich mit dem Access Point + verbunden hat. - Sollte der Einsatz von DHCP nicht möglich sein, - können Sie auch eine statische IP-Adresse - angeben, nachdem wpa_supplicant Ihre - Station authentifiziert hat: + Sollte der Einsatz von DHCP nicht + möglich oder nicht gewünscht sein, konfigurieren Sie + eine statische IP-Adresse, nachdem + &man.wpa.supplicant.8; die Station authentifiziert + hat: &prompt.root; ifconfig wlan0 inet 192.168.0.100 netmask 255.255.255.0 &prompt.root; ifconfig wlan0 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether 00:11:95:d5:43:62 inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255 media: IEEE 802.11 Wireless Ethernet OFDM/36Mbps mode 11g status: associated ssid freebsdap channel 1 (2412 MHz 11g) bssid 00:11:95:c3:0d:ac country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS wme burst roaming MANUAL - Verwenden Sie DHCP nicht, müssen Sie - zusätzlich noch das Standard-Gateway sowie - den/die Nameserver manuell festlegen: + Falls DHCP nicht verwendet wird, + müssen zusätzlich noch das Standard-Gateway sowie + der Nameserver manuell festgelegt werden: &prompt.root; route add default your_default_router - &prompt.root; echo "nameserver your_DNS_server" >> /etc/resolv.conf - + &prompt.root; echo "nameserver your_DNS_server" >> /etc/resolv.conf - WPA und EAP-TLS + <acronym>WPA</acronym> und + <acronym>EAP-TLS</acronym> - Die zweite Möglichkeit, WPA einzusetzen, ist - die Verwendung eines + Die zweite Möglichkeit, WPA + einzusetzen, ist die Verwendung eines 802.1X-Backend-Authentifizierungsservers. Diese - Variante wird als WPA-Enterprise bezeichnet, um sie - vom weniger sicheren WPA-Personal abzugrenzen, das - auf dem Austausch gemeinsamer (und vorher vereinbarter - Schlüssel) basiert. Die bei WPA-Enterprise - verwendete Authentifizierung basiert auf EAP - (Extensible Authentication - Protocol). + Variante wird als WPA-Enterprise + bezeichnet, um sie vom weniger sicheren + WPA-Personal abzugrenzen. Die bei + WPA-Enterprise verwendete + Authentifizierung basiert auf dem + Extensible Authentication + Protocol + (EAP). - EAP selbst bietet keine Verschlüsselung, - sondern operiert in einem verschlüsselten - Tunnel. Es gibt verschiedene, auf EAP basierende - Authentifizierungsmethoden, darunter EAP-TLS, - EAP-TTLS sowie EAP-PEAP. + EAP selbst bietet keine + Verschlüsselung, sondern operiert in einem + verschlüsselten Tunnel. Es gibt verschiedene auf + EAP basierende + Authentifizierungsmethoden, darunter + EAP-TLS, + EAP-TTLS und + EAP-PEAP. - Bei EAP-TLS (EAP with Transport Layers - Security) handelt es sich um sehr gut - unterstütztes Authentifizierungsprotokoll, da es - sich dabei um die erste EAP-Methode handelt, die von - der Wi-Fi - Alliance zertifiziert wurde. EAP-TLS - erfordert drei Zertifikate: Das (auf allen Rechnern - installierte) CA-Zertifikat, das Server-Zertifikat - Ihres Authentifizierungsservers, sowie ein - Client-Zertifikat für jeden drahtlosen Client. + EAP mit Transport + Layers Security + (EAP-TLS) ist ein sehr gut + unterstütztes Authentifizierungsprotokoll, da es sich + dabei um die erste EAP-Methode + handelt, die von der Wi-Fi Alliance + zertifiziert wurde. EAP-TLS + erfordert drei Zertifikate: Das auf allen Rechnern + installierte CA-Zertifikat, das + Server-Zertifikat des Authentifizierungsservers, sowie + ein Client-Zertifikat für jeden drahtlosen Client. Sowohl der Authentifizierungsservers als auch die drahtlosen Clients authentifizieren sich gegenseitig durch ihre Zertifikate, wobei sie überprüfen, ob diese Zertifikate auch von der - Zertifizierungs-Authorität (CA) des jeweiligen - Unternehmens signiert wurden. + Zertifizierungs-Authorität (CA) des + jeweiligen Unternehmens signiert wurden. - Die Konfiguration erfolgt (analog zu WPA-PSK) - über die Datei + Die Konfiguration erfolgt (analog zu + WPA-PSK) über /etc/wpa_supplicant.conf: network={ ssid="freebsdap" proto=RSN key_mgmt=WPA-EAP eap=TLS identity="loader" ca_cert="/etc/certs/cacert.pem" client_cert="/etc/certs/clientcert.pem" private_key="/etc/certs/clientkey.pem" private_key_passwd="freebsdmallclient" } - Der Name des Netzwerks (die SSID). + Der Name des Netzwerks + (SSID). - Das RSN/WPA2-Protokoll (&ieee; 802.11i) wird + Das als WPA2 bekannte + RSN &ieee; 802.11i Protokoll wird verwendet. Die key_mgmt-Zeile bezieht sich auf das verwendete Key-Management-Protokoll. - In diesem Beispiel wird WPA gemeinsam mit der - EAP-Authentifizierung verwendet - (WPA-EAP). + In diesem Beispiel wird WPA + gemeinsam mit der + EAP-Authentifizierung + verwendet. Die für die Verbindung verwendete - EAP-Methode. + EAP-Methode. Das identity-Feld enthält - den von EAP verwendeten Identifizierungsstring. + den von EAP verwendeten + Identifizierungsstring. - Das Feld ca_cert gibt den Pfad - zum CA-Zertifikat an. Dieses Datei wird benötigt, - um das Server-Zertifikat zu verifizieren. + Das Feld ca_cert gibt den + Pfad zum CA-Zertifikat an. Diese + Datei wird zur Verifizierung des Server-Zertifikats + benötigt. Die client_cert-Zeile gibt den Pfad zum Client-Zertifikat an. Jeder Client hat ein eigenes, innerhalb des Netzwerks eindeutiges, Zertifikat. Das Feld private_key gibt den Pfad zum privaten Schlüssel des Client-Zertifikat an. Das Feld private_key_passwd enthält die Passphrase für den privaten Schlüssel. Danach fügen Sie die folgende Zeile in /etc/rc.conf ein: wlans_ath0="wlan0" ifconfig_wlan0="WPA DHCP" - Nun können Sie Ihr drahtloses Gerät + Nun können Sie das drahtlose Gerät aktivieren: &prompt.root; service netif start Starting wpa_supplicant. DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 7 DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 15 DHCPACK from 192.168.0.20 bound to 192.168.0.254 -- renewal in 300 seconds. wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether 00:11:95:d5:43:62 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 media: IEEE 802.11 Wireless Ethernet DS/11Mbps mode 11g status: associated ssid freebsdap channel 1 (2412 MHz 11g) bssid 00:11:95:c3:0d:ac country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS wme burst roaming MANUAL - Alternativ können Sie Ihr drahtloses Gerät - wiederum manuell über - wpa_supplicant und - ifconfig aktivieren. + Alternativ kann das drahtlose Gerät manuell mit + &man.wpa.supplicant.8; und &man.ifconfig.8; aktiviert + werden. - WPA und EAP-TTLS + <acronym>WPA</acronym> mit + <acronym>EAP-TTLS</acronym> - Bei EAP-TLS müssen sowohl der + Bei EAP-TLS müssen sowohl der Authentifizierungsserver als auch die Clients jeweils - ein eigenes Zertifikat aufweisen. Setzen Sie hingegen - EAP-TTLS (EAP-Tunneled - Transport Layer Security) ein, ist das - Client-Zertifikat optional. EAP-TTLS geht dabei - ähnlich vor wie verschlüsselte Webseiten, - bei denen der Webserver einen sicheren SSL-Tunnel - erzeugen kann, ohne dass der Besucher dabei über - ein clientseitiges Zertifikat verfügen muss. - EAP-TTLS verwendet einen verschlüsselten - TLS-Tunnel zum sicheren Transport der - Authentifizierungsdaten. + ein eigenes Zertifikat aufweisen. Bei + EAP-TTLS ist das Client-Zertifikat + optional. EAP-TTLS geht dabei + vor wie ein Webserver, der einen sicheren + SSL-Tunnel erzeugen kann, ohne dass + der Besucher dabei über ein clientseitiges Zertifikat + verfügen muss. EAP-TTLS verwendet + einen verschlüsselten TLS-Tunnel zum + sicheren Transport der Authentifizierungsdaten. - Die Konfiguration von EAP-TTLS erfolgt in der - Datei /etc/wpa_supplicant.conf: + Die erforderliche Konfiguration erfolgt in + /etc/wpa_supplicant.conf: network={ ssid="freebsdap" proto=RSN key_mgmt=WPA-EAP eap=TTLS identity="test" password="test" ca_cert="/etc/certs/cacert.pem" phase2="auth=MD5" } Die für die Verbindung verwendete - EAP-Methode. + EAP-Methode. Das identity-Feld enthält den Identifizierungsstring für die - EAP-Authentifizierung innerhalb des - verschlüsselten TlS-Tunnels. + EAP-Authentifizierung innerhalb + des verschlüsselten + TLS-Tunnels. Das password-Feld enthält die Passphrase für die - EAP-Authentifizierung. + EAP-Authentifizierung. Das Feld ca_cert gibt den - Pfad zum CA-Zertifikat an, das benötigt wird, - um das Server-Zertifikat zu verifizieren. + Pfad zum CA-Zertifikat an. Diese + Datei wird zur Verifizierung des Server-Zertifikats + benötigt. - - Die innerhalb des verschlüsselten TLS-Tunnels - verwendete Authentifizierungsmethode. In unserem - Beispiel handelt es sich dabei um EAP und MD5. Diese - Phase der inneren Authentifizierung wird - oft als phase2 bezeichnet. + + Die innerhalb des verschlüsselten + TLS-Tunnels verwendete + Authentifizierungsmethode. In Fall von + PEAP ist dies + auth=MSCHAPV2. - Folgende Zeilen müssen zusätzlich in die Datei - /etc/rc.conf aufgenommen werden: + Folgende Zeilen müssen in + /etc/rc.conf aufgenommen + werden: wlans_ath0="wlan0" ifconfig_wlan0="WPA DHCP" - Nun können Sie Ihr drahtloses Gerät - aktivieren: + Nun kann das drahtlose Gerät aktiviert + werden: &prompt.root; service netif start Starting wpa_supplicant. DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 7 DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 15 DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 21 DHCPACK from 192.168.0.20 bound to 192.168.0.254 -- renewal in 300 seconds. wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether 00:11:95:d5:43:62 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 media: IEEE 802.11 Wireless Ethernet DS/11Mbps mode 11g status: associated ssid freebsdap channel 1 (2412 MHz 11g) bssid 00:11:95:c3:0d:ac country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS wme burst roaming MANUAL - WPA und EAP-PEAP + <acronym>WPA</acronym> mit + <acronym>EAP-PEAP</acronym> - PEAP (Protected EAP) - wurde als Alternative zu EAP-TTLS entwickelt. Es gibt - zwei verschiedene PEAP-Methoden, wobei es sich bei - PEAPv0/EAP-MSCHAPv2 um die häufiger verwendete - Methode handelt. In den folgenden Ausführungen - wird der Begriff PEAP synonym für diese - EAP-Methode verwendet. PEAP ist nach EAP-TLS der - am häufigsten verwendete und am besten - unterstützte EAP-Standard. + + PEAPv0/EAP-MSCHAPv2 ist die + gängigste PEAP-Methode. In diesem + Kapitel wird der Begriff PEAP + stellvertretend für diese Methode verwendet. + - PEAP arbeitet ähnlich wie EAP-TTLS: Es - verwendet ein serverseitiges Zertifikat, um - einen verschlüsselten TLS-Tunnel zu erzeugen, - über den die sichere Authentifizierung zwischen - den Clients und dem Authentifizierungsserver erfolgt. - In Sachen Sicherheit unterscheiden sich EAP-TTLS und - PEAP allerdings: PEAP überträgt den - Benutzernamen im Klartext und verschlüsselt nur - das Passwort, während EAP-TTLS sowohl den - Benutzernamen als auch das Passwort über den - TLS-Tunnel überträgt. + Protected EAP + (PEAP) wurde als Alternative zu + EAP-TTLS entwickelt und ist nach + EAP-TLS der meist genutzte + EAP-Standard. In einem Netzwerk mit + verschiedenen Betriebssystemen sollte + PEAP das am besten unterstützte + Standard nach EAP-TLS sein. - Um EAP-PEAP einzurichten, müssen Sie die - Konfigurationsdatei + PEAP arbeitet ähnlich wie + EAP-TTLS. Es verwendet ein + serverseitiges Zertifikat, um einen verschlüsselten + TLS-Tunnel, über den die sichere + Authentifizierung zwischen den Clients und dem + Authentifizierungsserver erfolgt. In Sachen Sicherheit + unterscheiden sich EAP-TTLS und + PEAP allerdings: + PEAP überträgt den Benutzernamen im + Klartext und verschlüsselt nur das Passwort, während + EAP-TTLS sowohl den Benutzernamen, + als auch das Passwort über den + TLS-Tunnel überträgt. + + Um EAP-PEAP zu konfigurieren, + fügen Sie die folgenden Zeilen in /etc/wpa_supplicant.conf - anpassen: + ein: network={ ssid="freebsdap" proto=RSN key_mgmt=WPA-EAP eap=PEAP identity="test" password="test" ca_cert="/etc/certs/cacert.pem" phase1="peaplabel=0" phase2="auth=MSCHAPV2" } Die für die Verbindung verwendete - EAP-Methode. + EAP-Methode. Das identity-Feld enthält den Identifizierungsstring für die innerhalb - des verschlüsselten TLS-Tunnels erfolgende - EAP-Authentifizierung. + des verschlüsselten TLS-Tunnels + erfolgende + EAP-Authentifizierung. Das Feld password enthält - die Passphrase für die EAP-Authentifizierung. + die Passphrase für die + EAP-Authentifizierung. - Das Feld ca_cert gibt den Pfad - zum CA-Zertifikat an, das zur Verifizierung des - Server-Zertifikats benötigt wird. + Das Feld ca_cert gibt den + Pfad zum CA-Zertifikat an. Diese + Datei wird zur Verifizierung des Server-Zertifikats + benötigt. - Dieses Feld enthält die Parameter für - die erste Phase der Authentifizierung (also den - TLS-Tunnel). Je nach dem, welchen - Authentifizierungsserver Sie verwenden, müssen - Sie hier einen unterschiedlichen Wert angeben. - In den meisten Fällen wird dieses Feld den - Wert client EAP encryption aufweisen, - der durch die Angabe von - peaplabel=0 gesetzt wird. Weitere - Informationen zur Konfiguration von PEAP finden Sie - in der Manualpage &man.wpa.supplicant.conf.5;. + Dieses Feld enthält die Parameter für die erste + Phase der Authentifizierung, den + TLS-Tunnel. Je nachdem, welcher + Authentifizierungsserver benutzt wird, kann ein + spezifisches Label für die Authentifizierung + verwendet werden. Meistens lautet das Label + client EAP + encryption, dass durch + peaplabel=0 gesetzt wird. + Weitere Informationen finden Sie in + &man.wpa.supplicant.conf.5;. Das innerhalb des verschlüsselten TLS-Tunnels verwendete Authentifizierungsprotokoll. In unserem Beispiel handelt es sich dabei um auth=MSCHAPV2. Danach fügen Sie die folgende Zeile in /etc/rc.conf ein: ifconfig_ath0="WPA DHCP" - Zuletzt müssen Sie die Netzwerkkarte noch - aktivieren: + Nun kann das drahtlose Gerät aktiviert + werden. &prompt.root; service netif start Starting wpa_supplicant. DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 7 DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 15 DHCPREQUEST on wlan0 to 255.255.255.255 port 67 interval 21 DHCPACK from 192.168.0.20 bound to 192.168.0.254 -- renewal in 300 seconds. wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether 00:11:95:d5:43:62 inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 media: IEEE 802.11 Wireless Ethernet DS/11Mbps mode 11g status: associated ssid freebsdap channel 1 (2412 MHz 11g) bssid 00:11:95:c3:0d:ac country US ecm authmode WPA2/802.11i privacy ON deftxkey UNDEF AES-CCM 3:128-bit txpower 21.5 bmiss 7 scanvalid 450 bgscan bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS wme burst roaming MANUAL - WEP + <acronym>WEP</acronym> - WEP (Wired Equivalent Privacy) ist Teil des - ursprünglichen 802.11-Standards. Es enthält + Wired Equivalent + Privacy (WEP) ist Teil + des ursprünglichen 802.11-Standards. Es enthält keinen Authentifzierungsmechanismus und verfügt lediglich über eine schwache Zugriffskontrolle, die sehr leicht umgangen werden kann. - WEP kann über ifconfig + WEP kann über &man.ifconfig.8; aktiviert werden: &prompt.root; ifconfig wlan0 create wlandev ath0 &prompt.root; ifconfig wlan0 inet 192.168.1.100 netmask 255.255.255.0 \ ssid my_net wepmode on weptxkey 3 wepkey 3:0x3456789012 - Mit weptxkey geben Sie an, - welcher WEP-Schlüssel für für die - Datenübertragung verwendet wird (in unserem - Beispiel ist dies der dritte Schlüssel). Der - gleiche Schlüssel muss auch am Access Point - eingestellt sein. Kennen Sie den vom Access Point - verwendeten Schlüssel nciht, sollten Sie zuerst - den Wert 1 (d.h. den ersten - Schlüssel) für diese Variable verwenden. + weptxkey definiert den + WEP-Schlüssel, der für die + Datenübertragung verwendet wird. Dieses Beispiel + verwendet den dritten Schlüssel. Der gleiche + Schlüssel muss auch am Access Point eingestellt sein. + Kennen Sie den vom Access Point verwendeten Schlüssel + nicht, sollten Sie zuerst den Wert + 1 (den ersten Schlüssel) für diese + Variable verwenden. - Mit wepkey legen Sie den zu - verwendenden WEP-Schlüssel in der Form - Nummer:Schlüssel fest. - Ist der Schlüssel "Nummer" nicht vorhanden, wird - automatisch Schlüssel 1 - verwendet. Die Angabe von "Nummer" ist zwingend - nötig, wenn Sie einen anderen als den ersten - Schlüssel verwenden wollen. + wepkey legt den zu + verwendenden WEP-Schlüssel in der + Form Nummer:Schlüssel fest. + Schlüssel 1 wird standardmäßig + verwendet. Die "Nummer" muss nur angegeben werden, + wenn ein anderer als der erste Schlüssel verwendet + werden soll. - In Ihrer Konfiguration müssen Sie - 0x3456789012 durch den an - Ihrem Access Point konfigurierten Schlüssel - ersetzen. + Ersetzen Sie 0x3456789012 + durch den am Access Point konfigurierten + Schlüssel. - Weitere Informationen finden Sie in der Manualpage + Weitere Informationen finden Sie in &man.ifconfig.8;. - Das Programm wpa_supplicant - eignet sich ebenfalls dazu, WEP für Ihr drahtloses - Gerät zu aktivieren. Obige Konfiguration lässt - sich dabei durch die Aufnahme der folgenden Zeilen in die - Datei /etc/wpa_supplicant.conf + Das Programm &man.wpa.supplicant.8; eignet sich + ebenfalls dazu, WEP für drahtlose + Geräte zu aktivieren. Obige Konfiguration lässt + sich dabei durch die Aufnahme der folgenden Zeilen in + /etc/wpa_supplicant.conf realisieren: network={ ssid="my_net" key_mgmt=NONE wep_key3=3456789012 wep_tx_keyidx=3 } Danach müssen Sie das Programm noch aufrufen: &prompt.root; wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf Trying to associate with 00:13:46:49:41:76 (SSID='dlinkap' freq=2437 MHz) Associated with 00:13:46:49:41:76
Ad-hoc-Modus - Der IBSS-Modus (auch als Ad-hoc-Modus bezeichnet), ist - für Punkt-zu-Punkt-Verbindungen vorgesehen. Um - beispielsweise eine Ad-hoc-Verbindung zwischen den Rechnern - A und B aufzubauen, - benötigen Sie lediglich zwei IP-Adressen und eine - SSID. + Der IBSS-Modus, der auch als + Ad-hoc-Modus bezeichnet wird, ist für + Punkt-zu-Punkt-Verbindungen vorgesehen. Um beispielsweise + eine Ad-hoc-Verbindung zwischen den Rechnern + A und B + aufzubauen, werden lediglich zwei + IP-Adressen und eine + SSID benötigt. - Auf dem Rechner A geben Sie Folgendes - ein: + Auf Rechner A: &prompt.root; ifconfig wlan0 create wlandev ath0 wlanmode adhoc &prompt.root; ifconfig wlan0 inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap &prompt.root; ifconfig wlan0 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 00:11:95:c3:0d:ac inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <adhoc> status: running ssid freebsdap channel 2 (2417 Mhz 11g) bssid 02:11:95:c3:0d:ac country US ecm authmode OPEN privacy OFF txpower 21.5 scanvalid 60 protmode CTS wme burst - Der adhoc-Parameter gibt an, dass die - Schnittstelle im IBSS-Modus läuft. + Der adhoc-Parameter zeigt an, dass die + Schnittstelle im IBSS-Modus läuft. - Rechner B sollte nun in der Lage sein, - Rechner A zu finden: + Rechner B sollte nun in der Lage + sein, Rechner A zu finden: &prompt.root; ifconfig wlan0 create wlandev ath0 wlanmode adhoc &prompt.root; ifconfig wlan0 up scan SSID/MESH ID BSSID CHAN RATE S:N INT CAPS freebsdap 02:11:95:c3:0d:ac 2 54M -64:-96 100 IS WME - Der Wert I (Spalte CAPS) gibt an, - dass sich Rechner A im Ad-hoc-Modus befindet. - Nun müssen Sie nur noch Rechner B eine - unterschiedliche IP-Adresse zuweisen: + Der Wert I (Spalte CAPS) in dieser + Ausgabe bestätigt, dass sich Rechner + A im Ad-hoc-Modus befindet. Nun + müssen Sie noch Rechner B eine andere + IP-Adresse zuweisen: &prompt.root; ifconfig wlan0 inet 192.168.0.2 netmask 255.255.255.0 ssid freebsdap &prompt.root; ifconfig wlan0 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 00:11:95:d5:43:62 inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255 media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <adhoc> status: running ssid freebsdap channel 2 (2417 Mhz 11g) bssid 02:11:95:c3:0d:ac country US ecm authmode OPEN privacy OFF txpower 21.5 scanvalid 60 protmode CTS wme burst Damit sind die Rechner A und B bereit und können untereinander Daten austauschen. &os; Host Access Points - &os; kann als Access Point (AP) agieren. Dies verhindert, - dass man sich einen Hardware AP kaufen oder ein ad-hoc - Netzwerk laufen lassen muss. Dies kann sinnvoll sein, - falls Ihre &os;-Computer als Gateway zu einem anderen - Netzwerk (z.B. Internet) fungiert. + &os; kann als Access Point (AP) + agieren. Dies verhindert, dass man sich einen Hardware + AP kaufen oder ein Ad-hoc Netzwerk laufen + lassen muss. Dies kann sinnvoll sein, falls der &os;-Computer + als Gateway zu einem anderen Netzwerk, wie dem Internet, + fungiert. Grundeinstellungen - Bevor Sie ihren &os;-Computer als einen AP konfigurieren, - muss der Kernel mit dem für ihre Wireless-Karte - entsprechenden Treibern konfiguriert werden. Sie - müssen ebenfalls die Sicherheitsprotokolle, die Sie - nutzen wollen, dem Kernel hinzufügen. Für - weitere Informationen siehe: - . + Bevor Sie einen &os;-Computer als AP + konfigurieren, muss der Kernel mit der entsprechenden + Netzwerkunterstützung für die drahtlose Karte, sowie die + Sicherheitsprotokolle konfiguriert werden. Weitere + Informationen finden Sie im . - Die Verwendung der NDIS und &windows; Treiber erlauben - zur Zeit keinen AP-Modus. Nur die nativen - &os;-Wireless-Treiber unterstützen den AP Modus. + Die Verwendung der NDIS Treiber für + &windows; erlauben zur Zeit keinen + AP-Modus. Nur die nativen + &os;-Wireless-Treiber unterstützen den + AP-Modus. - Nachdem die Unterstützung für ihr drahtloses - Netzwerk geladen ist, können Sie überprüfen, ob - Ihr Wireless-Gerät den hostbasierenden Access-Point Modus - (auch bekannt als hostap Modus) unterstützt: + Nachdem die Netzwerkunterstützung geladen ist, + überprüfen Sie, ob das Wireless-Gerät den hostbasierenden + Access-Point Modus, der auch als hostap-Modus bekannt ist, + unterstützt: &prompt.root; ifconfig wlan0 create wlandev ath0 &prompt.root; ifconfig wlan0 list caps drivercaps=6f85edc1<STA,FF,TURBOP,IBSS,HOSTAP,AHDEMO,TXPMGT,SHSLOT,SHPREAMBLE,MONITOR,MBSS,WPA1,WPA2,BURST,WME,WDS,BGSCAN,TXFRAG> cryptocaps=1f<WEP,TKIP,AES,AES_CCM,TKIPMIC> - Diese Ausgabe zeigt die Möglichkeiten der Karte. Das + Diese Ausgabe zeigt die Eigenschaften der Karte. Das Wort HOSTAP bestätigt, dass diese - Wireless-Karte als Access Point agieren kann. Die - verschiedenen unterstützten Algorithmen - (z.B. WEP, TKIP, AES usw.) werden ebenfalls angezeigt. - Diese Informationen sind wichtig, wenn Sie wissen wollen, - welche Sicherheitsprotokolle auf diesem Access Point - verwendbar sind. + Wireless-Karte als AP agieren kann. Die + verschiedenen unterstützten Algorithmen werden ebenfalls + angezeigt: WEP, + TKIP und AES. Diese + Informationen zeigen an, welche Sicherheitsprotokolle auf + dem AP nutzbar sind. Das Wireless-Gerät kann nur während der Erzeugung des Pseudo-Geräts in den hostap-Modus gesetzt werden. Zuvor erstellte Pseudo-Geräte müssen also vorher zerstört werden: &prompt.root; ifconfig wlan0 destroy Danach muss das Gerät erneut erstellt werden, bevor die restlichen Netzwerkparameter konfiguriert werden können: &prompt.root; ifconfig wlan0 create wlandev ath0 wlanmode hostap &prompt.root; ifconfig wlan0 inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap mode 11g channel 1 - Benutzen Sie danach erneut den Befehl - ifconfig, um den Status der - wlan0-Schnittstelle abzufragen: + Benutzen Sie danach erneut &man.ifconfig.8;, um den + Status der wlan0-Schnittstelle + abzufragen: &prompt.root; ifconfig wlan0 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 00:11:95:c3:0d:ac inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap> status: running ssid freebsdap channel 1 (2412 Mhz 11g) bssid 00:11:95:c3:0d:ac country US ecm authmode OPEN privacy OFF txpower 21.5 scanvalid 60 protmode CTS wme burst dtimperiod 1 -dfs Die hostap-Parameter geben die Schnittstelle an, die im hostbasierenden Access Point Modus läuft. Die Konfiguration der Schnittstelle kann durch Hinzufügen der folgenden Zeilen in die Datei /etc/rc.conf automatisch während des Bootvorganges erfolgen: wlans_ath0="wlan0" create_args_wlan0="wlanmode hostap" ifconfig_wlan0="inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap mode 11g channel 1" Hostbasierender Access Point ohne Authentifizierung oder Verschlüsselung - Obwohl es nicht empfohlen wird, einen AP ohne jegliche + Obwohl es nicht empfohlen wird, einen + AP ohne jegliche Authentifizierung oder Verschlüsselung laufen zu lassen, - ist es eine einfache Art zu testen, ob der AP funktioniert. + ist es eine einfache Art zu testen, ob der + AP funktioniert. Diese Konfiguration ist auch wichtig für die Fehlersuche bei Client-Problemen. - Nachdem Sie den AP, wie oben beschrieben, konfiguriert - haben, ist es möglich von einem anderen drahtlosen - Computer eine Suche nach dem AP zu starten: + Nachdem der AP konfiguriert wurde, + ist es möglich von einem anderen drahtlosen + Computer eine Suche nach dem AP zu + starten: &prompt.root; ifconfig wlan0 create wlandev ath0 &prompt.root; ifconfig wlan0 up scan SSID/MESH ID BSSID CHAN RATE S:N INT CAPS freebsdap 00:11:95:c3:0d:ac 1 54M -66:-96 100 ES WME - Der Client-Rechner fand den Access Point und kann mit ihm - verbunden werden: + Der Client-Rechner hat den AP + gefunden und kann nun eine Verbindung aufbauen: &prompt.root; ifconfig wlan0 inet 192.168.0.2 netmask 255.255.255.0 ssid freebsdap &prompt.root; ifconfig wlan0 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 00:11:95:d5:43:62 inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255 media: IEEE 802.11 Wireless Ethernet OFDM/54Mbps mode 11g status: associated ssid freebsdap channel 1 (2412 Mhz 11g) bssid 00:11:95:c3:0d:ac country US ecm authmode OPEN privacy OFF txpower 21.5 bmiss 7 scanvalid 60 bgscan bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS wme burst - WPA-basierender Host-Access Point + <acronym>WPA</acronym>-hostbasierter + Access Point - Dieser Abschnitt beschäftigt sich mit dem Konfigurieren - eines &os;-Access-Points mit dem WPA-Sicherheitsprotokoll. - Weitere Einzelheiten zu WPA und der Konfiguration von Clients mit - WPA finden Sie im + Dieser Abschnitt beschäftigt sich mit der Konfiguration + eines &os;-AP mit dem + WPA-Sicherheitsprotokoll. Weitere + Einzelheiten zu WPA und der Konfiguration + von Clients mit WPA finden Sie im . Der hostapd-Dienst wird genutzt, um die Client-Authentifizierung und das Schlüsselmanagement - auf dem Access Point mit aktiviertem WPA zu nutzen. + auf dem AP mit aktiviertem + WPA zu nutzen. - In den folgenden Abschnitten werden allen Konfigurationen - auf dem &os;-Computer ausgeführt, der als AP agiert. - Nachdem der AP korrekt arbeitet, sollte - hostapd automatisch beim Booten - durch folgende Zeile in der /etc/rc.conf + Die folgende Konfiguration wird auf dem + &os;-Computer ausgeführt, der als AP + agiert. Nachdem der AP korrekt arbeitet, + sollte &man.hostapd.8; automatisch beim Booten durch + folgende Zeile in /etc/rc.conf aktiviert werden: hostapd_enable="YES" - Bevor Sie versuchen hostapd - zu konfigurieren, stellen Sie sicher, dass die - Grundeinstellungen, wie in - beschrieben, - ausgeführt wurden. + Bevor Sie versuchen &man.hostapd.8; zu konfigurieren, + konfigurieren Sie zunächst die Grundeinstellungen, wie im + + beschrieben. - WPA-PSK + <acronym>WPA-PSK</acronym> - WPA-PSK ist für kleine Netzwerke gedacht, in denen die - Verwendung eines Authentifizierungs-Backend-Server nicht - möglich oder erwünscht ist. + WPA-PSK ist für kleine Netzwerke + gedacht, in denen die Verwendung eines + Authentifizierungs-Backend-Server nicht möglich oder + nicht erwünscht ist. Die Konfiguration wird in /etc/hostapd.conf durchgeführt: interface=wlan0 debug=1 ctrl_interface=/var/run/hostapd ctrl_interface_group=wheel ssid=freebsdap wpa=1 wpa_passphrase=freebsdmall wpa_key_mgmt=WPA-PSK wpa_pairwise=CCMP TKIP Dieses Feld zeigt die Wireless-Schnittstelle an, die für den Access Point verwendet wird an. Dieses Feld legt den debuglevel von - hostapd während der + &man.hostapd.8; während der Ausführung fest. Ein Wert von 1 ist der kleinste zulässige Wert. Das ctrl_interface-Feld gibt den Pfadnamen des Verzeichnisses an, der von - hostapd dazu genutzt wird, - um die domain socket Dateien zu speichern, die für + &man.hostapd.8; genutzt wird, um die + Domain-Socket-Dateien zu speichern, die für die Kommunikation mit externen Programmen, wie z.B. &man.hostapd.cli.8;, benutzt werden. - Hier wurden die Standardwerte benutzt. + In diesem Beispiel wird der Standardwert + verwendet. Die Zeile ctrl_interface_group - legt fest, welche Gruppe (hier ist es die - wheel-Gruppe) die Erlaubnis hat, + legt fest, welche Gruppe die Erlaubnis hat, die Schnittstellendateien zu kontrollieren. Dieses Feld setzt den Netzwerknamen. - Das wpa-Feld aktiviert WPA und - gibt an welches WPA-Authentifizierungprotokoll + Das wpa-Feld aktiviert + WPA und gibt an welches + WPA-Authentifizierungprotokoll benötigt wird. Ein Wert von 1 - konfiguriert den AP mit WPA-PSK. + konfiguriert den AP mit + WPA-PSK. Das wpa_passphrase-Feld beinhaltet das ASCII-Passwort für die - WPA-Authentifikation. + WPA-Authentifizierung. - - Verwenden Sie immer sichere Passwörter, - die ausreichend lang sind und aus vielen - unterschiedlichen Zeichen bestehen, damit sie nicht - erraten werden oder umgangen werden können. + Achten Sie darauf, immer starke Passwörter zu + verwenden, die ausreichend lang sind und auch + Sonderzeichen enthalten, damit diese nicht leicht + erraten oder umgangen werden können. - Die wpa_key_mgmt Zeile bestimmt - das Schlüsselmanagement-Protokoll, das benutzt wird. - In unserem Fall ist es WPA-PSK. + Die wpa_key_mgmt Zeile zeigt + das verwendete Schlüsselmanagement-Protokoll. + Dieses Beispiel nutzt + WPA-PSK. Das wpa_pairwise Feld zeigt die - zulässigen Verschlüsselungs-Algorithmen - des Access Points. Hier werden beide, TKIP (WPA) und - CCMP (WPA2), akzeptiert. CCMP-Verschlüsselung ist - eine Alternative zu TKIP und sollte wenn möglich - eingesetzt werden. TKIP sollte nur da eingesetzt werden, - wo kein CCMP möglich ist. + zulässigen Verschlüsselungsverfahren des + AP. Hier werden beide, + TKIP (WPA) und + CCMP (WPA2) + akzeptiert. CCMP-Verschlüsselung + ist eine Alternative zu TKIP und + sollte wenn möglich eingesetzt werden. + TKIP sollte nur da eingesetzt + werden, wo kein CCMP möglich + ist. - Als nächstes wird der - hostapd gestartet: + Als nächstes wird hostapd + gestartet: &prompt.root; service hostapd forcestart &prompt.root; ifconfig wlan0 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2290 inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4 ether 00:11:95:c3:0d:ac media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap> status: associated ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac authmode WPA2/802.11i privacy MIXED deftxkey 2 TKIP 2:128-bit txpowmax 36 protmode CTS dtimperiod 1 bintval 100 - Der Access Point läuft nun, die Clients können mit ihm - verbunden werden. Weitere Informationen finden Sie im - . Es ist möglich zu - sehen, welche Stationen mit dem AP verbunden sind. Dazu - geben Sie den Befehl ifconfig wlan0 list - sta ein. + Sobald der AP läuft, können sich + die Clients mit ihm verbinden. Weitere Informationen + finden Sie im . Es + ist möglich zu sehen, welche Stationen mit dem + AP verbunden sind. Geben Sie dazu + ifconfig + wlan0 list sta + ein. - WEP hostbasierender Access Point + <acronym>WEP</acronym>-hostbasierter + Access Point - Es ist nicht empfehlenswert, einen Access Point mit - WEP zu konfigurieren, da es keine - Authentifikationsmechanismen gibt und WEP leicht zu - knacken ist. Einige ältere WLAN-Karten unterstützen nur - WEP als Sicherheitsprotokoll. Für solche Karten ist es - notwendig den AP ohne Authentifikation, Verschlüsselung - oder mit dem WEP-Protokoll zu konfigurieren. + Es ist nicht empfehlenswert, einen + AP mit WEP zu + konfigurieren, da es keine Authentifikationsmechanismen + gibt und WEP leicht zu knacken ist. + Einige ältere drahtlose Karten unterstützen nur + WEP als Sicherheitsprotokoll. Diese + Karten können nur mit einem AP ohne + Authentifikation oder Verschlüsselung genutzt + werden. Das Wireless-Gerät kann nun in den hostap-Modus - versetzt werden und mit der korrekten SSID und IP-Adresse + versetzt werden und mit der korrekten + SSID und IP-Adresse konfiguriert werden: &prompt.root; ifconfig wlan0 create wlandev ath0 wlanmode hostap &prompt.root; ifconfig wlan0 inet 192.168.0.1 netmask 255.255.255.0 \ ssid freebsdap wepmode on weptxkey 3 wepkey 3:0x3456789012 mode 11g - Der weptxkey gibt an, - welcher WEP-Schlüssel bei der Übertragung - benutzt wird. Hier nutzen wir den 3. Schlüssel - (die Nummerierung der Schlüssel beginnt bei - 1). Dieses Parameter muss angegeben - sein, damit die Daten wirklich verschlüsselt - werden. + Der weptxkey zeigt an, + welcher WEP-Schlüssel bei der + Übertragung benutzt wird. In diesem Beispiel wird der + dritte Schlüssel benutzt, da die Nummerierung bei + 1 beginnt. Dieser Parameter muss + angegeben werden, damit die Daten verschlüsselt + werden. Der wepkey gibt den - gewählten WEP-Schlüssel an. Er sollte im - folgenden Format index:key - vorliegen. Wenn kein Index vorhanden ist, wird der - Schlüssel 1 benutzt. Das bedeutet - wir brauchen einen Index, falls wir einen anderen - Schlüssel als den ersten nutzen wollen. + gewählten WEP-Schlüssel an. Er + sollte im folgenden Format + index:key vorliegen. Wenn + kein Index vorhanden ist, wird der Schlüssel + 1 benutzt. Ansonsten muss der + Index manuell festgelegt werden. - Benutzen Sie den Befehl ifconfig - noch einmal um den Status der - wlan0-Schnittstelle zu sehen: + Benutzen Sie &man.ifconfig.8; um den Status der + wlan0-Schnittstelle erneut + anzuzeigen: &prompt.root; ifconfig wlan0 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 00:11:95:c3:0d:ac inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap> status: running ssid freebsdap channel 4 (2427 Mhz 11g) bssid 00:11:95:c3:0d:ac country US ecm authmode OPEN privacy ON deftxkey 3 wepkey 3:40-bit txpower 21.5 scanvalid 60 protmode CTS wme burst dtimperiod 1 -dfs Es ist möglich, von einem anderen drahtlosen - Computer eine Suche nach dem AP zu starten: + Computer eine Suche nach dem AP zu + starten: &prompt.root; ifconfig wlan0 create wlandev ath0 &prompt.root; ifconfig wlan0 up scan SSID BSSID CHAN RATE S:N INT CAPS freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 100 EPS - Der Client-Rechner fand den Access Point und kann - mit den korrekten Parametern (Schlüssel usw.) - mit ihm verbunden werden. Weitere Informationen gibt es in - folgendem + Der Client-Rechner hat den AP + gefunden und kann nun eine Verbindung aufbauen. Weitere + Informationen finden Sie im . Benutzung von drahtgebundenen und drahtlosen Verbindungen Eine Verbindung per Kabel bietet eine bessere Leistung und eine höhere Zuverlässigkeit, während die Wireless-Verbindung eine höhere Flexibilität und Mobilität bietet. Benutzer von Laptops wollen - normalerweise beides nutzen und zwischen beiden hin und her - schalten. + normalerweise beides nutzen und zwischen beiden Verbindungen + hin und her schalten. Unter &os; ist es möglich zwei oder mehr Netzwerkschnittstellen in einem failover-Mode zu - kombinieren, so dass automatisch die beste verfügbare Verbindung - aus der Gruppe ausgewählt wird, sobald der Linkstatus - wechselt. - - Wir behandeln Link-Aggregation und Failover in dem Kapitel - . Dort gibt es auch ein - Beispiel () - für die Verwendung von sowohl kabelgebundenen wie - auch drahtlosen Verbindungen. + kombinieren. Diese Konfiguration nutzt die beste verfügbare + Verbindung aus einer Gruppe von Netzwerkverbindungen. Sobald + sich der Linkstatus ändert, wechselt das Betriebssystem + automatisch auf eine andere Verbindung. + + Link-Aggregation und Failover werden im + behandelt. Ein Beispiel + für die Verwendung von kabelgebundenen und drahtlosen + Verbindungen gibt es im . Problembehandlung - Die folgenden Auflistung zeigt, wie Sie einige - häufig auftretende Probleme bei der Einrichtung - Ihres drahtlosen Netzwerks beheben können. + Dieser Abschnitt beschreibt eine Reihe von Maßnahmen zur + Behebung von alltäglichen Problemen mit + Drahtlosnetzwerken. - Wird Ihr Access Point bei der Suche nicht gefunden, - sollten Sie überprüfen, ob Sie bei Konfiguration - Ihres drahtlosen Geräts die Anzahl der Kanäle - beschränkt haben. + Wird der Access Point bei der Suche nicht gefunden, + überprüfen Sie, dass die Konfiguration des drahtlosen + Geräts nicht die Anzahl der Kanäle beschränkt. - Wenn Sie sich nicht mit Ihrem Access Point verbinden - können, sollten Sie überprüfen, ob die - Konfiguration Ihrer Station auch der des Access Points - entspricht. Achten Sie dabei speziell auf die - Authentifzierungsmethode und die Sicherheitsprotokolle. - Halten Sie Ihre Konfiguration so einfach wie möglich. - Verwenden Sie ein Sicherheitsprotokoll wie WPA oder WEP, - sollten Sie testweise Ihren Access Point auf - offene Authentifizierung und - keine Sicherheit einstellen. - Danach versuchen Sie sich erneut mit Ihren Access Point - zu verbinden. + Wenn sich das Gerät nicht mit dem Access Point + verbinden kann, überprüfen Sie, ob die Konfiguration der + Station auch der des Access Points entspricht. Dazu + gehören auch die Authentifzierungsmethode und die + Sicherheitsprotokolle. Halten Sie die Konfiguration so + einfach wie möglich. Verwenden Sie ein + Sicherheitsprotokoll wie WPA oder + WEP, können Sie testweise den Access + Point auf offene Authentifizierung + und keine Sicherheit + einstellen. - Nachdem Sie sich mit dem Access Point verbinden - können, prüfen Sie die Sicherheitseinstellungen, - beginnend mit einfachen Werkzeugen wie &man.ping.8;. + Sobald sich das Gerät mit dem Access Point verbinden + kann, prüfen Sie die Sicherheitseinstellungen mit + einfachen Werkzeugen wie &man.ping.8;. - Das Programm wpa_supplicant - kann Ihnen bei der Fehlersuche helfen. Dazu starten - Sie es manuell mit der Option und - durchsuchen anschließend die Protokollinformationen - nach eventuellen Fehlermeldungen. + Für die Fehlersuche steht &man.wpa.supplicant.8; + zur Verfügung. Starten Sie das Programm manuell mit der + Option und durchsuchen Sie + anschließend die Systemprotokolle nach eventuellen + Fehlermeldungen. Zusätzlich gibt es auch zahlreiche Low-Level-Debugging-Werkzeuge. Die Ausgabe von Debugging-Informationen des 802.11 Protocol Support Layers - lassen sich mit dem Programm wlandebug - (das sich unter - /usr/src/tools/tools/net80211 - befindet) aktivieren. Um beispielsweise während - der Suche nach Access Points und des Aufbaus von - 802.11-Verbindungen + lassen sich mit dem Programm &man.wlandebug.8; aktivieren. + Unter &os; 9.1 finden Sie dieses Programm unter + /usr/src/tools/tools/net80211. + Um beispielsweise während der Suche nach Access Points und + des Aufbaus von 802.11-Verbindungen (Handshake) auftretende Systemmeldungen auf die Konsole auszugeben, verwenden Sie den folgenden Befehl: &prompt.root; wlandebug -i ath0 +scan+auth+debug+assoc net.wlan.0.debug: 0 => 0xc80000<assoc,auth,scan> Der 802.11-Layer liefert umfangreiche Statistiken, - die Sie mit dem Werkzeug wlanstats - abrufen können. Diese Statistiken sollten alle - Fehler identifizieren, die im 802.11-Layer auftreten. - Beachten Sie aber, dass einige Fehler bereits im - darunterliegenden Gerätetreiber auftreten und + die mit dem Werkzeug wlanstats, das + sich in + /usr/src/tools/tools/net80211 + befindet, abgerufen werden können. Diese Statistiken + sollten alle Fehler identifizieren, die im 802.11-Layer + auftreten. Beachten Sie aber, dass einige Fehler bereits + im darunterliegenden Gerätetreiber auftreten und daher in diesen Statistiken nicht enthalten sind. Wie Sie Probleme des Gerätetreibers identifizieren, - entnehmen Sie bitte der Dokumentation Ihres + entnehmen Sie bitte der Dokumentation des Gerätetreibers. - Können Sie Ihr Problem durch diese - Maßnahmen nicht lösen, sollten Sie einen - Problembericht (PR) erstellen und die Ausgabe der weiter - oben genannten Werkzeuge in den Bericht aufnehmen. + Wenn die oben genannten Informationen nicht helfen das + Problem zu klären, erstellen Sie einen Problembericht, der die + Ausgabe der weiter oben genannten Werkzeuge beinhaltet.
USB Tethering tether Viele Mobiltelefone bieten die Möglichkeit, ihre Datenverbindung über USB (oft "Tethering" genannt) zu teilen. Diese Funktion verwendet das RNDIS oder CDC-Protokoll. Bevor Sie ein Gerät anschließen, laden Sie den entsprechenden Treiber in den Kernel: &prompt.root; kldload if_urndis &prompt.root; kldload cdce Sobald das Gerät angeschlossen ist, steht es Ihnen unter ue0 wie ein normales Netzwerkgerät zur Verfügung. Stellen Sie sicher, dass die Option USB Tethering auf dem Gerät aktiviert ist. Bluetooth Pav Lucistnik Beigetragen von pav@FreeBSD.org Bluetooth Übersicht Bluetooth ermöglicht die Bildung von persönlichen Netzwerken über drahtlose Verbindungen bei einer maximalen Reichweite von 10 Metern und operiert im unlizensierten 2,4-GHz-Band. Solche Netzwerke werden normalerweise spontan gebildet, wenn sich mobile Geräte, wie Mobiltelefone, Handhelds oder Notebooks miteinander verbinden. Im Gegensatz zu Wireless LAN ermöglicht Bluetooth auch höherwertige Dienste, wie FTP-ähnliche Dateiserver, Filepushing, Sprachübertragung, Emulation von seriellen Verbindungen und andere mehr. Der Bluetooth-Stack von &os; verwendet das - Netgraph-Framework (&man.netgraph.4;). Viele - Bluetooth-USB-Adapter werden durch den &man.ng.ubt.4;-Treiber - unterstützt. Auf dem Chip BCM2033 - von Broadcom basierende Bluetooth-Geräte werden von den + &man.netgraph.4;-Framework. Viele + Bluetooth-USB-Adapter werden durch den + &man.ng.ubt.4;-Treiber unterstützt. Auf dem Chip BCM2033 + von Broadcom basierende Bluetooth-Geräte werden von den Treibern &man.ubtbcmfw.4; sowie &man.ng.ubt.4; unterstützt. Die Bluetooth-PC-Card 3CRWB60-A von 3Com verwendet den &man.ng.bt3c.4;-Treiber. Serielle sowie auf UART basierende Bluetooth-Geräte werden von &man.sio.4;, &man.ng.h4.4; - sowie &man.hcseriald.8; unterstützt. Dieses Kapitel - beschreibt die Verwendung von USB-Bluetooth-Adaptern. + sowie &man.hcseriald.8; unterstützt. Dieses Kapitel + beschreibt die Verwendung von + USB-Bluetooth-Adaptern. Die Bluetooth-Unterstützung aktivieren - Bluetooth-Unterstützung ist in der Regel als - Kernelmodul verfügbar. Damit ein Gerät funktioniert, - muss der entsprechende Treiber im Kernel geladen werden: + Bevor ein Gerät angeschlossen wird, muss der entsprechende + Treiber in den Kernel geladen werden: &prompt.root; kldload ng_ubt Ist das Bluetooth-Gerät beim Systemstart angeschlossen, kann das entsprechende Modul auch von /boot/loader.conf geladen werden: ng_ubt_load="YES" - Schließen Sie Ihren USB-Adapter an, sollte eine - Meldung ähnlich der folgenden auf der Konsole (oder in - syslog) erscheinen: + Schließen Sie den USB-Adapter an. Eine + Meldung ähnlich der folgenden wird auf der Konsole und in den + Systemmeldungen erscheinen: ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2 ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2 ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3, wMaxPacketSize=49, nframes=6, buffer size=294 Zum Starten und Beenden des Bluetooth-Stacks verwenden Sie - &man.service.8;. Es ist - empfehlenswert, den Bluetooth-Stack zu beenden, bevor Sie den - Adapter entfernen. Selbst wenn Sie dies nicht tun, kommt es - (normalerweise) zu keinem fatalen Fehler. Wenn Sie den + &man.service.8;. Es ist empfehlenswert, den Bluetooth-Stack + zu beenden, bevor Sie den Adapter entfernen. Wenn Sie den Bluetooth-Stack starten, erhalten Sie eine Meldung ähnlich der folgenden: &prompt.root; service bluetooth start ubt0 BD_ADDR: 00:02:72:00:d4:1a Features: 0xff 0xff 0xf 00 00 00 00 00 <3-Slot> <5-Slot> <Encryption> <Slot offset> <Timing accuracy> <Switch> <Hold mode> <Sniff mode> <Park mode> <RSSI> <Channel quality> <SCO link> <HV2 packets> <HV3 packets> <u-law log> <A-law log> <CVSD> <Paging scheme> <Power control> <Transparent SCO data> Max. ACL packet size: 192 bytes Number of ACL packets: 8 Max. SCO packet size: 64 bytes Number of SCO packets: 8 - - Das Host Controller Interface (HCI) + Das Host Controller Interface + (<acronym>HCI</acronym>) HCI Das Host Controller Interface - (HCI) bietet eine Befehlsschnittstelle zum Basisbandcontroller - und Linkmanager, sowie Zugriff auf den Hardwarestatus und die - Kontrollregister. Dadurch wird ein einheitlicher Zugriff auf - die Fähigkeiten des Bluetooth-Basisbands möglich. Die - HCI-Layer des Rechners tauschen Daten und Befehle mit der - HCI-Firmware der Bluetooth-Geräte aus. Über den - Host Controller Transport Layer-Treiber (also den physikalischen - Bus) können beide HCI-Layer miteinander - kommunizieren. + (HCI) bietet eine Befehlsschnittstelle zum + Basisbandcontroller und Linkmanager, sowie Zugriff auf den + Hardwarestatus und die Kontrollregister. Dadurch wird ein + einheitlicher Zugriff auf die Fähigkeiten des + Bluetooth-Basisbands möglich. Die + HCI-Layer des Rechners tauschen Daten + und Befehle mit der HCI-Firmware der + Bluetooth-Geräte aus. Über den Host Controller + Transport Layer-Treiber (den physikalischen Bus) können beide + HCI-Layer miteinander kommunizieren. - Eine einzelne Netgraph-Gerätedatei vom Typ + Eine einzelne netgraph-Gerätedatei vom Typ hci wird für ein einzelnes - Bluetooth-Gerät erzeugt. Die HCI-Gerätedatei ist - normalerweise mit der Bluetooth-Gerätetreiberdatei - (downstream) sowie der L2CAP-Gerätedatei (upstream) - verbunden. Alle HCI-Operationen müssen über die - HCI-Gerätedatei und nicht über die Treiberdatei - erfolgen. Der Standardname für die HCI-Gerätedatei - (die in &man.ng.hci.4; beschrieben wird) lautet - devicehci. + Bluetooth-Gerät erzeugt. Die + HCI-Gerätedatei ist normalerweise mit der + Bluetooth-Gerätetreiberdatei (downstream) sowie der + L2CAP-Gerätedatei (upstream) verbunden. + Alle HCI-Operationen müssen über die + HCI-Gerätedatei und nicht über die + Treiberdatei erfolgen. Der Standardname für die + HCI-Gerätedatei lautet + devicehci. Weitere Details finden Sie in + &man.ng.hci.4;. Eine der wichtigsten Aufgaben ist das Auffinden von sich in Reichweite befindenden Bluetooth-Geräten. Diese Funktion wird als inquiry bezeichnet. - Inquiry sowie andere mit HCI in Verbindung stehende Funktionen - werden von &man.hccontrol.8; zur Verfügung gestellt. Das - folgende Beispiel zeigt, wie man herausfindet, welche - Bluetooth-Geräte sich in Reichweite befinden. Eine solche - Abfrage dauert nur wenige Sekunden. Beachten Sie, dass ein - Gerät nur dann antwortet, wenn es sich im Modus + Inquiry sowie andere mit HCI in Verbindung + stehende Funktionen werden von &man.hccontrol.8; zur Verfügung + gestellt. Das folgende Beispiel zeigt, wie man herausfindet, + welche Bluetooth-Geräte sich in Reichweite befinden. Eine + solche Abfrage dauert nur wenige Sekunden. Beachten Sie, dass + ein Gerät nur dann antwortet, wenn es sich im Modus discoverable befindet. &prompt.user; hccontrol -n ubt0hci inquiry Inquiry result, num_responses=1 Inquiry result #0 BD_ADDR: 00:80:37:29:19:a4 Page Scan Rep. Mode: 0x1 Page Scan Period Mode: 00 Page Scan Mode: 00 Class: 52:02:04 Clock offset: 0x78ef Inquiry complete. Status: No error [00] BD_ADDR stellt, ähnlich der - MAC-Adresse einer Netzwerkkarte, die eindeutige Adresse eines - Bluetooth-Gerätes dar. Diese Adresse ist für die - Kommunikation mit dem Gerät nötig. Es ist aber auch - möglich, BD_ADDR einen Klartextnamen zuzuweisen. Die - Datei /etc/bluetooth/hosts enthält + MAC-Adresse einer Netzwerkkarte, die + eindeutige Adresse eines Bluetooth-Gerätes dar. Diese Adresse + ist für die Kommunikation mit dem Gerät nötig. Es ist aber + auch möglich, BD_ADDR einen Klartextnamen zuzuweisen. + /etc/bluetooth/hosts enthält Informationen über die bekannten Bluetooth-Rechner. Das folgende Beispiel zeigt, wie man den Klartextnamen eines entfernten Geräts in Erfahrung bringen kann: &prompt.user; hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4 BD_ADDR: 00:80:37:29:19:a4 Name: Pav's T39 Wenn Sie ein entferntes Bluetooth-Gerät abfragen, wird - dieses Ihren Rechner unter dem Namen + dieses den Rechner unter dem Namen your.host.name (ubt0) finden. Dieser Name kann aber jederzeit geändert werden. - Bluetooth ermöglicht Punkt-zu-Punkt-Verbindungen (an - denen nur zwei Bluetooth-Geräte beteiligt sind), aber auch - Punkt-zu-Multipunkt-Verbindungen, bei denen eine Verbindung von - mehreren Bluetooth-Geräten gemeinsam genutzt wird. Das + Bluetooth ermöglicht Punkt-zu-Punkt-Verbindungen an + denen nur zwei Bluetooth-Geräte beteiligt sind, aber auch + Punkt-zu-Multipunkt-Verbindungen, bei denen eine Verbindung + von mehreren Bluetooth-Geräten gemeinsam genutzt wird. Das folgende Beispiel zeigt, wie man die aktiven - Basisbandverbindungen des lokalen Gerätes anzeigen kann: + Basisbandverbindungen des lokalen Gerätes anzeigen + kann: &prompt.user; hccontrol -n ubt0hci read_connection_list Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State 00:80:37:29:19:a4 41 ACL 0 MAST NONE 0 0 OPEN Ein connection handle ist für die Beendigung einer Basisbandverbindung nützlich. Im Normalfall werden inaktive Verbindungen aber automatisch vom Bluetooth-Stack getrennt. &prompt.root; hccontrol -n ubt0hci disconnect 41 Connection handle: 41 Reason: Connection terminated by local host [0x16] Rufen Sie hccontrol help auf, wenn Sie - eine komplette Liste aller verfügbaren HCI-Befehle - benötigen. Die meisten dieser Befehle müssen nicht - als root ausgeführt werden. + eine komplette Liste aller verfügbaren + HCI-Befehle benötigen. Die meisten dieser + Befehle müssen nicht als root ausgeführt werden. - Das Logical Link Control and Adaptation Protocol (L2CAP) + Das Logical Link Control and Adaptation Protocol + (<acronym>L2CAP</acronym>) L2CAP Das Logical Link Control and Adaptation - Protocol (L2CAP) bietet + Protocol (L2CAP) bietet höherwertigen Protokollen verbindungsorientierte und verbindungslose Datendienste an. Dazu gehören auch Protokollmultiplexing, Segmentierung und Reassemblierung. - L2CAP erlaubt höherwertigen Protokollen und Programmen den - Versand und Empfang von L2CAP-Datenpaketen mit einer Länge - von bis zu 64 Kilobytes. + L2CAP erlaubt höherwertigen Protokollen und + Programmen den Versand und Empfang von + L2CAP-Datenpaketen mit einer Länge von bis + zu 64 Kilobytes. - L2CAP arbeitet kanalbasiert. Ein - Kanal ist eine logische Verbindung innerhalb einer - Basisbandverbindung. Jeder Kanal ist dabei an ein einziges - Protokoll gebunden. Mehrere Geräte können an das - gleiche Protokoll gebunden sein, es ist aber nicht möglich, - einen Kanal an mehrere Protokolle zu binden. Jedes über - einen Kanal ankommende L2CAP-Paket wird an das entsprechende + L2CAP arbeitet + kanalbasiert. Ein Kanal ist eine + logische Verbindung innerhalb einer Basisbandverbindung. + Jeder Kanal ist dabei an ein einziges Protokoll gebunden. + Mehrere Geräte können an das gleiche Protokoll gebunden sein, + es ist aber nicht möglich, einen Kanal an mehrere Protokolle + zu binden. Jedes über einen Kanal ankommende + L2CAP-Paket wird an das entsprechende höherwertige Protokoll weitergeleitet. Mehrere Kanäle können sich die gleiche Basisbandverbindung teilen. - Eine einzelne Netgraph-Gerätedatei vom Typ + Eine einzelne netgraph-Gerätedatei vom Typ l2cap wird für ein einzelnes - Bluetooth-Gerät erzeugt. Die L2CAP-Gerätedatei ist - normalerweise mit der Bluetooth-HCI-Gerätedatei - (downstream) sowie der Bluetooth-Socket-Gerätedatei - (upstream) verbunden. Der Standardname für die - L2CAP-Gerätedatei, die in &man.ng.l2cap.4; beschrieben - wird, lautet devicel2cap. + Bluetooth-Gerät erzeugt. Die + L2CAP-Gerätedatei ist normalerweise mit der + Bluetooth-HCI-Gerätedatei (downstream) + sowie der Bluetooth-Socket-Gerätedatei (upstream) verbunden. + Der Standardname für die + L2CAP-Gerätedatei lautet + devicel2cap. Weitere Details finden Sie in + &man.ng.l2cap.4;. Ein nützlicher Befehl zum Anpingen von anderen Geräten ist &man.l2ping.8;. Einige Bluetooth-Geräte senden allerdings nicht alle erhaltenen Daten zurück. Die - Ausgabe 0 bytes ist also kein Fehler: + Ausgabe 0 bytes im folgenden Beispiel ist + also kein Fehler: &prompt.root; l2ping -a 00:80:37:29:19:a4 0 bytes from 0:80:37:29:19:a4 seq_no=0 time=48.633 ms result=0 0 bytes from 0:80:37:29:19:a4 seq_no=1 time=37.551 ms result=0 0 bytes from 0:80:37:29:19:a4 seq_no=2 time=28.324 ms result=0 0 bytes from 0:80:37:29:19:a4 seq_no=3 time=46.150 ms result=0 Das Programm &man.l2control.8; liefert Informationen - über L2CAP-Dateien. Das folgende Beispiel zeigt, wie man - die Liste der logischen Verbindungen (Kanäle) sowie die - Liste der Basisbandverbindungen abfragen kann: + über L2CAP-Dateien. Das folgende Beispiel + zeigt, wie man die Liste der logischen Verbindungen (Kanäle) + sowie die Liste der Basisbandverbindungen abfragen + kann: &prompt.user; l2control -a 00:02:72:00:d4:1a read_channel_list L2CAP channels: Remote BD_ADDR SCID/ DCID PSM IMTU/ OMTU State 00:07:e0:00:0b:ca 66/ 64 3 132/ 672 OPEN &prompt.user; l2control -a 00:02:72:00:d4:1a read_connection_list L2CAP connections: Remote BD_ADDR Handle Flags Pending State 00:07:e0:00:0b:ca 41 O 0 OPEN &man.btsockstat.1; ist ein weiteres Diagnoseprogramm. Es - funktioniert analog zu &man.netstat.1;, arbeitet aber mit + funktioniert ähnlich wie &man.netstat.1;, arbeitet aber mit Bluetooth-Datenstrukturen. Das folgende Beispiel zeigt die gleiche Liste der logischen Verbindungen wie &man.l2control.8; im vorherigen Beispiel. &prompt.user; btsockstat Active L2CAP sockets PCB Recv-Q Send-Q Local address/PSM Foreign address CID State c2afe900 0 0 00:02:72:00:d4:1a/3 00:07:e0:00:0b:ca 66 OPEN Active RFCOMM sessions L2PCB PCB Flag MTU Out-Q DLCs State c2afe900 c2b53380 1 127 0 Yes OPEN Active RFCOMM sockets PCB Recv-Q Send-Q Local address Foreign address Chan DLCI State c2e8bc80 0 250 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3 6 OPEN - - Das RFCOMM-Protokoll + Das <acronym>RFCOMM</acronym>-Protokoll RFCOMM - Das RFCOMM-Protokoll emuliert serielle Verbindungen - über das L2CAP-Protokoll. Es basiert auf dem ETSI-Standard - TS 07.10. Bei RFCOMM handelt es sich um ein einfaches - Transportprotokoll, das um Funktionen zur Emulation der - 9poligen Schaltkreise von mit RS-232 (EIATIA-232-E) kompatiblen - seriellen Ports ergänzt wurde. RFCOMM erlaubt bis zu 60 - simultane Verbindungen (RFCOMM-Kanäle) zwischen zwei + Das RFCOMM-Protokoll emuliert serielle Verbindungen + über das L2CAP-Protokoll. Es basiert auf + dem ETSI-Standard TS 07.10. Bei RFCOMM + handelt es sich um ein einfaches Transportprotokoll, das um + Funktionen zur Emulation der 9poligen Schaltkreise von mit + RS-232 (EIATIA-232-E) kompatiblen seriellen Ports ergänzt + wurde. RFCOMM erlaubt bis zu 60 simultane + Verbindungen (RFCOMM-Kanäle) zwischen zwei Bluetooth-Geräten. - Eine RFCOMM-Kommunikation besteht aus zwei Anwendungen (den - Kommunikationsendpunkten), die über das - Kommunikationssegment miteinander verbunden sind. RFCOMM - unterstützt Anwendungen, die auf serielle Ports angewiesen - sind. Das Kommunikationssegment entspricht der (direkten) - Bluetooth-Verbindung zwischen den beiden Geräten. + Eine RFCOMM-Kommunikation besteht aus + zwei Anwendungen (den Kommunikationsendpunkten), die über das + Kommunikationssegment miteinander verbunden sind. + RFCOMM unterstützt Anwendungen, die auf + serielle Ports angewiesen sind. Das Kommunikationssegment + entspricht der direkten Bluetooth-Verbindung zwischen den + beiden Geräten. - RFCOMM kümmert sich um die direkte Verbindung von zwei - Geräten, oder um die Verbindung zwischen einem Gerät - und einem Modem (Netzwerkverbindung). RFCOMM unterstützt - auch andere Konfigurationen. Ein Beispiel dafür sind + RFCOMM kümmert sich um die direkte + Verbindung von zwei Geräten, oder um die Verbindung zwischen + einem Gerät und einem Modem über eine Netzwerkverbindung. + RFCOMM unterstützt auch andere + Konfigurationen. Ein Beispiel dafür sind Module, die drahtlose Bluetooth-Geräte mit einer verkabelten Schnittstelle verbinden können. - Unter &os; wurde das RFCOMM-Protokoll im Bluetooth Socket-Layer - implementiert. + Unter &os; ist das RFCOMM-Protokoll + im Bluetooth Socket-Layer implementiert. Erstmaliger Verbindungsaufbau zwischen zwei Bluetooth-Geräten (<foreignphrase>Pairing</foreignphrase>) Pairing In der Voreinstellung nutzt Bluetooth keine Authentifizierung, daher kann sich jedes Bluetoothgerät mit - jedem anderen Gerät verbinden. Ein Bluetoothgerät - (beispielsweise ein Mobiltelefon) kann jedoch für einen - bestimmten Dienst (etwa eine Einwählverbindung) eine + jedem anderen Gerät verbinden. Ein Bluetoothgerät, wie + beispielsweise ein Mobiltelefon, kann jedoch für einen + bestimmten Dienst, etwa eine Einwählverbindung, eine Authentifizierung anfordern. Bluetooth verwendet zu diesem - Zweck PIN-Codes. Ein PIN-Code ist ein - maximal 16 Zeichen langer ASCII-String. Damit eine Verbindung - zustande kommt, muss auf beiden Geräten der gleiche - PIN-Code verwendet werden. Nachdem der Code eingegeben wurde, - erzeugen beide Geräte einen link key, + Zweck PIN-Codes. Ein + PIN-Code ist ein maximal 16 Zeichen langer + ASCII-String. Damit eine Verbindung zustande kommt, muss auf + beiden Geräten der gleiche PIN-Code + verwendet werden. Nachdem der Code eingegeben wurde, erzeugen + beide Geräte einen link key, der auf den Geräten gespeichert wird. Beim nächsten Verbindungsaufbau wird der zuvor erzeugte Link Key verwendet. Diesen Vorgang bezeichnet man als Pairing. Geht der Link Key auf einem Gerät verloren, muss das Pairing wiederholt werden. - Der &man.hcsecd.8;-Daemon verarbeitet alle + Der &man.hcsecd.8;-Daemon verarbeitet Bluetooth-Authentifzierungsanforderungen und wird über die Datei /etc/bluetooth/hcsecd.conf konfiguriert. Der folgende Ausschnitt dieser Datei zeigt die - Konfiguration für ein Mobiltelefon, das den PIN-Code - 1234 verwendet: + Konfiguration für ein Mobiltelefon, das den + PIN-Code 1234 + verwendet: device { bdaddr 00:80:37:29:19:a4; name "Pav's T39"; key nokey; pin "1234"; } - Von der Länge abgesehen, unterliegen PIN-Codes keinen - Einschränkungen. Einige Geräte, beispielsweise - Bluetooth-Headsets, haben einen festen PIN-Code eingebaut. Die - Option sorgt dafür, dass der + Von der Länge abgesehen, unterliegen + PIN-Codes keinen Einschränkungen. Einige + Geräte, beispielsweise Bluetooth-Headsets, haben einen festen + PIN-Code eingebaut. Die Option + sorgt dafür, dass der &man.hcsecd.8;-Daemon im Vordergrund läuft. Dadurch kann der Ablauf einfach verfolgt werden. Stellen Sie das entfernte Gerät auf receive pairing und initiieren Sie die Bluetoothverbindung auf dem entfernten Gerät. Sie erhalten die Meldung, dass Pairing akzeptiert - wurde und der PIN-Code benötigt wird. Geben Sie den - gleichen PIN-Code ein, den Sie in - hcsecd.conf festgelegt haben. Ihr Computer - und das entfernte Gerät sind nun miteinander verbunden. - Alternativ können Sie das Pairing auch auf dem entfernten - Gerät initiieren. + wurde und der PIN-Code benötigt wird. + Geben Sie den gleichen PIN-Code ein, den + Sie in hcsecd.conf festgelegt haben. Der + Computer und das entfernte Gerät sind nun miteinander + verbunden. Alternativ können Sie das Pairing auch auf dem + entfernten Gerät initiieren. - hcsecd kann durch das Einfügen + &man.hcsecd.8; kann durch das Einfügen der folgenden Zeile in /etc/rc.conf beim Systemstart automatisch aktiviert werden: hcsecd_enable="YES" Es folgt nun eine beispielhafte Ausgabe - des hcsecd-Daemons: + des &man.hcsecd.8;-Daemons: hcsecd[16484]: Got Link_Key_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', link key doesn't exist hcsecd[16484]: Sending Link_Key_Negative_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Got PIN_Code_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4 hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', PIN code exists hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4 - - Das Service Discovery Protocol (SDP) + Das Service Discovery Protocol + (<acronym>SDP</acronym>) SDP Das Service Discovery Protocol - (SDP) erlaubt es Clientanwendungen, von Serveranwendungen - angebotene Dienste sowie deren Eigenschaften abzufragen. Zu - diesen Eigenschaften gehören die Art oder die Klasse der - angebotenen Dienste sowie der Mechanismus oder das Protokoll, - die zur Nutzung des Dienstes notwendig sind. + (SDP) erlaubt es Clientanwendungen, von + Serveranwendungen angebotene Dienste sowie deren Eigenschaften + abzufragen. Zu diesen Eigenschaften gehören die Art oder die + Klasse der angebotenen Dienste sowie der Mechanismus oder das + Protokoll, die zur Nutzung des Dienstes notwendig sind. - SDP ermöglicht Verbindungen zwischen einem SDP-Server - und einem SDP-Client. Der Server enthält eine Liste mit - den Eigenschaften der vom Server angebotenen Dienste. Jeder - Eintrag beschreibt jeweils einen einzigen Serverdienst. Ein - Client kann diese Informationen durch eine SDP-Anforderung - vom SDP-Server beziehen. Wenn der Client oder eine Anwendung - des Clients einen Dienst nutzen will, muss eine separate - Verbindung mit dem Dienstanbieter aufgebaut werden. SDP bietet - einen Mechanismus zum Auffinden von Diensten und deren - Eigenschaften an, es bietet aber keine Mechanismen zur Verwendung - dieser Dienste. + SDP ermöglicht Verbindungen zwischen + einem SDP-Server und einem + SDP-Client. Der Server enthält eine Liste + mit den Eigenschaften der vom Server angebotenen Dienste. + Jeder Eintrag beschreibt jeweils einen einzigen Serverdienst. + Ein Client kann diese Informationen durch eine + SDP-Anforderung vom + SDP-Server beziehen. Wenn der Client oder + eine Anwendung des Clients einen Dienst nutzen will, muss eine + separate Verbindung mit dem Dienstanbieter aufgebaut werden. + SDP bietet einen Mechanismus zum Auffinden + von Diensten und deren Eigenschaften an, es bietet aber keine + Mechanismen zur Verwendung dieser Dienste. - Normalerweise sucht ein SDP-Client nur nach Diensten, die - bestimmte geforderte Eigenschaften erfüllen. Es ist aber - auch möglich, anhand der Dienstbeschreibungen eine - allgemeine Suche nach den von einem Server angebotenen Diensten + Normalerweise sucht ein SDP-Client nur + nach Diensten, die bestimmte geforderte Eigenschaften + erfüllen. Es ist aber auch möglich, anhand der + Dienstbeschreibungen eine allgemeine Suche nach den von einem + SDP-Server angebotenen Diensten durchzuführen. Diesen Vorgang bezeichnet man als - Browsing. + Browsing. - Der Bluetooth-SDP-Server &man.sdpd.8; und der - Kommandozeilenclient &man.sdpcontrol.8; sind bereits in der - Standardinstallation von &os; enthalten. Das folgende Beispiel - zeigt, wie eine SDP-Abfrage durchgeführt wird: + Der Bluetooth-SDP-Server &man.sdpd.8; + und der Kommandozeilenclient &man.sdpcontrol.8; sind bereits + in der Standardinstallation von &os; enthalten. Das folgende + Beispiel zeigt, wie eine SDP-Abfrage + durchgeführt wird: &prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec browse Record Handle: 00000000 Service Class ID List: Service Discovery Server (0x1000) Protocol Descriptor List: L2CAP (0x0100) Protocol specific parameter #1: u/int/uuid16 1 Protocol specific parameter #2: u/int/uuid16 1 Record Handle: 0x00000001 Service Class ID List: Browse Group Descriptor (0x1001) Record Handle: 0x00000002 Service Class ID List: LAN Access Using PPP (0x1102) Protocol Descriptor List: L2CAP (0x0100) RFCOMM (0x0003) Protocol specific parameter #1: u/int8/bool 1 Bluetooth Profile Descriptor List: LAN Access Using PPP (0x1102) ver. 1.0 - ... und so weiter. Beachten Sie, dass jeder Dienst eine - Liste seiner Eigenschaften (etwa den RFCOMM-Kanal) - zurückgibt. Je nach dem, welche Dienste Sie - benötigen, sollten Sie sich einige dieser Eigenschaften - notieren. Einige Bluetooth-Implementationen unterstützen + Beachten Sie, dass jeder Dienst eine Liste seiner + Eigenschaften, wie etwa den RFCOMM-Kanal, + zurückgibt. Je nach dem, welche Dienste der Benutzer + benötigt, sollten einige dieser Eigenschaften notiert werden. + Einige Bluetooth-Implementationen unterstützen kein Service Browsing und geben daher eine leere Liste zurück. Ist dies der Fall, ist es dennoch möglich, nach einem bestimmten Dienst zu suchen. Das folgende Beispiel demonstriert die Suche nach dem - OBEX Object Push (OPUSH) Dienst: + OBEX Object Push (OPUSH) + Dienst: &prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH Unter &os; ist es die Aufgabe des &man.sdpd.8;-Servers, Bluetooth-Clients verschiedene Dienste anzubieten. Sie können diesen Server durch das Einfügen der folgenden - Zeile in die Datei /etc/rc.conf - aktivieren: + Zeile in /etc/rc.conf aktivieren: sdpd_enable="YES" - Nun kann der sdpd-Daemon durch + Nun kann der &man.sdpd.8;-Daemon durch folgene Eingabe gestartet werden: &prompt.root; service sdpd start Der lokale Server, der den entfernten Clients Bluetooth-Dienste anbieten soll, bindet diese Dienste an den - lokalen SDP-Daemon. Ein Beispiel für eine solche - Anwendung ist &man.rfcomm.pppd.8;. Einmal gestartet, wird der - Bluetooth-LAN-Dienst an den lokalen SDP-Daemon gebunden. + lokalen SDP-Daemon. Ein Beispiel für eine + solche Anwendung ist &man.rfcomm.pppd.8;. Einmal gestartet, + wird der Bluetooth-LAN-Dienst an den lokalen + SDP-Daemon gebunden. - Die Liste der vorhandenen Dienste, die am lokalen SDP-Server - registriert sind, lässt sich durch eine SDP-Abfrage - über einen lokalen Kontrollkanal abfragen: + Die Liste der vorhandenen Dienste, die am lokalen + SDP-Server registriert sind, lässt sich + durch eine SDP-Abfrage über einen lokalen + Kontrollkanal abfragen: &prompt.root; sdpcontrol -l browse - - Einwahlverbindungen (Dial-Up Networking (DUN)) oder - Netzwerkverbindungen mit PPP (LAN)-Profilen einrichten + Einwahlverbindungen und Netzwerkverbindungen mit + <acronym>PPP</acronym>-Profilen einrichten Das - Dial-Up Networking (DUN)-Profil - wird vor allem für Modems und Mobiltelefone verwendet. - Dieses Profil ermöglicht folgende Szenarien: + Dial-Up Networking-Profil + (DUN) wird vor allem für Modems und + Mobiltelefone verwendet. Dieses Profil ermöglicht folgende + Szenarien: - Die Verwendung eines Mobiltelefons oder eines - Modems durch einen Computer als drahtloses Modem, um sich - über einen Einwahlprovider mit dem Internet zu verbinden - oder andere Einwahldienste zu benutzen. + + Die Verwendung eines Mobiltelefons oder eines + Modems durch einen Computer als drahtloses Modem, um sich + über einen Einwahlprovider mit dem Internet zu verbinden + oder andere Einwahldienste zu benutzen. - Die Verwendung eines Mobiltelefons oder eines - Modems durch einen Computers, um auf Datenabfragen zu - reagieren. + + Die Verwendung eines Mobiltelefons oder eines + Modems durch einen Computers, um auf Datenabfragen zu + reagieren. - Der Zugriff auf ein Netzwerk über das PPP (LAN)-Profil - kann in folgenden Situationen verwendet werden: + Der Zugriff auf ein Netzwerk über ein + PPP-Profil kann in folgenden Situationen + verwendet werden: - Den LAN-Zugriff für ein einzelnes - Bluetooth-Gerät + + Den LAN-Zugriff für ein einzelnes + Bluetooth-Gerät. - Den LAN-Zugriff für mehrere - Bluetooth-Geräte + + Den LAN-Zugriff für mehrere + Bluetooth-Geräte. - Eine PC-zu-PC-Verbindung (unter Verwendung - einer PPP-Verbindung über eine emulierte serielle - Verbindung) + + Eine PC-zu-PC-Verbindung unter Verwendung + einer PPP-Verbindung über eine emulierte + serielle Verbindung. - Beide Profile werden unter &os; durch &man.ppp.8; sowie + Diese Profile werden unter &os; durch &man.ppp.8; sowie &man.rfcomm.pppd.8; implementiert - einem Wrapper, der - RFCOMM Bluetooth-Verbindungen unter PPP nutzbar macht. Bevor - ein Profil verwendet werden kann, muss ein neuer PPP-Abschnitt - in /etc/ppp/ppp.conf erzeugt werden. + RFCOMM Bluetooth-Verbindungen unter + PPP nutzbar macht. Bevor ein Profil + verwendet werden kann, muss ein neuer + PPP-Abschnitt in + /etc/ppp/ppp.conf erzeugt werden. Beispielkonfigurationen zu diesem Thema finden Sie in &man.rfcomm.pppd.8;. - Im folgenden Beispiel verwenden wir &man.rfcomm.pppd.8;, um - eine RFCOMM-Verbindung zu einem entfernten Gerät mit der - BD_ADDR 00:80:37:29:19:a4 auf dem - RFCOMM-Kanal DUN aufzubauen. Die aktuelle - RFCOMM-Kanalnummer erhalten Sie vom entfernten Gerät - über SDP. Es ist auch möglich, manuell einen - RFCOMM-Kanal festzulegen. In diesem Fall führt - &man.rfcomm.pppd.8; keine SDP-Abfrage durch. Verwenden Sie - &man.sdpcontrol.8;, um die RFCOMM-Kanäle des entfernten - Geräts herauszufinden. + Das folgende Beispiel verwendet &man.rfcomm.pppd.8;, um + eine RFCOMM-Verbindung zu einem entfernten + Gerät mit derBD_ADDR 00:80:37:29:19:a4 auf + dem RFCOMM-Kanal DUN + aufzubauen. Die aktuelle + RFCOMM-Kanalnummer erhalten Sie vom + entfernten Gerät über SDP. Es ist auch + möglich, manuell einen RFCOMM-Kanal + festzulegen. In diesem Fall führt &man.rfcomm.pppd.8; keine + SDP-Abfrage durch. Verwenden Sie + &man.sdpcontrol.8;, um die RFCOMM-Kanäle + des entfernten Geräts herauszufinden. &prompt.root; rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup Der &man.sdpd.8;-Server muss laufen, damit ein Netzzugriff - mit dem PPP (LAN)-Profil möglich ist. Außerdem muss - für den LAN-Client ein neuer Eintrag in + mit dem PPP LAN-Profil + möglich ist. Außerdem muss für den + LAN-Client ein neuer Eintrag in /etc/ppp/ppp.conf erzeugt werden. Beispielkonfigurationen zu diesem Thema finden Sie in - &man.rfcomm.pppd.8;. Danach starten Sie den RFCOMM PPP-Server - über eine gültige RFCOMM-Kanalnummer. Der - RFCOMM PPP-Server bindet dadurch den Bluetooth-LAN-Dienst an den - lokalen SDP-Daemon. Das folgende Beispiel zeigt Ihnen, wie man - den RFCOMM PPP-Server startet. + &man.rfcomm.pppd.8;. Danach starten Sie den + RFCOMM PPP-Server + über eine gültige RFCOMM-Kanalnummer. + Der RFCOMM PPP-Server + bindet dadurch den Bluetooth-LAN-Dienst an + den lokalen SDP-Daemon. Das folgende + Beispiel zeigt, wie man den RFCOMM + PPP-Server startet. &prompt.root; rfcomm_pppd -s -C 7 -l rfcomm-server - - Das Profil OBEX-Push (OPUSH) + Das Profil <acronym>OBEX</acronym>-Push + (<acronym>OPUSH</acronym>) OBEX - OBEX ist ein häufig verwendetes Protokoll für den - Dateitransfer zwischen Mobilgeräten. Sein Hauptzweck ist - die Kommunikation über die Infrarotschnittstelle. Es dient - daher zum Datentransfer zwischen Notebooks oder PDAs sowie zum + OBEX ist ein häufig verwendetes + Protokoll für den Dateitransfer zwischen Mobilgeräten. Sein + Hauptzweck ist die Kommunikation über die + Infrarotschnittstelle. Es dient daher zum Datentransfer + zwischen Notebooks oder PDAs sowie zum Austausch von Visitenkarten oder Kalendereinträgen zwischen - Mobiltelefonen und anderen Geräten mit PIM-Funktionen. + Mobiltelefonen und anderen Geräten mit + PIM-Funktionen. - Server und Client von OBEX werden durch das Softwarepaket - obexapp bereitgestellt, das als Port - comms/obexapp verfügbar - ist. + Server und Client von OBEX werden durch + das Softwarepaket obexapp + bereitgestellt, das als Paket oder Port + comms/obexapp verfügbar ist. - Mit dem OBEX-Client werden Objekte zum OBEX-Server geschickt - oder angefordert. Ein Objekt kann etwa eine Visitenkarte oder - ein Termin sein. Der OBEX-Client fordert über SDP die - Nummer des RFCOMM-Kanals vom entfernten Gerät an. Dies - kann auch durch die Verwendung des Servicenamens anstelle der - RFCOMM-Kanalnummer erfolgen. Folgende Dienste werden - unterstützt: IrMC, FTRN und OPUSH. Es ist möglich, - den RFCOMM-Kanal als Nummer anzugeben. Es folgt nun ein - Beispiel für eine OBEX-Sitzung, bei der ein + Mit dem OBEX-Client werden Objekte zum + OBEX-Server geschickt oder angefordert. + Ein Objekt kann etwa eine Visitenkarte oder ein Termin sein. + Der OBEX-Client fordert über + SDP die Nummer des + RFCOMM-Kanals vom entfernten Gerät an. + Dies kann auch durch die Verwendung des Servicenamens anstelle + der RFCOMM-Kanalnummer erfolgen. Folgende + Dienste werden unterstützt: IrMC, + FTRN und OPUSH. Es ist + möglich, den RFCOMM-Kanal als Nummer + anzugeben. Es folgt ein Beispiel für eine + OBEX-Sitzung, bei der ein Informationsobjekt vom Mobiltelefon angefordert und ein neues Objekt (hier eine Visitenkarte) an das Telefonbuch des Mobiltelefons geschickt wird: &prompt.user; obexapp -a 00:80:37:29:19:a4 -C IrMC obex> get telecom/devinfo.txt Success, response: OK, Success (0x20) obex> put new.vcf Success, response: OK, Success (0x20) obex> di Success, response: OK, Success (0x20) - Um OBEX-Push-Dienste anbieten zu können, muss der - sdpd-Server gestartet sein. Ein - Wurzelverzeichnis, in dem alle ankommenden Objekt gespeichert - werden, muss zusätzlich angelegt werden. In der - Voreinstellung ist dies /var/spool/obex. - Starten Sie den OBEX-Server mit einer gültigen Kanalnummer. - Der OBEX-Server registriert nun den OBEX-Push-Dienst mit dem - lokalen SDP-Daemon. Um den OBEX-Server zu starten, geben Sie - Folgendes ein: + Um OBEX-Push-Dienste anbieten zu + können, muss der sdpd-Server + gestartet sein. Ein Wurzelverzeichnis, in dem alle + ankommenden Objekte gespeichert werden, muss zusätzlich + angelegt werden. In der Voreinstellung ist dies + /var/spool/obex. Starten Sie den + OBEX-Server mit einer gültigen Kanalnummer. + Der OBEX-Server registriert nun den + OBEX-Push-Dienst mit dem lokalen + SDP-Daemon. Das folgende Beispiel zeigt, + wie der OBEX-Server gestartet wird: &prompt.root; obexapp -s -C 10 - - Das Profil Serial-Port (SPP) + Das Profil Serial-Port - Durch dieses Profil können Bluetooth-Geräte RS232- - (oder damit kompatible) serielle Kabelverbindungen emulieren. - Anwendungen sind dadurch in der Lage, über eine virtuelle - serielle Verbindung Bluetooth als Ersatz für eine - Kabelverbindung zu nutzen. + Das Serial Port Profile + (SSP) ermöglicht es Bluetooth-Geräten eine + serielle Kabelverbindung zu emulieren. Anwendungen sind + dadurch in der Lage, über eine virtuelle serielle Verbindung + Bluetooth als Ersatz für eine Kabelverbindung zu + nutzen. - Das Profil Serial-Port wird durch &man.rfcomm.sppd.1; - verwirklicht. Pseudo-tty wird hier als virtuelle serielle - Verbindung verwendet. Das folgende Beispiel zeigt, wie man sich - mit einem entfernten Serial-Port-Dienst verbindet. Beachten - Sie, dass Sie den RFCOMM-Kanal nicht angeben müssen, da - &man.rfcomm.sppd.1; diesen über SDP vom entfernten - Gerät abfragen kann. Wenn Sie dies nicht wollen, - können Sie einen RFCOMM-Kanal auch manuell festlegen. + &man.rfcomm.sppd.1; implementiert unter &os; + SSP und ein Pseudo-tty, das als + virtuelle serielle Verbindung verwendet wird. Das folgende + Beispiel zeigt, wie man eine Verbindung mit einem entfernten + Serial-Port-Dienst herstellt. Ein + RFCOMM-Kanal muss dabei nicht angegeben + werden, da &man.rfcomm.sppd.1; den Kanal über + SDP abfragen kann. Um dies zu umgehen, + geben Sie einen RFCOMM-Kanal auf der + Kommandozeile an. &prompt.root; rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6 rfcomm_sppd[94692]: Starting on /dev/ttyp6... Sobald die Verbindung hergestellt ist, kann pseudo-tty als serieller Port verwenden werden. &prompt.root; cu -l ttyp6 Problembehandlung Ein entferntes Gerät kann keine Verbindung aufbauen Einige ältere Bluetooth-Geräte unterstützen keinen Rollentausch. Wenn &os; eine neue Verbindung akzeptiert, wird versucht, die Rolle zu tauschen, um zum Master zu werden. Geräte, die dies nicht - unterstützen, können keine Verbindung aufbauen. - Beachten Sie, dass der Rollentausch ausgeführt wird, - sobald eine neue Verbindung aufgebaut wird, daher ist es - nicht möglich, das entfernte Gerät zu fragen, ob es - den Rollentausch unterstützt. Dieses Verhalten von &os; - kann aber durch eine HCI-Option geändert werden: + unterstützen, können keine Verbindung aufbauen. Da der + Rollentausch ausgeführt wird sobald eine neue Verbindung + aufgebaut wird, ist es nicht möglich, das entfernte Gerät zu + fragen ob es den Rollentausch unterstützt. Es gibt jedoch + eine HCI-Option, die dieses Verhalten + deaktiviert: &prompt.root; hccontrol -n ubt0hci write_node_role_switch 0 - - Wo finde ich genaue Informationen darüber, was - schiefgelaufen ist? + Bluetooth-Pakete anzeigen Verwenden Sie hcidump, - das Sie über den Port comms/hcidump installieren - können. hcidump hat - Ähnlichkeiten mit &man.tcpdump.1;. Es dient zur Anzeige - der Bluetooth-Pakete in einem Terminal oder zur Speicherung - der Pakete in einer Datei (Dump). + das Sie als Paket oder über den Port + comms/hcidump installieren können. + Dieses Programm hat Ähnlichkeiten mit &man.tcpdump.1; und + kann zur Anzeige der Bluetooth-Pakete in einem Terminal, + oder zur Speicherung von Paketen in einer Datei (Dump) + verwendet werden. LAN-Kopplung mit einer Bridge Andrew Thompson Geschrieben von - - Einführung - Subnetz + IP-Subnetz Bridge - Manchmal ist es nützlich, ein physikalisches Netzwerk - (wie ein Ethernetsegment) in zwei separate Netzwerke - aufzuteilen, ohne gleich IP-Subnetze zu erzeugen, die über - einen Router miteinander verbunden sind. Ein Gerät, das + Manchmal ist es nützlich, ein physikalisches Netzwerk, wie + ein Ethernetsegment, in zwei separate Netzwerke aufzuteilen, + ohne gleich IP-Subnetze zu erzeugen, die + über einen Router miteinander verbunden sind. Ein Gerät, das zwei Netze auf diese Weise verbindet, wird als - Bridge bezeichnet. Jedes &os;-System + Bridge bezeichnet. Jedes &os;-System mit zwei Netzwerkkarten kann als Bridge fungieren. - Die Bridge arbeitet, indem sie die MAC Layeradressen - (Ethernet Adressen) der Geräte in ihren - Netzwerksegmenten lernt. Der Verkehr wird nur dann zwischen - zwei Segmenten weitergeleitet, wenn sich Sender und - Empfänger in verschiedenen Netzwerksegmenten - befinden. + Die Bridge arbeitet, indem sie die + MAC-Layeradressen (Ethernet) der Geräte in + ihren Netzwerksegmenten lernt. Der Verkehr wird nur dann + zwischen zwei Segmenten weitergeleitet, wenn sich Sender und + Empfänger in verschiedenen Netzwerksegmenten befinden. In vielerlei Hinsicht entspricht eine Bridge daher einem Ethernet-Switch mit sehr wenigen Ports. Situationen, in denen <emphasis>Bridging</emphasis> angebracht ist Es gibt zahlreiche Situationen, in denen der Einsatz einer Bridge sinnvoll ist: Verbinden von Netzwerken Die Hauptaufgabe einer Bridge ist die Verbindung von zwei oder mehreren Netzwerksegmenten zu einem gemeinsamen Netzwerk. Es ist oft sinnvoller, eine hostbasierte Bridge anstelle - normaler Netzwerkkomponenten (wie Kabelverbindungen), - Firewalls oder Pseudonetzwerken über die + normaler Netzwerkkomponenten, wie beispielsweise + Kabelverbindungen, Firewalls oder Pseudonetzwerken über die Schnittstelle einer virtuellen Maschine einzusetzen. Eine Bridge kann außerdem ein drahtloses Gerät mit einem Kabelnetzwerk verbinden. Diese Fähigkeit der Bridge wird als HostAP-Modus bezeichnet. Die Bridge agiert in diesem Fall als Access Point für das drahtlose Gerät. Filtering/Traffic Shaping Firewall Firewall NAT Häufig kommt es vor, dass Firewallfunktionen benötigt werden, ohne dass Routing oder Network Adress Translation - (NAT) verwendet werden soll. + (NAT) verwendet werden soll. Ein Beispiel dafür wäre ein kleines Unternehmen, - das über DSL oder ISDN an seinen ISP angebunden ist. Es - verfügt über 13 weltweit erreichbare IP-Adressen, - sein Netzwerk besteht aus 10 Rechnern. In dieser Situation - ist der Einsatz von Subnetzen sowie einer routerbasierten - Firewall schwierig. + das über DSL oder ISDN + an einen ISP angebunden ist. Es + verfügt über 13 weltweit erreichbare + IP-Adressen und das Netzwerk besteht aus + 10 Rechnern. In dieser Situation ist der Einsatz von + Subnetzen sowie einer routerbasierten Firewall + schwierig. Router - DSL - + DSL + - ISDN + ISDN - Eine brigdebasierte Firewall kann konfiguriert und in den - ISDN/DSL-Downstreampfad ihres Routers eingebunden werden, ohne - dass Sie sich um IP-Adressen kümmern müssen. + Eine brigdebasierte Firewall kann konfiguriert und in + den ISDN- oder + DSL-Downstreampfad des Routers + eingebunden werden, ohne dass Sie sich um die + IP-Adressierung kümmern müssen. Netzwerküberwachung Eine Bridge kann zwei Netzwerksegmente miteinander verbinden und danach alle Ethernet-Rahmen überprüfen, - die zwischen den beiden Netzwerksegmenten ausgetauscht werden. - Dazu verwendet man entweder &man.bpf.4;/&man.tcpdump.1; auf - dem Netzgerät der Bridge oder schickt Kopien aller - Rahmen an ein zusätzliches Netzgerät (den sogenannten - Span Port). + die zwischen den beiden Netzwerksegmenten ausgetauscht + werden. Dazu verwendet man entweder &man.bpf.4; und + &man.tcpdump.1; auf dem Netzgerät der Bridge oder schickt + Kopien aller Rahmen an ein zusätzliches Netzgerät, das als + Span Port bekannt ist. - Layer 2-VPN + Layer 2 <acronym>VPN</acronym> - Zwei Ethernetnetzwerke können über einen IP-Link - miteinander verbunden werden, indem Sie die beiden Netzwerke - über einen EtherIP-Tunnel koppeln oder eine - &man.tap.4;-basierte Lösung wie OpenVPN einsetzen. + Zwei Ethernetnetzwerke können über einen + IP-Link miteinander verbunden werden, + indem die beiden Netzwerke über einen EtherIP-Tunnel + gekoppelt werden, oder eine &man.tap.4;-basierte Lösung wie + OpenVPN eingesetzt wird. - Layer 2-Redundanz + Layer 2 Redundanz - Die Systeme eines Netzwerks können redundant - miteinander verbunden sein. In diesem Fall verwenden Sie das - Spanning Tree Protocol, um - redundante Pfade zu blockieren. Damit ein Ethernetnetzwerk - korrekt arbeitet, darf immer nur ein aktiver Pfad zwischen - zwei Geräten des Netzwerks existieren. Aufgabe des - Spanning Tree Protocols ist es daher, Schleifen zu entdecken - und redundante Links in den Status - blockiert zu versetzen. Fällt ein - aktiver Link aus, so berechnet das Protokoll einen neuen - Pfad. Dazu wird ein blockierter Pfad in den Status + Die Systeme eines Netzwerks können über das + Spanning Tree Protocol + (STP) redundant miteinander verbunden + sein, um redundante Pfade zu blockieren. Damit ein + Ethernetnetzwerk korrekt arbeitet, darf immer nur ein + aktiver Pfad zwischen zwei Geräten des Netzwerks existieren. + STP wird Schleifen entdecken und + redundante Links in den Status + blockiert versetzen. Fällt ein + aktiver Link aus, so berechnet STP einen + neuen Pfad. Dazu wird ein blockierter Pfad in den Status aktiv versetzt, damit alle Systeme des Netzwerks wieder miteinander kommunizieren können. Kernelkonfiguration - Dieser Abschnitt beschreibt nur die - &man.if.bridge.4;-Bridge-Implementierung. Ein - Netgraph-Bridge-Treiber ist ebenfalls verfügbar, wird - hier aber nicht behandelt. Lesen Sie die Manualpage - &man.ng.bridge.4;, wenn Sie diesen Treiber einsetzen - wollen. + Dieser Abschnitt beschreibt die + &man.if.bridge.4;-Implementierung. Ein + netgraph-Bridge-Treiber ist ebenfalls verfügbar und wird in + &man.ng.bridge.4; beschrieben. - Bei diesem Treiber handelt es sich um ein + In &os; handelt es sich bei &man.if.bridge.4; um ein Kernelmodul, das von &man.ifconfig.8; automatisch geladen wird, wenn ein Bridge-Interface erzeugt wird. Alternativ ist - es aber auch möglich, die Unterstützung für - den Treiber in Ihren Kernel zu kompilieren. Dazu fügen - Sie die Zeile device if_bridge in Ihre - Kernelkonfigurationsdatei ein und bauen danach den Kernel - neu. + es aber auch möglich, die Unterstützung für den Treiber in + den Kernel zu kompilieren. Dazu fügen Sie die Zeile + device if_bridge in die + Kernelkonfigurationsdatei hinzu. Paketfilter können mit allen Firewallpaketen verwendet werden, die das &man.pfil.9;-Framework benutzen. Die Firewall kann dabei entweder als Kernelmodul geladen oder in den Kernel kompiliert werden. Eine Bridge kann auch als Traffic Shaper verwendet werden, wenn Sie &man.altq.4; oder &man.dummynet.4; einsetzen. - Die LAN-Kopplung aktivieren + Die Bridge aktivieren Eine Bridge wird durch das Klonen von Schnittstellen - erzeugt. Um eine Bridge zu erzeugen, verwenden Sie den Befehl - &man.ifconfig.8;. Ist der Bridge-Treiber nicht in Ihren Kernel - kompiliert, wird er automatisch geladen. + erzeugt. Um eine Bridge zu erzeugen, verwenden Sie + &man.ifconfig.8;: &prompt.root; ifconfig bridge create bridge0 &prompt.root; ifconfig bridge0 bridge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 96:3d:4b:f1:79:7a id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:00:00:00:00:00 priority 0 ifcost 0 port 0 - Im obigen Beispiel wird die Bridge erzeugt und erhält - automatisch eine zufällig generierte Ethernet-Adresse - zugewiesen. Die Parameter maxaddr sowie - timeout legen fest, wie viele MAC-Adressen - die Bridge in ihrer Forward-Tabelle halten kann beziehungsweise - wie viele Sekunden jeder Eintrag erhalten bleiben soll, nachdem + Wenn eine Bridge erzeugt wird, erhält sie automatisch eine + zufällig generierte Ethernet-Adresse. Die Parameter + maxaddr sowie timeout + legen fest, wie viele MAC-Adressen die + Bridge in ihrer Forward-Tabelle halten kann und wie viele + Sekunden jeder Eintrag erhalten bleiben soll, nachdem er zuletzt verwendet wurde. Die restlichen Parameter sind - für die Konfiguration von Spanning Tree notwendig. + für die Konfiguration von STP + notwendig. Im nächsten Schritt werden die Schnittstellen, die die Bridge verbinden soll, zugewiesen. Damit die Bridge Datenpakete weiterleiten kann, müssen sowohl die Bridge - als auch die Schnittstellen (der zu verbindenden - Netzwerksegmente) aktiviert sein: + als auch die Schnittstellen der zu verbindenden + Netzwerksegmente aktiviert sein: &prompt.root; ifconfig bridge0 addm fxp0 addm fxp1 up &prompt.root; ifconfig fxp0 up &prompt.root; ifconfig fxp1 up - Danach ist die Bridge in der Lage, Ethernet-Rahmen zwischen + Jetzt ist die Bridge in der Lage, Ethernet-Rahmen zwischen den Schnittstellen fxp0 und fxp1 weiterzuleiten. Um diese Konfiguration beim Systemstart automatisch zu aktivieren, - müssen Sie folgende Einträge in die Datei - /etc/rc.conf aufnehmen: + müssen die folgenden Zeilen in + /etc/rc.conf hinzugefügt werden: cloned_interfaces="bridge0" ifconfig_bridge0="addm fxp0 addm fxp1 up" ifconfig_fxp0="up" ifconfig_fxp1="up" - Benötigen Sie für die Bridge eine IP-Adresse, - müssen Sie diese der Schnittstelle der Bridge zuweisen - (und nicht einer der Schnittstellen der gekoppelten - Netzwerksegmente). Dabei können Sie die IP-Adresse - sowohl statisch als auch dynamisch über DHCP - zuweisen: + Wenn die Bridge eine IP-Adresse + benötigt, muss diese der Schnittstelle der Bridge zugewiesen + werden und nicht der Schnittstelle der gekoppelten + Netzwerksegmente. Die IP-Adresse kann + manuell gesetzt, oder über DHCP bezogen + werden. &prompt.root; ifconfig bridge0 inet 192.168.0.1/24 - Sie können der Bridge-Schnittstelle auch eine - IPv6-Adresse zuweisen. + Es ist auch möglich der Bridge-Schnittstelle eine + IPv6-Adresse zuzuweisen. Firewalls + firewall Nachdem ein Paketfilter aktiviert wurde, können Datenpakete, die von den Schnittstellen der gekoppelten Netzwerksegmente gesendet und empfangen werden, über die Bridge weitergeleitet oder nach bestimmten Regeln gefiltert oder auch komplett geblockt werden. Ist die Richtung des Paketflusses wichtig, ist es am besten, eine Firewall auf den Schnittstellen der einzelnen Netzwerksegmente einzurichten und nicht auf der Bridge selbst. - Eine Bridge verfügt über verschiedene Optionen, - über die Sie die Weiterleitung von Nicht-IP- und - ARP-Paketen sowie den Einsatz von Layer 2-Firewalls - (mit IPFW) steuern können. Lesen Sie die Manualpage - &man.if.bridge.4;, wenn Sie diese Funktionen - benötigen. + Eine Bridge verfügt über verschiedene Optionen zur + Weiterleitung von Nicht-IP- und + IP-Paketen, sowie Paketfilterung auf + Layer 2 mittels &man.ipfw.8;. Weitere Informationen finden + Sie in &man.if.bridge.4;. - Spanning Tree + Spanning Tree Der Bridge-Treiber implementiert das Rapid - Spanning Tree Protocol (RSTP oder 802.1w), das - abwärtskompatibel zum veralteten Spanning - Tree Protocol (STP) ist. Spanning Tree - dient dazu, Schleifen in einer Netzwerktopologie zu entdecken - und zu entfernen. RSTP arbeitet dabei schneller als das - veraltete STP. RSTP tauscht Informationen mit - benachbarten Switchen aus, um Pakete korrekt weiterzuleiten - und eine Schleifenbildung zu verhindern. + Spanning Tree Protocol + (RSTP oder 802.1w), das abwärtskompatibel + zum veralteten STP ist. + STP dient dazu, Schleifen in einer + Netzwerktopologie zu entdecken und zu entfernen. + RSTP arbeitet dabei schneller als das + veraltete STP. RSTP + tauscht Informationen mit benachbarten Switchen aus, um Pakete + korrekt weiterzuleiten und eine Schleifenbildung zu + verhindern. &os; unterstützt die Betriebsmodi + RSTP und STP, wobei + RSTP als Standardmodus voreingestellt + ist. - &os; unterstützt die Betriebsmode RSTP sowie STP, - von denen RSTP als Standardmodus voreingestellt ist. - - Spanning Tree kann auf den Schnittstellen der - durch die Bridge verbundenen Netzwerksegmente über die - Option stp aktiviert werden. Für eine + STP kann auf den Schnittstellen der + durch die Bridge verbundenen Netzwerksegmente mittels + &man.ifconfig.8; aktiviert werden. Für eine Bridge, die die Schnittstellen fxp0 und - fxp1 verbindet, aktivieren Sie STP wie - folgt: + fxp1 verbindet, aktivieren Sie + STP wie folgt: &prompt.root; ifconfig bridge0 stp fxp0 stp fxp1 bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether d6:cf:d5:a0:94:6d id 00:01:02:4b:d4:50 priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:01:02:4b:d4:50 priority 32768 ifcost 0 port 0 member: fxp0 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> port 3 priority 128 path cost 200000 proto rstp role designated state forwarding member: fxp1 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> port 4 priority 128 path cost 200000 proto rstp role designated state forwarding Diese Bridge hat die Spanning-Tree-ID 00:01:02:4b:d4:50 und die Priorität 32768. Da diese ID mit der - Root-ID identisch ist, handelt es sich um die - Root-Bridge dieses Netzwerks. + Root-ID identisch ist, handelt es sich um + die Root-Bridge dieses Netzwerks. - Auf einer anderen Bridge des Netzwerks ist Spanning Tree - ebenfalls aktiviert: + Auf einer anderen Bridge des Netzwerks ist + STP ebenfalls aktiviert: bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 96:3d:4b:f1:79:7a id 00:13:d4:9a:06:7a priority 32768 hellotime 2 fwddelay 15 maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 root id 00:01:02:4b:d4:50 priority 32768 ifcost 400000 port 4 member: fxp0 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> port 4 priority 128 path cost 200000 proto rstp role root state forwarding member: fxp1 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> port 5 priority 128 path cost 200000 proto rstp role designated state forwarding Die Zeile root id 00:01:02:4b:d4:50 priority 32768 - ifcost 400000 port 4 zeigt an, dass die Root-Bridge wie - im obigen Beispiel die ID 00:01:02:4b:d4:50 - hat. Die Pfadkosten hin zur Root-Bridge betragen + ifcost 400000 port 4 zeigt an, dass die + Root-Bridge die ID 00:01:02:4b:d4:50 hat. + Die Pfadkosten hin zur Root-Bridge betragen 400000, wobei der Pfad zur Root-Bridge - über Port 4 geht (der wiederum + über port 4 geht (der wiederum der Schnittstelle fxp0 entspricht). Fortgeschrittene Funktionen Den Datenfluss rekonstruieren Die Bridge unterstützt den Monitormodus. Dabei werden alle Pakete verworfen, nachdem sie von &man.bpf.4; verarbeitet wurden. In diesem Modus erfolgt keine weitere Bearbeitung und auch keine Weiterleitung von Datenpaketen. Es ist daher möglich, die Eingabe von zwei oder mehr Netzwerkschnittstellen in einen einzigen gemeinsamen &man.bpf.4;-Stream zu vereinen. Ein solcher Datenstrom ist beispielsweise nützlich, um den Datenverkehr für ""network taps"" zu rekonstruieren, die ihre RX/TX-Signale über verschiedene Schnittstellen senden. Um die Eingabe von vier Netzwerkschnittstellen in einzigen gemeinsamen Datenstrom zu vereinen, geben Sie Folgendes ein: &prompt.root; ifconfig bridge0 addm fxp0 addm fxp1 addm fxp2 addm fxp3 monitor up &prompt.root; tcpdump -i bridge0 Span Ports Eine Kopie jedes Ethernet-Rahmens, der an der Bridge ankommt, wird über einen festgelegten - Span Port verschickt. + Span Port verschickt. Auf einer Bridge können - beliebig viele Span Ports festgelegt werden. Wird - eine Schnittstelle als Span Port konfiguriert, kann + beliebig viele Span Ports festgelegt werden. Wird + eine Schnittstelle als Span Port konfiguriert, kann sie nicht mehr als normaler Bridge-Port verwendet werden. Eine derartige Konfiguration ist beispielsweise sinnvoll, um den Datenverkehr, der in einem Netzwerk über die Bridge läuft, auf einen Rechner zu übertragen, - der mit einem Span Port der Bridge verbunden + der mit einem Span Port der Bridge verbunden ist. Um eine Kopie aller Ethernet-Rahmen über die Schnittstelle fxp4 zu verschicken, geben Sie Folgendes ein: &prompt.root; ifconfig bridge0 span fxp4 Private Schnittstellen Eine private Schnittstelle leitet keine Daten an einen Port weiter, bei dem es sich ebenfalls um eine private Schnittstelle handelt. Der Datenverkehr wird dabei komplett - blockiert, auch Ethernet-Rahmen und ARP-Pakete werden nicht - weitergeleitet. Wollen Sie hingegen nur spezifische - Datenpakete blockieren, sollten Sie eine Firewall - einsetzen. + blockiert, auch Ethernet-Rahmen und + ARP-Pakete werden nicht weitergeleitet. + Wollen Sie hingegen nur spezifische Datenpakete blockieren, + sollten Sie eine Firewall einsetzen. - Schnittstellen als <foreignphrase>sticky</foreignphrase> - kennzeichnen + Schnittstellen als + <foreignphrase>sticky</foreignphrase> kennzeichnen Wenn die Schnittstelle eines über eine Bridge verbundenen Netzwerksegments als sticky gekennzeichnet wird, werden alle dynamisch gelernten Adressen als statische Adressen behandelt, sobald sie in den Forward-Cache der Bridge aufgenommen wurden. Sticky-Einträge werden niemals aus dem Cache entfernt oder ersetzt. Selbst dann nicht, wenn die Adresse von einer anderen Schnittstelle verwendet wird. Sie können dadurch die Vorteile statischer Adresseinträge nutzen, ohne die Forward-Tabelle vor dem Einsatz der Bridge mit statischen Einträgen füllen zu müssen. Clients, die sich in einem bestimmten von der Bridge verwalteten Segmente befinden, können dabei nicht in ein anderes Segment wechseln. Ein weiteres Beispiel für den Einsatz von Sticky-Adressen wäre die Kombination einer Bridge mit - mehreren VLANs, um einen Router zu konfigurieren, der in + mehreren VLANs, um einen Router zu konfigurieren, der in in der Lage ist, einzelne Kundennetzwerke voneinander zu - trennen, ohne IP-Adressbereiche zu verschwenden. Für das + trennen, ohne IP-Adressbereiche zu verschwenden. Für das folgende Beispiel nehmen wir an, dass sich der Client CustomerA im VLAN vlan100 und der Client CustomerB im VLAN vlan101 befinden. Die Bridge hat die IP-Adresse 192.168.0.1 und ist als Internet-Router konfiguriert. &prompt.root; ifconfig bridge0 addm vlan100 sticky vlan100 addm vlan101 sticky vlan101 &prompt.root; ifconfig bridge0 inet 192.168.0.1/24 - Beide Clients sehen 192.168.0.1 als Ihr Default-Gateway. - Da der Brücken-Cache sticky ist, - sind Sie nicht dazu in der Lage, die MAC-Adresse des - anderen Kunden zu spoofen und dessen Datenverkehr - abzufangen. + In diesem Beispiel sehen beide Clients 192.168.0.1 als das + Default-Gateway. Da der Brücken-Cache + sticky ist, sind Sie nicht dazu in der + Lage, die MAC-Adresse des anderen Kunden + zu spoofen und dessen Datenverkehr abzufangen. - Sie können die Kommunikation zwischen den VLANs - vollständig unterbinden, wenn Sie private Schnittstellen - (oder eine Firewall) einsetzen: + Sie können die Kommunikation zwischen den + VLANs vollständig unterbinden, wenn Sie + private Schnittstellen oder eine Firewall einsetzen: &prompt.root; ifconfig bridge0 private vlan100 private vlan101 Die Kunden sind nun komplett voneinander isoliert und der komplette /24-Adressbereich - kann zugewiesen werden, ohne dass Sie Subnetze einsetzen - müssen. + kann zugewiesen werden, ohne dass Subnetze eingesetzt + werden. Adressen-Limitierung Die maximale mögliche Anzahl an eindeutigen - MAC-Adressen hinter einer Schnittstelle kann festgelegt werden. - Sobald das Limit erreicht ist, werden Pakete mit einer - unbekannten Quell-Adresse solange verworfen, bis ein - existierender Eintrag gelöscht wird oder + MAC-Adressen hinter einer Schnittstelle + kann festgelegt werden. Sobald das Limit erreicht ist, + werden Pakete mit einer unbekannten Quell-Adresse solange + verworfen, bis ein existierender Eintrag gelöscht wird oder abläuft. Das folgende Beispiel setzt die maximale Anzahl von Netzgeräten für CustomerA für das VLAN vlan100 auf 10. &prompt.root; ifconfig bridge0 ifmaxaddr vlan100 10 - SNMP-Monitoring + <acronym>SNMP</acronym>-Monitoring - Die Schnittstelle der Bridge sowie die STP-Parameter - können durch den bereits im Basissystem enthaltenen - SNMP-Daemon überwacht werden. Die exportierten - Bridge-MIBs entsprechen den IETF-Standards, daher können - Sie einen beliebigen SNMP-Client oder ein beliebiges - Monitoring-Werkzeug einsetzen, um die benötigten Daten - zu erhalten. + Die Schnittstelle der Bridge sowie die + STP-Parameter können durch den im + Basissystem enthaltenen &man.bsnmpd.1; überwacht werden. + Die exportierten Bridge-MIBs entsprechen + den IETF-Standards, daher können Sie + einen beliebigen SNMP-Client oder ein + beliebiges Monitoring-Werkzeug einsetzen, um die benötigten + Daten zu erhalten. - Auf dem Rechner, auf dem die Bridge konfiguriert ist, - aktivieren Sie die Zeile - begemotSnmpdModulePath."bridge" = "/usr/lib/snmp_bridge.so" - in der Datei /etc/snmp.config und starten - danach den bsnmpd-Daemon. - Eventuell benötigen Sie noch weitere + Aktivieren Sie auf der Bridge die Zeile + begemotSnmpdModulePath."bridge" = + "/usr/lib/snmp_bridge.so" + in /etc/snmp.config und starten Sie + &man.bsnmpd.1;. Eventuell müssen noch weitere Konfigurationsparameter wie Community-Namen und - Zugriffslisten. Die Konfiguration dieser Parameter wird - in den Manualpages &man.bsnmpd.1; sowie &man.snmp.bridge.3; - beschrieben. + Zugriffslisten angepasst werden. Weitere Informationen + finden Sie in &man.bsnmpd.1; und &man.snmp.bridge.3;. Die folgenden Beispiele verwenden das Softwarepaket - Net-SNMP (net-mgmt/net-snmp), um die Bridge - abzufragen. Alternativ können Sie dafür auch den - Port net-mgmt/bsnmptools - einsetzen. Auf dem SNMP-Client fügen Sie danach die - folgenden Zeilen in die Datei - $HOME/.snmp/snmp.conf ein, um die - MIB-Definitionen der Bridge in - Net-SNMP zu importieren: + Net-SNMP + (net-mgmt/net-snmp), um die Bridge vom + Client aus abzufragen. Alternativ kann auch der + Port net-mgmt/bsnmptools benutzt werden. + Auf dem SNMP-Client müssen danach die + folgenden Zeilen in + $HOME/.snmp/snmp.conf hinzugefügt + werden, um die MIB-Definitionen der + Bridge in Net-SNMP zu + importieren: mibdirs +/usr/share/snmp/mibs mibs +BRIDGE-MIB:RSTP-MIB:BEGEMOT-MIB:BEGEMOT-BRIDGE-MIB Um eine einzelne Bridge über den IETF BRIDGE-MIB - (RFC4188) zu überwachen, geben Sie Folgendes ein: + (RFC4188) zu überwachen: &prompt.user; snmpwalk -v 2c -c public bridge1.example.com mib-2.dot1dBridge BRIDGE-MIB::dot1dBaseBridgeAddress.0 = STRING: 66:fb:9b:6e:5c:44 BRIDGE-MIB::dot1dBaseNumPorts.0 = INTEGER: 1 ports BRIDGE-MIB::dot1dStpTimeSinceTopologyChange.0 = Timeticks: (189959) 0:31:39.59 centi-seconds BRIDGE-MIB::dot1dStpTopChanges.0 = Counter32: 2 BRIDGE-MIB::dot1dStpDesignatedRoot.0 = Hex-STRING: 80 00 00 01 02 4B D4 50 ... BRIDGE-MIB::dot1dStpPortState.3 = INTEGER: forwarding(5) BRIDGE-MIB::dot1dStpPortEnable.3 = INTEGER: enabled(1) BRIDGE-MIB::dot1dStpPortPathCost.3 = INTEGER: 200000 BRIDGE-MIB::dot1dStpPortDesignatedRoot.3 = Hex-STRING: 80 00 00 01 02 4B D4 50 BRIDGE-MIB::dot1dStpPortDesignatedCost.3 = INTEGER: 0 BRIDGE-MIB::dot1dStpPortDesignatedBridge.3 = Hex-STRING: 80 00 00 01 02 4B D4 50 BRIDGE-MIB::dot1dStpPortDesignatedPort.3 = Hex-STRING: 03 80 BRIDGE-MIB::dot1dStpPortForwardTransitions.3 = Counter32: 1 RSTP-MIB::dot1dStpVersion.0 = INTEGER: rstp(2) Der Wert der Variable dot1dStpTopChanges.0 ist hier 2, die - STP-Topologie der Bridge wurde also bereits zweimal - geändert. Unter einer Änderung versteht man dabei + STP-Topologie der Bridge wurde also + bereits zweimal geändert. Unter einer Änderung versteht man die Anpassung eines oder mehrerer Links und die Kalkulation eines neuen Baums. Der Wert der Variable dot1dStpTimeSinceTopologyChange.0 gibt an, wann dies zuletzt geschah. Um mehrere Bridge-Schnittstellen zu überwachen, - können Sie den privaten BEGEMOT-BRIDGE-MIB - einsetzen: + kann der private BEGEMOT-BRIDGE-MIB eingesetzt + werden: &prompt.user; snmpwalk -v 2c -c public bridge1.example.com enterprises.fokus.begemot.begemotBridge BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge0" = STRING: bridge0 BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge2" = STRING: bridge2 BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge0" = STRING: e:ce:3b:5a:9e:13 BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge2" = STRING: 12:5e:4d:74:d:fc BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge0" = INTEGER: 1 BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge2" = INTEGER: 1 ... BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge0" = Timeticks: (116927) 0:19:29.27 centi-seconds BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge2" = Timeticks: (82773) 0:13:47.73 centi-seconds BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge0" = Counter32: 1 BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge2" = Counter32: 1 BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge0" = Hex-STRING: 80 00 00 40 95 30 5E 31 BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge2" = Hex-STRING: 80 00 00 50 8B B8 C6 A9 Um die über den mib-2.dot1dBridge-Subtree überwachte - Bridge-Schnittstelle zu ändern, geben Sie Folgendes - ein: + Bridge-Schnittstelle zu ändern: &prompt.user; snmpset -v 2c -c private bridge1.example.com BEGEMOT-BRIDGE-MIB::begemotBridgeDefaultBridgeIf.0 s bridge2 - Link-Aggregation und Failover + + Link-Aggregation und Failover + Andrew Thompson Geschrieben von Benedict Reuschling Übersetzt von Sharon Bahagi lagg failover - fec + FEC - lacp + LACP loadbalance roundrobin - Die von &os; unterstützte &man.lagg.4;-Schnittstelle - erlaubt die Gruppierung von mehreren Netzwerkadaptern als eine - virtuelle Schnittstelle mit dem Ziel, Ausfallsicherheit - (Failover) und Link Aggregation bereitzustellen. Bei Failover - kann der Verkehr auch dann weiter fließen, wenn nur eine - Schnittstelle verfügbar ist. Link Aggregation funktioniert am - besten mit Switches, welche LACP - unterstützen, da dieses Protokoll den Datenverkehr - bidirektional verteilt, während es auch auf den Ausfall - einzelner Verbindungen reagiert. + + Einführung - Die von der lagg-Schnittstelle unterstützten Protokolle - bestimmten, welche Ports für den ausgehenden Datenverkehr - benutzt werden, und ob ein bestimmter Port eingehenden - Datenverkehr akzeptiert. Die folgenden Protokolle werden von - &man.lagg.4; unterstützt: + Die &man.lagg.4;-Schnittstelle erlaubt die Gruppierung von + mehreren Netzwerkadaptern als eine virtuelle Schnittstelle, + mit dem Ziel, Ausfallsicherheit (Failover) und Link + Aggregation bereitzustellen. + + + Betriebsmodi + + Die folgenden Betriebsmodi werden von &man.lagg.4; + unterstützt: + - failover (Ausfallsicherheit) + Failover (Ausfallsicherheit) Dieser Modus sendet und empfängt Datenverkehr nur auf dem Masterport. Sollte der Masterport nicht zur Verfügung stehen, wird der nächste aktive Port verwendet. Der zuerst hinzugefügte Adapter der virtuellen Schnittstelle wird zum Masterport, jeder weitere Adapter dient als Gerät zur Ausfallsicherheit. Wenn ein Failover auf einem Nicht-Master Port stattfindet, wird der ursprüngliche Port wieder zum Master-Port, sobald er wieder verfügbar ist. - fec / loadbalance (Lastverteilung) + fec / loadbalance (Lastverteilung) &cisco; Fast ðerchannel; (FEC) findet sich auf älteren &cisco; Switches. Es bietet eine statische Konfiguration und handelt weder Aggregation mit der Gegenstelle aus, noch werden Frames zur Überwachung der Verbindung ausgetauscht. Wenn der Switch LACP unterstützt, sollte diese Option auch verwendet werden. - lacp + lacp Das &ieee; 802.3ad Link-Aggregation Control Protokoll (LACP). Mit LACP wird eine Menge von aggregierbaren Verbindungen mit der Gegenstelle in einer oder mehreren Link Aggregated Groups (LAG) ausgehandelt. Jede LAG besteht aus Ports der gleichen Geschwindigkeit, eingestellt auf Voll-Duplex-Betrieb. Der Verkehr wird über die Ports in der LAG mit der größten Gesamtgeschwindigkeit balanciert. Typischerweise gibt es nur eine LAG, die alle Ports enthält. Im Falle von Änderungen in der physischen Anbindung wird LACP schnell zu einer neuen Konfiguration konvergieren. LACP balanciert ausgehenden Verkehr über die aktiven Ports basierend auf der gehashten Protokollheaderinformation und akzeptiert eingehenden Verkehr auf jedem aktiven Port. Der Hash beinhaltet die Ethernet-Quell- und Zieladresse, und, soweit verfügbar, den VLAN-Tag, sowie die IPv4 oder IPv6 Quell- und Zieladresse. roundrobin Dieser Modus verteilt ausgehenden Verkehr mittels einer Round-Robin-Zuteilung über alle aktiven Ports und akzeptiert eingehenden Verkehr auf jedem aktiven Port. Da dieser Modus die Reihenfolge von Ethernet-Frames verletzt, sollte er mit Vorsicht eingesetzt werden. + Beispiele Dieser Abschnitt zeigt, wie man einen &cisco; Switch und ein &os;-System für LACP Load Balancing konfiguriert. Weiterhin wird gezeigt, wie man zwei Ethernet-Schnittstellen, sowie eine Ethernet- und eine Drahtlos-Schnittstelle für den Failover-Modus konfigurieren kann. - <acronym>LACP</acronym> Aggregation mit einem Switch - von &cisco; + <acronym>LACP</acronym> Aggregation mit einem &cisco; + Switch - Dieses Beispiel verbindet zwei &man.fxp.4; - Ethernet-Schnittstellen einer &os;-Maschine zu den ersten - zwei Ethernet-Ports auf einem &cisco; Switch als eine - einzelne, lastverteilte und ausfallsichere Verbindung. - Weitere Adapter können hinzugefügt werden, um den Durchsatz - zu erhöhen und die Ausfallsicherheit zu steigern. Ersetzen - Sie die Namen der &cisco;-Ports, Ethernet-Geräte, - channel-group Nummern und IP-Adressen im - Beispiel durch Namen, die mit Ihrer lokalen Konfiguration - übereinstimmen. + Dieses Beispiel verbindet zwei &man.fxp.4; + Ethernet-Schnittstellen einer &os;-Maschine zu den ersten + zwei Ethernet-Ports auf einem &cisco; Switch als eine + einzelne, lastverteilte und ausfallsichere Verbindung. + Weitere Adapter können hinzugefügt werden, um den Durchsatz + zu erhöhen und die Ausfallsicherheit zu steigern. Ersetzen + Sie die Namen der &cisco;-Ports, Ethernet-Geräte, + channel-group Nummern und IP-Adressen im + Beispiel durch Namen, die mit Ihrer lokalen Konfiguration + übereinstimmen. + Da die Reihenfolge der Frames bei Ethernet zwingend + eingehalten werden muss, fließt auch jeglicher Verkehr + zwischen zwei Stationen über den gleichen physischen + Kanal, was die maximale Geschwindigkeit der Verbindung auf + die eines einzelnen Adapters beschränkt. + Der Übertragungsalgorithmus versucht, so viele + Informationen wie möglich zu verwenden, um die + verschiedenen Verkehrsflüsse zu unterscheiden und + balanciert diese über die verfügbaren Adapter. - Da die Reihenfolge der Frames bei Ethernet zwingend - eingehalten werden muss, fließt auch jeglicher Verkehr - zwischen zwei Stationen über den gleichen physischen - Kanal, was die maximale Geschwindigkeit der Verbindung auf - die eines einzelnen Adapters beschränkt. - Der Übertragungsalgorithmus versucht, so viele - Informationen wie möglich zu verwenden, um die - verschiedenen Verkehrsflüsse zu unterscheiden und - balanciert diese über die verfügbaren Adapter. - Fügen Sie auf dem &cisco;-Switch die Adapter FastEthernet0/1 und FastEthernet0/2 zu der channel-group 1 hinzu: interface FastEthernet0/1 channel-group 1 mode active channel-protocol lacp ! interface FastEthernet0/2 channel-group 1 mode active channel-protocol lacp - Auf der Maschine mit &os; erstellen Sie die + Erstellen Sie auf der &os; Maschine die &man.lagg.4;-Schnittstelle unter Verwendung von fxp0 und - fxp1 und starten Sie + fxp1 und starten Sie die Schnittstelle mit der IP-Adresse 10.0.0.3/24: &prompt.root; ifconfig fxp0 up &prompt.root; ifconfig fxp1 up &prompt.root; ifconfig lagg0 create &prompt.root; ifconfig lagg0 up laggproto lacp laggport fxp0 laggport fxp1 10.0.0.3/24 - Als nächstes, überprüfen Sie den Status der virtuellen + Überprüfen Sie den Status der virtuellen Schnittstelle: &prompt.root; ifconfig lagg0 lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=8<VLAN_MTU> ether 00:05:5d:71:8d:b8 media: Ethernet autoselect status: active laggproto lacp laggport: fxp1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> laggport: fxp0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> Ports, die als ACTIVE markiert sind, sind Teil der aktiven Aggregations-Gruppe, die mit dem - Switch ausgehandelt wurde und der Verkehr wird über diese - übertragen und empfangen. Benutzen Sie - im obigen Kommando, um sich die + Switch ausgehandelt wurde. Der Verkehr wird über diese + Gruppe übertragen und empfangen. Benutzen Sie + &man.ifconfig.8; mit , um sich die LAG-Bezeichner anzeigen zu lassen. - Um den Status der Ports auf dem &cisco; Switch - anzuzeigen: + Um den Status der Ports auf dem Switch + anzuzeigen, benutzen Sie + show lacp neighbor: - switch# show lacp neighbor + switch# show lacp neighbor Flags: S - Device is requesting Slow LACPDUs F - Device is requesting Fast LACPDUs A - Device is in Active mode P - Device is in Passive mode Channel group 1 neighbors Partner's information: LACP port Oper Port Port Port Flags Priority Dev ID Age Key Number State Fa0/1 SA 32768 0005.5d71.8db8 29s 0x146 0x3 0x3D Fa0/2 SA 32768 0005.5d71.8db8 29s 0x146 0x4 0x3D - Benutzen Sie das Kommando show lacp neighbor - detail, um weitere Informationen zu erhalten. + Benutzen Sie show lacp neighbor + detail, um weitere Informationen zu + erhalten. Damit diese Konfiguration auch nach einem Neustart - erhalten bleibt, fügen Sie auf Ihrem &os;-System folgende + erhalten bleibt, fügen Sie auf dem &os;-System folgende Einträge in /etc/rc.conf hinzu: ifconfig_fxp0="up" ifconfig_fxp1="up" cloned_interfaces="lagg0 ifconfig_lagg0="laggproto lacp laggport fxp0 laggport fxp1 10.0.0.3/24" Ausfallsicherer Modus Der ausfallsichere Modus kann verwendet werden, um zu einer zweiten Schnittstelle zu wechseln, sollte die Verbindung mit der Master-Schnittstelle ausfallen. Um den - ausfallsicheren Modus zu konfigurieren, stellen Sie sicher, - dass die zugrunde liegenden physikalischen Schnittstellen - aktiv sind. Erstellen Sie dann die - &man.lagg.4;-Schnittstelle. In diesem Beispiel ist - fxp0 die Master-Schnittstelle, - fxp1 die sekundäre Schnittstelle, - und der virtuellen Schnittstelle wird die + ausfallsicheren Modus zu konfigurieren, aktivieren Sie + zunächst die zugrunde liegenden physikalischen + Schnittstellen. Erstellen Sie dann die + &man.lagg.4;-Schnittstelle mit + fxp0 als Master-Schnittstelle und + fxp1 als sekundäre Schnittstelle. + Der virtuellen Schnittstelle wird die IP-Adresse 10.0.0.15/24 zugewiesen: &prompt.root; ifconfig fxp0 up &prompt.root; ifconfig fxp1 up &prompt.root; ifconfig lagg0 create &prompt.root; ifconfig lagg0 up laggproto failover laggport fxp0 laggport fxp1 10.0.0.15/24 Die virtuelle Schnittstelle sollte in etwa so aussehen: &prompt.root; ifconfig lagg0 lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=8<VLAN_MTU> ether 00:05:5d:71:8d:b8 inet 10.0.0.15 netmask 0xffffff00 broadcast 10.0.0.255 media: Ethernet autoselect status: active laggproto failover laggport: fxp1 flags=0<> laggport: fxp0 flags=5<MASTER,ACTIVE> Der Verkehr wird auf fxp0 übertragen und empfangen. Wenn die Verbindung auf - fxp0 abbricht, so wird + fxp0 abbricht, wird fxp1 die Verbindung übernehmen. Sobald die Verbindung auf der Master-Schnittstelle - wiederhergestellt ist, wird diese auch wieder als aktive + wiederhergestellt ist, wird diese wieder als aktive Schnittstelle genutzt. Damit diese Konfiguration auch nach einem Neustart erhalten bleibt, fügen Sie folgende Einträge in /etc/rc.conf hinzu: ifconfig_fxp0="up" ifconfig_fxp1="up" cloned_interfaces="lagg0 ifconfig_lagg0="laggproto failover laggport fxp0 laggport fxp1 10.0.0.15/24" Failover Modus zwischen Ethernet- und Wireless-Schnittstellen Für Laptop-Benutzer ist es normalerweise wünschenswert, - wireless als sekundäre Schnittstelle einzurichten, die - verwendet wird, wenn die Ethernet-Verbindung nicht verfügbar - ist. Mit &man.lagg.4; ist es möglich, ein Failover zu - konfigurieren, welches die Ethernet-Verbindung aus - Performance- und Sicherheitsgründen bevorzugt, während es - gleichzeitig möglich bleibt, Daten über die drahtlose - Verbindung zu übertragen. + wireless als sekundäre Schnittstelle + einzurichten, die verwendet wird, wenn die + Ethernet-Verbindung nicht verfügbar ist. Mit &man.lagg.4; + ist es möglich, ein Failover mit einer + IP-Adresse zu konfigurieren, welches die + Ethernet-Verbindung aus Performance- und Sicherheitsgründen + bevorzugt, während es gleichzeitig möglich bleibt, Daten + über die drahtlose Verbindung zu übertragen. Dies wird durch das Überschreiben der physikalischen MAC-Adresse der drahtlosen Schnittstelle, durch die der Ethernet-Schnittstelle erreicht. - In dieser Konfiguration behandeln wir die - Ethernet-Schnittstelle bge0 als - die Master und die drahtlose Schnittstelle - wlan0 als die - Failover-Schnittstelle. Die + In diesem Beispiel ist die Ethernet-Schnittstelle + bge0 die Master-Schnittstelle + und die drahtlose Schnittstelle + wlan0 die Failover-Schnittstelle. wlan0 wurde von der iwn0 mit der MAC-Adresse der Ethernet-Schnittstelle - eingerichtet. Im ersten Schritt ermitteln wir die + eingerichtet. Im ersten Schritt wird die MAC-Adresse der - Ethernet-Schnittstelle: + Ethernet-Schnittstelle ermittelt: &prompt.root; ifconfig bge0 bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4> ether 00:21:70:da:ae:37 inet6 fe80::221:70ff:feda:ae37%bge0 prefixlen 64 scopeid 0x2 nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> media: Ethernet autoselect (1000baseT <full-duplex>) status: active Ersetzen Sie bge0 durch den - Namen der Ethernet-Schnittstelle Ihres Systems. Die + Namen der Ethernet-Schnittstelle des Systems. Die ether-Zeile wird die MAC-Adresse der angegebenen Schnittstelle enthalten. Ändern Sie nun die MAC-Adresse der zugrunde liegenden - Wireless-Schnittstelle: + drahtlosen Schnittstelle: &prompt.root; ifconfig iwn0 ether 00:21:70:da:ae:37 - Starten Sie den Wireless-Schnittstelle, aber ohne - IP-Adresse: + Starten Sie die drahtlose Schnittstelle, aber ohne + eine IP-Adresse zu setzen: &prompt.root; ifconfig wlan0 create wlandev iwn0 ssid my_router up Stellen Sie sicher, dass die bge0-Schnittstelle aktiv ist. - Erstellen Sie dann die &man.lagg.4;-Schnittstelle mit - bge0 als Master mit Failover auf - wlan0: + Erstellen Sie die &man.lagg.4;-Schnittstelle mit + bge0 als Master und + wlan0 als Failover: &prompt.root; ifconfig bge0 up &prompt.root; ifconfig lagg0 create &prompt.root; ifconfig lagg0 up laggproto failover laggport bge0 laggport wlan0 Die virtuelle Schnittstelle sollte in etwa so aussehen: &prompt.root; ifconfig lagg0 lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=8<VLAN_MTU> ether 00:21:70:da:ae:37 media: Ethernet autoselect status: active laggproto failover laggport: wlan0 flags=0<> laggport: bge0 flags=5<MASTER,ACTIVE> + Starten Sie dann den DHCP-Client, + um eine IP-Adresse zu erhalten: + + &prompt.root; dhclient lagg0 + Damit diese Konfiguration auch nach einem Neustart erhalten bleibt, fügen Sie folgende Einträge in /etc/rc.conf hinzu: ifconfig_bge0="up" ifconfig_iwn0="ether 00:21:70:da:ae:37" wlans_iwn0="wlan0" ifconfig_wlan0="WPA" cloned_interfaces="lagg0" ifconfig_lagg0="laggproto failover laggport bge0 laggport wlan0 DHCP" Plattenloser Betrieb mit <acronym>PXE</acronym> Jean-François Dockès Aktualisiert von Alex Dupre Reorganisiert und erweitert von - - plattenloser Arbeitsplatz plattenloser Betrieb Das &intel; Preboot eXecution Environment (PXE) erlaubt es dem Betriebssystem über das Netzwerk zu starten. Zum Beispiel kann ein &os;-System, ohne lokale Festplatte, über das Netzwerk gestartet und betrieben werden. Die Dateisysteme werden dabei über einen NFS-Server eingehangen. PXE-Unterstützung steht in der Regel im BIOS zur Verfügung. Um PXE beim Systemstart zu verwenden, müssen Sie im BIOS des Rechners die Option Über das Netzwerk starten aktivieren. Alternativ können Sie während der PC-Initialisierung auch eine Funktionstaste drücken. Um die notwendigen Dateien für ein Betriebssystem für den Start über das Netzwerk bereitzustellen, benötigt ein PXE-Setup einen richtig konfigurierten DHCP-, TFTP- und NFS-Server, wobei: Die initialen Parameter, wie IP-Adresse, Dateiname und Speicherort der ausführbaren Bootdateien, Servername sowie Root-Pfad vom DHCP-Server bezogen werden. Der Loader für das Betriebssystem über TFTP gestartet wird. Die Dateisysteme über NFS geladen werden. - Sobald das Gastsystem startet, erhält es vom + Sobald das Gastsystem über PXE startet, erhält es vom DHCP-Server Informationen, wo der initiale Bootloader per TFTP zu bekommen ist. Nachdem das Gastsystem diese Informationen erhalten hat, lädt es den Bootloader über TFTP herunter und führt diesen anschließend aus. In &os; ist /boot/pxeboot der Bootloader. Nachdem /boot/pxeboot ausgeführt und der &os;-Kernel geladen wurde, wird mit dem Rest der &os;-Bootsequenz, wie in beschrieben, fortgefahren. Dieser Abschnitt beschreibt, wie Sie diese Dienste auf einem &os;-System so konfigurieren, sodass andere Systeme &os; über PXE starten können. Weitere Informationen finden Sie in &man.diskless.8;. Wie beschrieben, ist das System, welches diese Dienste bereitstellt, unsicher. Daher sollte es in einem geschützten Bereich des Netzwerks aufgestellt und von anderen Hosts als nicht vertrauenswürdig eingestuft werden. Konfiguration der <acronym>PXE</acronym>-Umgebung Craig Rodrigues
rodrigc@FreeBSD.org
Beigetragen von
Die in diesem Abschnitt dargestellten Schritte konfigurieren die in &os; enthaltenen NFS- und TFTP-Server. Der folgende Abschnitt beschreibt die Installation und Konfiguration des DHCP-Servers. In diesem Beispiel verwenden wir /b/tftpboot/FreeBSD/install, welches die Dateien für PXE-Benutzer enthält. Es ist wichtig, dass dieses Verzeichnis existiert und das der gleiche Verzeichnisname ebenfalls in /etc/inetd.conf und /usr/local/etc/dhcpd.conf gesetzt wird. Erstellen Sie das Root-Verzeichnis, welches eine - &os;-Installation enthält und über NFS eingehangen - werden kann. + &os;-Installation enthält und über NFS + eingehangen werden kann:
&prompt.root; export NFSROOTDIR=/b/tftpboot/FreeBSD/install &prompt.root; mkdir -p ${NFSROOTDIR} - Aktivieren Sie den NFS-Server, indem Sie folgende - Zeile in /etc/rc.conf - hinzufügen: + Aktivieren Sie den NFS-Server, + indem Sie folgende Zeile in + /etc/rc.conf hinzufügen: nfs_server_enable="YES" - Exportieren Sie das Root-Verzeichnis über NFS, indem - Sie folgende Zeile in /etc/exports - hinzufügen: + Exportieren Sie das Root-Verzeichnis über + NFS, indem Sie folgende Zeile in + /etc/exports hinzufügen: /b -ro -alldirs Starten Sie den NFS-Server: &prompt.root; service nfsd start Aktivieren Sie &man.inetd.8;, indem Sie folgende Zeile in /etc/rc.conf hinzufügen: inetd_enable="YES" Kommentieren Sie die folgende Zeile in /etc/inetd.conf aus, indem Sie sicherstellen, dass die Zeile nicht mit einem #-Zeichen beginnt: tftp dgram udp wait root /usr/libexec/tftp tftp -l -s /b/tftpboot Einige PXE-Versionen benötigen die TCP-Version von TFTP. In diesem Fall können Sie die zweite tftp-Zeile, welche stream tcp enthält, auskommentieren. Starten Sie &man.inetd.8;: &prompt.root; service inetd start Erstellen Sie einen neues Basissystem und einen - &os;-Kernel (detaillierte Anweisungen hierzu finden Sie - unter ): + &os;-Kernel. Detaillierte Anweisungen hierzu finden Sie + im : &prompt.root; cd /usr/src &prompt.root; make buildworld &prompt.root; make buildkernel - Installieren sie &os; in das Verzeichnis, welches + Installieren Sie &os; in das Verzeichnis, welches über NFS eingehangen ist: &prompt.root; make installworld DESTDIR=${NFSROOTDIR} &prompt.root; make installkernel DESTDIR=${NFSROOTDIR} &prompt.root; make distribution DESTDIR=${NFSROOTDIR} Testen Sie den TFTP-Server und vergewissern Sie sich, dass Sie den Bootloader herunterladen können, der über PXE bereitgestellt wird: &prompt.root; tftp localhost tftp> get FreeBSD/install/boot/pxeboot Received 264951 bytes in 0.1 seconds Bearbeiten Sie ${NFSROOTDIR}/etc/fstab und erstellen Sie einen Eintrag, um das Root-Dateisystem über NFS einzuhängen: # Device Mountpoint FSType Options Dump Pass myhost.example.com:/b/tftpboot/FreeBSD/install / nfs ro 0 0 Ersetzen Sie myhost.example.com durch den - Hostnamen oder die IP-Adresse Ihres + Hostnamen oder die IP-Adresse des NFS-Servers. In diesem Beispiel wird das Root-Dateisystem schreibgeschützt eingehangen, um ein potenzielles Löschen des Inhalts durch die NFS-Clients zu verhindern. Setzen Sie das root-Passwort in der PXE-Umgebung für Client-Maschinen, die über PXE starten: &prompt.root; chroot ${NFSROOTDIR} &prompt.root; passwd Falls erforderlich, aktivieren Sie &man.ssh.1; root-Logins für Client-Maschinen, die über PXE starten, indem Sie die Option PermitRootLogin in ${NFSROOTDIR}/etc/ssh/sshd_config aktivieren. Dies ist in &man.sshd.config.5; dokumentiert. Führen Sie alle weiteren Anpassungen der PXE-Umgebung in ${NFSROOTDIR} durch, wie zum Beispiel die Installation weiterer Pakete, oder dass Bearbeiten der Passwortdatei mit &man.vipw.8;. Booten Sie von einem NFS-Root-Volume, so erkennt /etc/rc dies und startet daraufhin das /etc/rc.initdiskless Skript. Lesen Sie die Kommentare in diesem Skript um zu verstehen, was dort vor sich geht. Weil das NFS-Root-Verzeichnis schreibgeschützt ist, wir aber Schreibzugriff für /etc und /var benötigen, müssen wir diese Verzeichnisse über Speicher-Dateisysteme (memory backed file system) einbinden. &prompt.root; chroot ${NFSROOTDIR} &prompt.root; mkdir -p conf/base &prompt.root; tar -c -v -f conf/base/etc.cpio.gz --format cpio --gzip etc &prompt.root; tar -c -v -f conf/base/var.cpio.gz --format cpio --gzip var Konfiguration des <acronym>DHCP</acronym>-Servers DHCP plattenloser Betrieb Der DHCP-Server muss nicht auf der selben Maschine laufen wie der TFTP- und NFS-Server, aber er muss über das Netzwerk erreichbar sein. DHCP ist nicht Bestandteil des &os; Basissystems, kann jedoch über den Port net/isc-dhcp42-server oder als Paket nachinstalliert werden. - Einmal installiert, bearbeiten Sie seine - Konfigurationsdatei, + Einmal installiert, bearbeiten Sie die + Konfigurationsdatei /usr/local/etc/dhcpd.conf. Konfigurieren Sie die next-server, filename und root-path Einstellungen, wie in diesem Beispiel zu sehen ist: subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.2 192.168.0.3; option subnet-mask 255.255.255.0; option routers 192.168.0.1; option broadcast-address 192.168.0.255; option domain-name-servers 192.168.35.35, 192.168.35.36; option domain-name "example.com"; # IP address of TFTP server next-server 192.168.0.1; # path of boot loader obtained via tftp filename "FreeBSD/install/boot/pxeboot"; # pxeboot boot loader will try to NFS mount this directory for root FS option root-path "192.168.0.1:/b/tftpboot/FreeBSD/install/"; } Die Anweisung next-server wird benutzt, um die IP-Adresse des TFTP-Servers anzugeben. Die Anweisung filename definiert den Pfad zu /boot/pxeboot. Da hier der relative Dateiname verwendet wird, bedeutet das, dass /b/tftpboot nicht im Pfad enthalten ist. Die Option root-path bestimmt den Pfad zum NFS root-Dateisystem. Sobald die Änderungen gespeichert werden, aktivieren Sie NFS beim Systemstart, indem Sie die folgende Zeile in /etc/rc.conf hinzufügen: dhcpd_enable="YES" Starten Sie anschließend den DHCP-Dienst: &prompt.root; service isc-dhcpd start Fehlersuche bei <acronym>PXE</acronym> Problemen Sobald alle Dienste konfiguriert und gestartet wurden, sollten PXE-Clients in der Lage sein, &os; automatisch über das Netzwerk zu starten. Wenn ein bestimmter Client beim hochfahren keine Verbindung herstellen kann, sehen Sie im BIOS nach, ob die Option für den Start über das Netzwerk konfiguriert ist. Dieser Abschnitt gibt einige Tipps zu Fehlerbehebung und zeigt, wie Sie Konfigurationsprobleme eingrezen können für den Fall, dass PXE-Clients nicht in der Lage sind über das Netzwerk zu starten. Benutzen Sie den net/wireshark Port um Fehler im Netzwerkverkehr während des Bootvorgangs von PXE zu finden. Der Bootvorgang wird im folgenden Diagramm schematisch dargestellt.
<acronym>PXE</acronym>-Bootvorgang mit <acronym>NFS</acronym> Root Mount Client sendet eine DHCPDISCOVER Nachricht. Der DHCP-Server antwortet mit einer IP-Adresse, sowie den Werten für next-server, filename und root-path. Der Client sendet eine TFTP-Anfrage an next-server, mit der Bitte filename zu empfangen. Der TFTP-Server antwortet und sendet filename zum Client. Der Client führt filename, sprich &man.pxeboot.8; aus, was wiederum den Kernel lädt. Wenn der Kernel ausgeführt wird, wird das Root-Dateisystem, welches in root-path spezifiziert ist, über NFS eingebunden.
Schauen Sie in /var/log/xferlog auf Ihrem TFTP-Server und vergewissern Sie sich, dass die pxeboot-Datei von der richtigen Adresse heruntergeladen wurde. Um die obige Konfiguration von /usr/local/etc/dhcpd.conf zu testen, geben Sie folgendes ein: &prompt.root; tftp 192.168.0.1 tftp> get FreeBSD/install/boot/pxeboot Received 264951 bytes in 0.1 seconds Weitere Informationen finden Sie in &man.tftpd.8; und &man.tftp.1;. Die BUGS-Sektionen dieser Seiten dokumentieren einige Einschränkungen von TFTP. Achten Sie darauf, dass Sie das Root-Dateisystem über NFS einhängen können. Auch hier können Sie Ihre Einstellungen aus /usr/local/etc/dhcpd.conf wie folgt testen: &prompt.root; mount -t nfs 192.168.0.1:/b /tftpboot/FreeBSD/install /mnt
- - ISDN – dienstintegrierendes digitales Netzwerk - - - ISDN - - - Eine gute Quelle für Informationen zu ISDN ist die - - ISDN-Seite von Dan Kegel. - - Welche Informationen finden Sie in diesem Abschnitt? - - - - Wenn Sie in Europa leben, könnte der Abschnitt - über ISDN-Karten für Sie interessant sein. - - - - Wenn Sie ISDN hauptsächlich dazu verwenden wollen, um - sich über einen Anbieter ins Internet einzuwählen, - sollten Sie den Abschnitt über Terminaladapter lesen. - Dies ist die flexibelste Methode, die auch die wenigsten - Probleme verursacht. - - - - Wenn Sie zwei Netzwerke miteinander verbinden, oder sich - über eine ISDN-Standleitung mit dem Internet verbinden - wollen, finden Sie entsprechende Informationen im Abschnitt - über Router und Bridges. - - - - Bei der Wahl der gewünschten Lösung sind die - entstehenden Kosten ein entscheidender Faktor. Die folgenden - Beschreibungen reichen von der billigsten bis zur teuersten - Variante. - - - ISDN-Karten - - - - Hellmuth - Michaelis - - Beigetragen von - - - - - - - - ISDN - Karten - - - Das ISDN-Subsystem von &os; unterstützt den - DSS1/Q.931- (oder Euro-ISDN)-Standard nur für passive - Karten. Zusätzlich werden aber auch einige - aktive Karten unterstützt, bei denen die Firmware auch - andere Signalprotokolle unterstützt; dies schließt - auch die erste ISDN-Karte mit - Primärmultiplex-Unterstützung mit ein. - - isdn4bsd ermöglicht es - Ihnen, sich unter Nutzung von - IP over raw HDLC oder - synchronem PPP mit anderen ISDN-Routern zu - verbinden. Dazu verwenden Sie entweder Kernel-&man.ppp.8; - (via isppp, einem modifizierten - sppp-Treiber), oder Sie benutzen User-&man.ppp.8;. Wenn Sie - User-&man.ppp.8; verwenden, können Sie zwei oder mehrere - ISDN-B-Kanäle bündeln. Im Paket enthalten ist auch - ein Programm mit Anrufbeantworterfunktion sowie verschiedene - Werkzeuge, wie ein Softwaremodem, das 300 Baud - unterstützt. - - &os; unterstützt eine ständig wachsende Anzahl - von PC-ISDN-Karten, die weltweit erfolgreich eingesetzt werden. - - - Von &os; unterstützte passive ISDN-Karten enthalten - fast immer den ISAC/HSCX/IPAC ISDN-Chipsatz von Infineon - (ehemals Siemens). Unterstützt werden aber auch Karten mit - Cologne Chip (diese allerdings nur für den ISA-Bus), - PCI-Karten mit Winbond W6692 Chipsatz, einige Karten mit dem - Tiger 300/320/ISAC Chipsatz sowie einige Karten mit einem - herstellerspezifischen Chipsatz, wie beispielsweise die - Fritz!Card PCI V.1.0 und die Fritz!Card PnP von AVM. - - An aktiven ISDN-Karten werden derzeit die AVM B1 BRI-Karten - (ISA und PCI-Version) sowie die AVM T1 PRI-Karten (PCI-Version) - unterstützt. - - Informationen zu isdn4bsd finden - Sie auf der - Internetseite - von isdn4bsd. Dort finden Sie auch - Verweise zu Tipps, Korrekturen, sowie weiteren Informationen, - wie dem - isdn4bsd-Handbuch. - - - Falls Sie an der Unterstützung eines zusätzlichen - ISDN-Protokolls, einer weiteren ISDN-Karte oder an einer anderen - Erweiterung von isdn4bsd interessiert - sind, wenden Sie sich bitte an &a.hm;. - - Für Fragen zur Installation, Konfiguration und zu - sonstigen Problemen von isdn4bsd gibt - es die Mailingliste &a.isdn.name;. - - - - ISDN-Terminaladapter - - - Terminaladapter - - - Terminaladapter (TA) sind für ISDN, was Modems für - analoge Telefonleitungen sind. - - - Modem - - - Die meisten Terminaladapter verwenden den - Standardbefehlssatz für Modems von Hayes (AT-Kommandos) und - können daher als Modemersatz verwendet werden. - - Ein Terminaladapter funktioniert prinzipiell wie ein Modem, - allerdings erfolgt der Verbindungsaufbau um einiges schneller. - Die Konfiguration von PPP entspricht - dabei exakt der eines Modems. Stellen Sie dabei allerdings - die serielle Geschwindigkeit so hoch wie möglich ein. - - - - PPP - - - Der Hauptvorteil bei der Verwendung eines Terminaladapters - zur Verbindung mit einem Internetanbieter ist die - Möglichkeit zur Nutzung von dynamischem PPP. Da - IP-Adressen immer knapper werden, vergeben die meisten Provider - keine statischen IP-Adressen mehr. Die meisten Router - unterstützen allerdings keine dynamische Zuweisung von - IP-Adressen. - - Der PPP-Daemon bestimmt die Stabilität und - Eigenschaften der Verbindung, wenn Sie einen Terminaladapter - verwenden. Daher können Sie unter &os; einfach von - einer Modemverbindung auf eine ISDN-Verbindung wechseln, wenn - Sie PPP bereits konfiguriert haben. Allerdings bedeutet - dies auch, das bereits bestehende Probleme mit PPP auch unter - ISDN auftreten werden. - - Wenn Sie an maximaler Stabilität interessiert sind, - verwenden Sie Kernel-PPP, und - nicht das User-PPP. - - Folgende Terminaladapter werden von &os; - unterstützt: - - - - Motorola BitSurfer und Bitsurfer Pro - - - - Adtran - - - - Die meisten anderen Terminaladapter werden wahrscheinlich - ebenfalls funktionieren, da die Hersteller von Terminaladaptern - darauf achten, dass ihre Produkte den Standardbefehlssatz - möglichst gut unterstützen. - - Das wirkliche Problem mit einem externen Terminaladapter ist, - dass, ähnlich wie bei Modems, eine gute serielle Karte - eine Grundvoraussetzung ist. - - Sie sollten sich die - - Anleitung für die Nutzung serieller Geräte unter - &os; ansehen, wenn Sie detaillierte Informationen - über serielle Geräte und die Unterschiede zwischen - asynchronen und synchronen seriellen Ports benötigen. - - - Ein Terminaladapter, der an einem (asynchronen) - seriellen Standardport angeschlossen ist, beschränkt - Sie auf 115,2 Kbs. Dies - selbst dann, wenn Sie eine Verbindung mit 128 Kbs haben. - Um die volle Leistungsfähigkeit von ISDN (128 Kbs) - nutzen zu können, müssen Sie den Terminaladapter - daher an eine synchrone serielle Karte anschließen. - - Kaufen Sie keinen internen Terminaladapter in der Hoffnung, - damit das synchron/asynchron-Problem vermeiden zu können. - Interne Terminaladapter haben einen (asynchronen) seriellen - Standardportchip eingebaut. Der einzige Vorteil interner - Terminaladapter ist es, dass Sie ein serielles sowie ein - Stromkabel weniger benötigen. - - Eine synchrone Karte mit einem Terminaladapter ist - mindestens so schnell wie ein autonomer ISDN-Router, - und, in Kombination mit einem einfachen 386-&os;-System, - wahrscheinlich flexibler. - - Die Entscheidung zwischen synchroner Karte/Terminaladapter - und einem autonomen ISDN-Router ist beinahe eine religiöse - Angelegenheit. Zu diesem Thema gibt es viele Diskussionen - in den Mailinglisten. Suchen Sie in den - Archiven - danach, wenn Sie an der kompletten Diskussion interessiert - sind. - - - - ISDN-Bridges und Router - - - ISDN - Autonome Bridge/Router - - - ISDN-Bridges und Router sind keine Eigenheit von - &os; oder eines anderen Betriebssystems. Für eine - vollständigere Beschreibung von Routing und - Netzwerkkopplungen mit einer Bridge informieren Sie sich - bitte durch weiterführende Literatur. - - In diesem Abschnitt werden die Begriffe Router und - Bridge synonym verwendet. - - ISDN-Router und Bridges werden immer günstiger und - damit auch immer beliebter. Ein ISDN-Router ist eine kleine - Box, die direkt an Ihr lokales Ethernet-Netzwerk angeschlossen - wird und sich mit einem Router oder einer Bridge verbindet. - Die eingebaute Software ermöglicht die Kommunikation - über PPP oder andere beliebte Protokolle. - - Ein Router ermöglicht einen deutlich höheren - Datendurchsatz als ein herkömmlicher Terminaladapter, - da er eine vollsynchrone ISDN-Verbindung nutzt. - - Das Hauptproblem mit ISDN-Routern und Bridges ist, - dass die Zusammenarbeit zwischen Geräten verschiedener - Hersteller nach wie vor ein Problem ist. Wenn Sie sich auf - diese Weise mit einem Internetanbieter verbinden wollen, - klären Sie daher vorher ab, welche Anforderungen Ihre - Geräte erfüllen müssen. - - Eine ISDN-Bridge ist eine einfache und wartungsarme - Lösung, zwei Netze, beispielsweise Ihr privates Netz - und Ihr Firmennetz, miteinander zu verbinden. Da Sie die - technische Ausstattung für beide Seiten kaufen müssen, - ist sichergestellt, dass die Verbindung funktionieren - wird. - - Um beispielsweise einen privaten Computer oder eine - Zweigstelle mit dem Hauptnetzwerk zu verbinden, könnte - folgende Konfiguration verwendet werden: - - - Kleines Netzwerk (Privatnetz) - - - 10 base 2 - - - Das Netzwerk basiert auf der Bustopologie mit 10base2 - Ethernet (Thinnet). Falls nötig, stellen - Sie die Verbindung zwischen Router und Netzwerkkabel mit einem - AUI/10BT-Transceiver her. - - - - - - - - ----Sun Workstation -| ----FreeBSD Rechner -| ----Windows 95 -| -Autonomer Router - | -ISDN BRI Verbindung - - - - - 10Base2 - Ethernet - - - - Wenn Sie nur einen einzelnen Rechner verbinden wollen, - können Sie auch ein Twisted-Pair-Kabel (Cross-Over) - verwenden, das direkt an den Router angeschlossen wird. - - - - Großes Netzwerk (Firmennetz) - - - 10 base T - - - Dieses Netzwerk basiert auf der Sterntopologie und 10baseT - Ethernet (Twisted Pair). - - - - - - - - --------Novell Server - | H | - | ---Sun - | | - | U ---FreeBSD - | | - | ---Windows 95 - | B | - |___---Autonomer Router - | - ISDN BRI Verbindung - - - - - ISDN Netzwerkdiagramm - - - - - Ein großer Vorteil der meisten Router und Bridges - ist es, dass man gleichzeitig zwei - unabhängige PPP-Verbindungen - zu zwei verschiedenen Zielen aufbauen kann. Diese - Funktion bieten die meisten Terminaladapter nicht. Die - Ausnahme sind spezielle (meist teure) Modelle, die über - zwei getrennte serielle Ports verfügen. Verwechseln Sie - dies aber nicht mit Kanalbündelung oder MPP. - - Dies kann sehr nützlich sein, wenn Sie eine - ISDN-Standleitung in Ihrem Büro haben, die sie - aufteilen wollen, ohne eine zusätzliche ISDN-Leitung - zu installieren. Ein ISDN-Router kann über einen B-Kanal - (64 Kbps) eine dedizierte Verbindung ins Internet aufbauen, - und gleichzeitig den anderen B-Kanal für eine separate - Datenverbindung nutzen. Der zweite B-Kanal kann beispielsweise - für ein- oder ausgehende Verbindungen verwendet werden. - Sie können ihn aber auch dynamisch mit dem ersten B-Kanal - bündeln, um Ihre Bandbreite zu erhöhen. - - - IPX/SPX - - - Eine Ethernet-Bridge kann Daten nicht nur im IP-Protokoll, - sondern auch in beliebigen anderen Protokollen versenden. - - - - IPv6 – Internet Protocol Version 6 + <acronym>IPv6</acronym> Aaron Kaplan Beigetragen von Tom Rhodes Überarbeitet und erweitert von Brad Davis Erweitert von - Bei IPv6 (auch als IPng oder - IP next generation - bekannt) handelt es sich um die neueste Version des bekannten - IP-Protokolls (das auch als IPv4 bezeichnet - wird). &os; enthält, genauso wie die anderen frei - erhältlichen BSD-Systeme, die IPv6-Referenzimplementation - von KAME. &os; erfüllt damit bereits - alle für die Nutzung von IPv6 nötigen Voraussetzungen. - Dieser Abschnitt konzentriert sich daher auf die Konfiguration - und den Betrieb von IPv6. + IPv6, auch bekannt als + IPng oder + IP next generation, ist die + neueste Version des bekannten IP-Protokolls, + das auch als IPv4 bezeichnet wird. &os; + enthält die IPv6-Referenzimplementation von KAME. &os; erfüllt + damit bereits alle für die Nutzung von IPv6 + nötigen Voraussetzungen. Dieser Abschnitt konzentriert sich + auf die Konfiguration und den Betrieb von + IPv6. Anfang der 90er Jahre wurde man auf den stark steigenden - Verbrauch von IPv4-Adressen aufmerksam. Im Hinblick auf das - Wachstums des Internets gab es zwei Hauptsorgen: + Verbrauch von IPv4-Adressen aufmerksam. + Im Hinblick auf das Wachstum des Internets gab es zwei + Hauptsorgen: - Die drohende Knappheit von IPv4-Adressen. Dieses Problem - konnte durch die Einführung von privaten - Adressräumen gemäß RFC1918 (mit Adressen wie + Die drohende Knappheit von + IPv4-Adressen. Dieses Problem konnte + durch die Einführung von privaten Adressräumen gemäß RFC1918 + (mit Adressen wie 10.0.0.0/8, 172.16.0.0/12, oder 192.168.0.0/16) sowie der Entwicklung von Network Address Translation (NAT) weitestgehend entschärft werden. Die immer größer werdenden Einträge in Router-Tabellen. Dieses Problem ist auch heute noch aktuell. - IPv6 ist in der Lage, diese, aber auch viele andere Probleme - zu lösen: + IPv6 ist in der Lage, diese, aber auch + viele andere Probleme zu lösen: - IPv6 hat einen 128 Bit großen Adressraum. Es sind - also theoretisch + IPv6 hat einen 128 Bit großen + Adressraum, der 340.282.366.920.938.463.463.374.607.431.768.211.456 Adressen - verfügbar. In anderen Worten: Für jeden + erlaubt. In anderen Worten: Für jeden Quadratmeter der Erdoberfläche sind etwa - 6,67 * 10^27 IPv6-Adressen verfügbar. + 6,67 * 10^27 IPv6-Adressen + verfügbar. - Router speichern nur noch Netzwerk-Aggregationsadressen in - Ihren Routingtabellen. Dadurch reduziert sich die + Router speichern nur noch Netzwerk-Aggregationsadressen + in ihren Routingtabellen. Dadurch reduziert sich die durchschnittliche Größe einer Routingtabelle auf 8192 Einträge. - Weitere nützliche Eigenschaften von IPv6 sind: + Weitere nützliche Eigenschaften von IPv6 + sind: Die automatische Konfiguration von Adressen, die im RFC2462 beschrieben wird. - Anycast-Adressen (eine-von-vielen) + Anycast-Adressen + (eine-von-vielen). - Verpflichtende Multicast-Adressen + Verpflichtende Multicast-Adressen. - Die Unterstützung von IPsec (IP-Security) + Die Unterstützung von IPsec + (IP-Security). - Eine vereinfachte Headerstruktur + Eine vereinfachte Headerstruktur. - Mobile IP-Adressen + Mobile IP-Adressen. - Die Umwandlung von IPv4- in IPv6-Adressen + Die Umwandlung von IPv4- in + IPv6-Adressen. Weitere Informationsquellen: KAME.net - Hintergrundinformationen zu IPv6-Adressen + Hintergrundinformationen zu + <acronym>IPv6</acronym>-Adressen - Es gibt verschiedene Arten von IPv6-Adressen: Unicast-, - Anycast- und Multicast-Adressen. + Es gibt verschiedene Arten von + IPv6-Adressen: Unicast-, Anycast- und + Multicast-Adressen. Unicast-Adressen sind die herkömmlichen Adressen. Ein Paket, das an eine Unicast-Adresse gesendet wird, kommt nur an der Schnittstelle an, die dieser Adresse zugeordnet ist. Anycast-Adressen unterscheiden sich in ihrer Syntax nicht von Unicast-Adressen, sie wählen allerdings aus mehreren Schnittstellen eine Schnittstelle aus. Ein für eine Anycast-Adresse bestimmtes Paket kommt an der nächstgelegenen (entsprechend der Router-Metrik) Schnittstelle an. Anycast-Adressen werden nur von Routern verwendet. Multicast-Adressen bestimmen Gruppen, denen mehrere Schnittstellen angehören. Ein Paket, das an eine Multicast-Adresse geschickt wird, kommt an allen Schnittstellen an, die zur Multicast-Gruppe gehören. - Die von IPv4 bekannte Broadcast-Adresse - (normalerweise - xxx.xxx.xxx.255) wird bei IPv6 + Die von IPv4 bekannte + Broadcast-Adresse (normalerweise + xxx.xxx.xxx.255) + wird bei IPv6 durch Multicast-Adressen verwirklicht. - Reservierte IPv6-Adressen + Reservierte <acronym>IPv6</acronym>-Adressen - IPv6-Adresse + IPv6-Adresse Präfixlänge Beschreibung Anmerkungen :: 128 Bit nicht festgelegt entspricht 0.0.0.0 - bei IPv4 + bei IPv4. ::1 128 Bit Loopback-Adresse entspricht 127.0.0.1 - bei IPv4 + bei IPv4. ::00:xx:xx:xx:xx 96 Bit - Eingebettete IPv4-Adresse - Die niedrigen 32 Bit entsprechen der IPv4-Adresse. - Wird auch als IPv4-kompatible IPv6-Adresse - bezeichnet. + Eingebettete + IPv4-Adresse + Die niedrigen 32 Bit sind die kompatiblen + IPv4-Adressen. ::ff:xx:xx:xx:xx 96 Bit - Eine auf IPv6 abgebildete IPv4-Adresse - Die niedrigen 32 Bit entsprechen der IPv4-Adresse. - Notwendig für Rechner, die IPv6 nicht - unterstützen. + Eine auf IPv6 abgebildete + IPv4-Adresse. + Die niedrigen 32 Bit sind + IPv4-Adressen für Hosts, die kein + IPv6 unterstützen. fe80:: - feb:: 10 Bit link-local - Entspricht der Loopback-Adresse bei IPv4 + Entspricht der Loopback-Adresse bei + IPv4. fec0:: - fef:: 10 Bit site-local   ff:: 8 Bit Multicast   001 (im Dualsystem) 3 Bit Globaler Unicast Alle globalen Unicastadressen stammen aus diesem Pool. Die ersten 3 Bit lauten 001.
- IPv6-Adressen verstehen + <acronym>IPv6</acronym>-Adressen verstehen - Die kanonische Form von IPv6-Adressen lautet - x:x:x:x:x:x:x:x, jedes - x steht dabei für einen - 16-Bit-Hexadezimalwert. Ein Beispiel für eine IPv6-Adresse - wäre etwa + Die kanonische Form von IPv6-Adressen + lautet x:x:x:x:x:x:x:x, wobei jedes + x für einen 16-Bit-Hexadezimalwert steht. Ein + Beispiel für eine IPv6-Adresse wäre etwa FEBC:A574:382B:23C1:AA49:4592:4EFE:9982. - Eine IPv6-Adresse enthält oft Teilzeichenfolgen aus lauter - Nullen. Eine solche Zeichenfolge kann zu :: - verkürzt werden. Bis zu drei führende Nullen eines - Hexquads können ebenfalls weggelassen werden. + Eine IPv6-Adresse enthält oft + Teilzeichenfolgen aus lauter Nullen. Eine solche Zeichenfolge + kann zu :: verkürzt werden. Bis zu drei + führende Nullen eines Hexquads können ebenfalls weggelassen werden. fe80::1 entspricht also der Adresse fe80:0000:0000:0000:0000:0000:0000:0001. Eine weitere Möglichkeit ist die Darstellung der - letzten 32 Bit in der bekannten (dezimalen) IPv4-Darstellung, - bei der Punkte (.) zur Trennung verwendet werden. + letzten 32 Bit in der bekannten (dezimalen) + IPv4-Darstellung, bei der Punkte + (.) zur Trennung verwendet werden. 2002::10.0.0.1 ist also nur eine andere Schreibweise für die (hexadezimale) kanonische Form 2002:0000:0000:0000:0000:0000:0a00:0001, die wiederum der Adresse 2002::a00:1 entspricht. - Sie sollten nun in der Lage sein, die folgende Ausgabe zu - verstehen: + Hier ist eine beispielhafte Ausgabe von + &man.ifconfig.8;: &prompt.root; ifconfig rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255 inet6 fe80::200:21ff:fe03:8e1%rl0 prefixlen 64 scopeid 0x1 ether 00:00:21:03:08:e1 media: Ethernet autoselect (100baseTX ) status: active Bei fe80::200:21ff:fe03:8e1%rl0 handelt es sich um eine automatisch konfigurierte link-local-Adresse. Sie wird im Rahmen der automatischen Konfiguration aus der - MAC-Adresse erzeugt. + MAC-Adresse erzeugt. - Weitere Informationen zum Aufbau von IPv6-Adressen finden + Weitere Informationen zum Aufbau von + IPv6-Adressen finden Sie im RFC3513. - Eine IPv6-Verbindung herstellen + Eine <acronym>IPv6</acronym>-Verbindung + herstellen Es gibt derzeit vier Möglichkeiten, sich mit anderen - IPv6-Rechnern oder Netzwerken zu verbinden: + IPv6-Rechnern oder Netzwerken zu + verbinden: - Fragen Sie Ihren Internetprovider, ob er IPv6 - bereits unterstützt. + Fragen Sie einen Internetprovider, ob er + IPv6 anbietet. SixXS - bietet weltweit IPv6-Tunnelverbindungen an. + bietet weltweit + IPv6-Tunnelverbindungen an. - Die Verwendung eines 6-nach-4-Tunnels - (RFC3068). + Die Verwendung eines 6to4-Tunnel, wie im + RFC3068 + beschrieben. Die Verwendung des Ports - /usr/ports/net/freenet6 bei der Einwahl - ins Internet. + /usr/ports/net/freenet6 + Einwahlverbindungen. - DNS in der IPv6-Welt + <acronym>DNS</acronym> in der + <acronym>IPv6</acronym>-Welt - Ursprünglich gab es zwei verschiedene DNS-Einträge - für IPv6. Da A6-Einträge von der IETF für - obsolet erklärt wurden, sind AAAA-Einträge nun - Standard. + Ursprünglich gab es zwei verschiedene + DNS-Einträge für IPv6. + Die IETF hat + AAAA-Einträge zum aktuellen Standard + erklärt. - Weisen Sie die erhaltene IPv6-Adresse Ihrem Rechnernamen zu, - indem Sie den Eintrag + Die Verwendung von AAAA-Einträgen ist + recht einfach. Weisen Sie die erhaltene + IPv6-Adresse dem Rechnernamen zu, indem Sie + den folgenden Eintrag in die primäre + DNS-Zonendatei einfügen: MYHOSTNAME AAAA MYIPv6ADDR - in Ihre primäre DNS-Zonendatei einfügen. Falls - Sie nicht für Ihre DNS-Zone - verantwortlich sind, bitten Sie den dafür - Zuständigen, diese Änderung durchzuführen. - Die aktuellen Versionen von bind - (Version 8.3 oder 9) sowie - dns/djbdns (bei Verwendung - des IPv6-Patches) unterstützen AAAA-Einträge. + Die aktuellen Versionen von + &man.named.8; und dns/djbdns + unterstützen AAAA-Einträge. <filename>/etc/rc.conf</filename> für die Nutzung von IPv6 anpassen - Einen Client unter IPv6 einrichten + Einen Client unter <acronym>IPv6</acronym> + einrichten Dieser Abschnitt beschreibt die Konfiguration eines - Rechners, der in Ihrem LAN als Client, aber nicht als Router - verwendet wird. Um die Schnittstelle während des - Systemstarts mit &man.rtsol.8; automatisch einzurichten, - fügen Sie folgende Zeile für + Rechners, der in dem LAN als Client, aber + nicht als Router verwendet wird. Um die Schnittstelle + während des Systemstarts mit &man.rtsol.8; automatisch + einzurichten, fügen Sie folgende Zeile für &os; 9.x (und neuer) in /etc/rc.conf ein: ipv6_prefer="YES" Für &os; 8.x (und älter) fügen Sie stattdessen folgende Zeile hinzu: ipv6_enable="YES" Unter &os; 9.x weisen - Sie druch die folgende Zeile Ihrer Schnittstelle - fxp0 die statische IP-Adresse + Sie durch die folgende Zeile der Schnittstelle + fxp0 die statische + IPv6-Adresse 2001:471:1f11:251:290:27ff:fee0:2093 zu: ifconfig_fxp0_ipv6="inet6 2001:471:1f11:251:290:27ff:fee0:2093 prefixlen 64" Achten Sie darauf, prefixlen - 64 auf den entsprechenden Wert für das Subnetz - zu ändern, mit dem der Computer vernetzt ist. + 64 auf den entsprechenden Wert für das + Subnetz zu ändern. Für &os; 8.x fügen Sie dagegen folgende Zeile hinzu: ipv6_ifconfig_fxp0="2001:471:1f11:251:290:27ff:fee0:2093" Um 2001:471:1f11:251::1 als Standardrouter festzulegen, fügen Sie folgende Zeile in /etc/rc.conf ein: ipv6_defaultrouter="2001:471:1f11:251::1" - Gateways und Router unter IPv6 einrichten + Gateways und Router unter <acronym>IPv6</acronym> + einrichten - Dieser Abschnitt beschreibt, wie Sie Ihren Rechner mit - Hilfe der von Ihrem Tunnel-Anbieter erhaltenen - Anweisungen dauerhaft für die Nutzung von IPv6 + Dieser Abschnitt beschreibt, wie Sie einen Rechner mit + Hilfe den von einem Tunnel-Anbieter erhaltenen + Anweisungen dauerhaft für die Nutzung von + IPv6 einrichten. Um den Tunnel beim Systemstart wiederherzustellen, passen Sie /etc/rc.conf wie folgt an: Listen Sie die einzurichtenden Tunnelschnittstellen - (hier gif0) auf: + auf. Dieses Beispiel konfiguriert die Schnittstelle + gif0: gif_interfaces="gif0" Um den lokalen Endpunkt MY_IPv4_ADDR über diese Schnittstelle mit dem entfernten Endpunkt REMOTE_IPv4_ADDR zu verbinden, verwenden Sie folgende Zeile: gifconfig_gif0="MY_IPv4_ADDR REMOTE_IPv4_ADDR" - Um die Ihnen zugewiesene IPv6-Adresse als Endpunkt Ihres - IPv6-Tunnels zu verwenden, fügen Sie folgende Zeile für + Um die zugewiesene IPv6-Adresse als + Endpunkt für den IPv6-Tunnel zu + verwenden, fügen Sie folgende Zeile für &os; 9.x (und neuer) ein: ifconfig_gif0_ipv6="inet6 MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR" Für &os; 8.x (und älter) fügen Sie folgende Zeile ein: ipv6_ifconfig_gif0=" MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR" - Nun müssen Sie nur noch die IPv6-Standardroute - angeben. Diese legt das andere Ende des IPv6-Tunnels - fest. + Nun müssen Sie die IPv6-Standardroute + angeben. Diese legt das andere Ende des + IPv6-Tunnels fest: ipv6_defaultrouter="MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR" - Einen IPv6-Tunnel einrichten + Einen <acronym>IPv6</acronym>-Tunnel einrichten - Wenn Ihr Server IPv6-Verkehr zwischen Ihrem Netzwerk und - der Außenwelt routen muss, benötigen Sie - zusätzlich die folgenden Zeilen in Ihrer + Wenn der Server IPv6-Verkehr zwischen + dem Netzwerk und der Außenwelt routen muss, benötigen Sie + zusätzlich die folgenden Zeilen in /etc/rc.conf: ipv6_gateway_enable="YES" Bekanntmachung von Routen und automatische Rechnerkonfiguration Dieser Abschnitt beschreibt die Einrichtung von &man.rtadvd.8;, das Sie bei der Bekanntmachung der - IPv6-Standardroute unterstützt. + IPv6-Standardroute unterstützt. Um &man.rtadvd.8; zu aktivieren, fügen Sie folgende Zeile in /etc/rc.conf ein: rtadvd_enable="YES" Es ist wichtig, die Schnittstelle anzugeben, über die - IPv6-Routen bekanntgemacht werden sollen. Soll &man.rtadvd.8; - fxp0 verwenden, ist folgender Eintrag - nötig: + IPv6-Routen bekanntgemacht werden sollen. + Soll &man.rtadvd.8; fxp0 verwenden, ist + folgender Eintrag nötig: rtadvd_interfaces="fxp0" Danach erzeugen Sie die Konfigurationsdatei - /etc/rtadvd.conf. Dazu ein Beispiel: + /etc/rtadvd.conf. Dazu ein + Beispiel: fxp0:\ :addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether: Ersetzen Sie dabei fxp0 durch die - zu verwendende Schnittstelle. + zu verwendende Schnittstelle, und + 2001:471:1f11:246:: durch das + entsprechend zugewiesene Präfix. - Anschließend ersetzen Sie - 2001:471:1f11:246:: durch das - Präfix der Ihnen zugewiesenen Verbindung. + Bei einem /64-Subnetz müssen keine + weiteren Anpassungen vorgenommen werden. Anderenfalls muss + prefixlen# auf den korrekten Wert + gesetzt werden. + - Wenn Sie eine /64-Netzmaske - verwenden, müssen Sie keine weiteren Anpassungen vornehmen. - Anderenfalls müssen Sie prefixlen# - auf den korrekten Wert setzen. + + <acronym>IPv6</acronym> und Abbildung von + <acronym>IPv6</acronym>-Adressen + + Wenn IPv6 auf einem Server aktiviert + ist, kann es für die Kommunikation erforderlich sein, + IPv4-Adressen auf + IPv6-Adressen abzubilden. Diese + Kompatibilität erlaubt es, das + IPv4-Adressen als + IPv6-Adressen dargestellt werden. Die + Kommunikation von IPv6-Anwendungen mit + IPv4 und umgekehrt kann jedoch ein + Sicherheitsrisiko darstellen. + + Diese Option dient nur der Kompatibilität und wird in + den meisten Fällen nicht erforderlich sein. Die Option + ermöglicht es IPv6-Anwendungen zusammen + mit IPv4 in einer Dual-Stack-Umgebung + zu funktionieren. Dies ist besonders nützlich für + Anwendungen von Drittanbietern, die evtl. keine + IPv6-Umgebungen unterstützen. Um diese + Funktion zu aktivieren, fügen Sie folgendes in + /etc/rc.conf hinzu: + + ipv6_ip4mapping="YES" + + Für einige Administratoren können die Informationen im + RFC 3493 (Sektion 3.6 und 3.7) und + RFC 4038 (Sektion 4.2) hilreich + sein.
- CARP - Common Address Redundancy Protocol + + Common Address Redundancy Protocol + (<acronym>CARP</acronym>) Tom Rhodes Beigetragen von Allan Jude Aktualisiert von - CARP + CARP - Common Address Redundancy Protocol (CARP) + Common Address Redundancy Protocol Das Common Address Redundancy Protocol (CARP) erlaubt es, mehreren Rechnern die gleiche IP-Adresse zuzuweisen und Hochverfügbarkeit bereitzustellen. Das bedeutet, dass ein oder mehrere Rechner ausfallen können und die anderen Rechner transparent einspringen, ohne das der Benutzer etwas von einem Ausfall mitbekommt. Neben der gemeinsamen IP-Adresse, haben die jeweiligen Rechner auch eine eindeutige IP-Adresse zur Verwaltung und Konfiguration, wie in den folgenden Beispielen zu sehen ist. Hochverfügbarkeit mit <acronym>CARP</acronym> CARP wird häufig verwendet, um einen oder mehrere Dienste hochverfügbar zu machen. Dieses Beispiel konfiguriert eine Failover-Unterstützung mit drei Servern (mit jeweils eigener, eindeutiger IP-Adresse), die alle den gleichen Web-Inhalt anbieten. Die Lastverteilung dieser Maschinen wird dabei über Round Robin DNS konfiguriert. Mit Ausnahme des Hostnamens und der IP-Management-Adresse sind Master- und Backup-Maschinen identisch konfiguriert. Die Server müssen die gleiche Konfiguration und die gleichen Dienste aktiviert haben. Tritt ein Failover auf, können Anfragen an den Dienst mit der gemeinsam genutzten IP-Adresse nur dann richtig beantwortet werden, wenn der Backup-Server Zugriff auf denselben Inhalt hat. Die Backup-Maschine verfügt über zwei zusätzliche CARP-Schnittstellen, eine für jede IP-Adresse des Master-Content-Servers. Sobald ein Fehler auftritt, übernimmt der Backup-Server die IP-Adresse des ausgefallenen Master-Servers. Die Benutzer werden einen Dienstausfall überhaupt nicht bemerken. Dieses Beispiel benutzt zwei verschiedene Master namens hosta.example.org und hostb.example.org mit einem gemeinsamen Backup namens hostc.example.org. Jede virtuelle IP-Adresse hat eine eindeutige Identifikationsnummer, die als Virtual Host Identification (VHID) bekannt ist. Alle Maschinen, die sich eine IP-Adresse teilen, verwenden die gleiche VHID. Die VHID für jede einzelne IP-Adresse muss, entsprechend der Broadcast-Domäne der Netzwerkschnittstelle, eindeutig sein. <acronym>CARP</acronym> mit &os; 10 (und neuer) benutzen Unterstützung für CARP erhalten Sie durch das Laden des Kernelmoduls carp.ko in /boot/loader.conf: carp_load="YES" Das CARP-Modul kann auch, wie in beschrieben, direkt in den &os; Kernel eingebunden werden: device carp Hostname, IP-Management-Adresse, Subnetzmaske, gemeinsame IP-Adresse und VHID werden durch das Hinzufügen in /etc/rc.conf gesetzt. Dieses Beispiel ist für hosta.example.org: hostname="hosta.example.org" ifconfig_em0="inet 192.168.1.3 netmask 255.255.255.0" ifconfig_em0_alias0="vhid 1 pass testpass alias 192.168.1.50/32" Beispiel für hostb.example.org: hostname="hostb.example.org" ifconfig_em0="inet 192.168.1.4 netmask 255.255.255.0" ifconfig_em0_alias0="vhid 2 pass testpass alias 192.168.1.51/32" Achten Sie unbedingt darauf, dass die durch die Option an &man.ifconfig.8; übergebenen Passwörter auf beiden Systemen identisch sind, da carp-Geräte nur mit Systemen kommunizieren können, die über ein korrektes Passwort verfügen. Die dritte Maschine, hostc.example.org ist so konfiguriert, das sie aktiviert wird, wenn eines der beiden zuvor konfigurierten Systeme ausfällt. Diese Maschine ist mit zwei CARP VHIDs konfiguriert, eine für jede virtuelle IP-Adresse der beiden Master-Server. Die Option (CARP advertising skew) wird gesetzt, um sicherzustellen, dass sich der Backup-Server später ankündigt wie der Master-Server. steuert die Rangfolge für den Fall das mehrere Backup-Server zur Verfügung stehen. Passen Sie die Konfiguration in /etc/rc.conf an: hostname="hostc.example.org" ifconfig_em0="inet 192.168.1.5 netmask 255.255.255.0" ifconfig_em0_alias0="vhid 1 advskew 100 pass testpass alias 192.168.1.50/32" ifconfig_em1_alias0="vhid 2 advskew 100 pass testpass alias 192.168.1.51/32" Durch die zwei konfigurierten CARP VHIDs ist hostc.example.org in der Lage festzustellen, wenn einer der Master-Server nicht mehr reagiert. Wenn der Master-Server sich später ankündigt als der Backup-Server, übernimmt der Backup-Server die gemeinsame IP-Adresse, bis der Master-Server erneut verfügbar ist. Preemption ist standardmäßig deaktiviert. Wird Preemption aktiviert, kann es vorkommen, dass hostc.example.org die virtuelle IP-Adresse nicht wieder an den Master-Server zurückgibt. Der Administrator kann jedoch den Backup-Server dazu zwingen, die übernommene IP-Adresse wieder an den Master-Server zurückzugeben: &prompt.root; ifconfig em0 vhid 1 state backup An dieser Stelle muss entweder das Netzwerk neu gestartet, oder die Maschine neu gebootet werden, um CARP zu aktivieren. Die Funktionalität von CARP kann, wie in der Manualpage &man.carp.4; beschrieben, über verschiedene &man.sysctl.8; Parameter kontrolliert werden. Mit dem Einsatz von &man.devd.8; können weitere Aktionen zu CARP-Ereignissen ausgelöst werden. <acronym>CARP</acronym> mit &os; 9 (und älter) benutzen Unterstützung für CARP erhalten Sie durch das Laden des Kernelmoduls carp.ko in /boot/loader.conf: if_carp_load="YES" CARP kann auch direkt in den Kernel eingebunden werden. Diese Prozedur wird in beschrieben: device carp Die CARP-Schnittstellen selbst können mittels &man.ifconfig.8; erstellt werden: &prompt.root; ifconfig carp0 create Konfigurieren Sie Hostnamen, IP-Management-Adresse, die gemeinsam genutzte IP-Adresse und die VHID, indem Sie die erforderlichen Zeilen in /etc/rc.conf hinzufügen. Hierzu ein Beispiel für hosta.example.org: hostname="hosta.example.org" ifconfig_fxp0="inet 192.168.1.3 netmask 255.255.255.0" cloned_interfaces="carp0" ifconfig_carp0="vhid 1 pass testpass 192.168.1.50/24" Beispiel für hostb.example.org: hostname="hostb.example.org" ifconfig_fxp0="inet 192.168.1.4 netmask 255.255.255.0" cloned_interfaces="carp0" ifconfig_carp0="vhid 2 pass testpass 192.168.1.51/24" Preemption ist im GENERIC &os; Kernel deaktiviert. Haben Sie jedoch Preemption in einem angepassten Kernel aktiviert, dass hostc.example.org die virtuelle IP-Adresse nicht wieder an den Master-Server zurückgibt. Der Administrator kann jedoch den Backup-Server dazu zwingen, die übernommene IP-Adresse wieder an den Master-Server zurückzugeben: &prompt.root; ifconfig carp0 down && ifconfig carp0 up Dieser Befehl muss auf dem carp-Gerät ausgeführt werden, dass dem betroffenen System zugeordnet ist. An dieser Stelle muss entweder das Netzwerk neu gestartet, oder die Maschine neu gebootet werden, um CARP zu aktivieren. Die Funktionalität von CARP kann, wie in der Manualpage &man.carp.4; beschrieben, über verschiedene &man.sysctl.8; Parameter kontrolliert werden. Mit dem Einsatz von &man.devd.8; können weitere Aktionen zu CARP-Ereignissen ausgelöst werden.