diff --git a/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml b/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml
index d78239ff96..b4fa81f952 100644
--- a/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml
+++ b/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml
@@ -1,7193 +1,7193 @@
Weiterführende NetzwerkthemenJohannKoisÜbersetzt von ÜbersichtDieses Kapitel beschreibt verschiedene
weiterführende Netzwerkthemen.Nachdem Sie dieses Kapitel gelesen haben, werden SieDie 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.Einen plattenlosen Rechner über das Netzwerk starten
können.Wissen, wie man mithilfe von PXE über ein Netzwerk
bootet und ein NFS-Root-Dateisystem einrichtet.Wissen, wie man NAT (Network Address Translation)
einrichtet.Zwei Computer über PLIP verbinden können.IPv6 auf einem &os;-Rechner einrichten
können.CARP, das Common Address Redundancy Protocol, unter
&os; einsetzen können.Bevor Sie dieses Kapitel lesen, sollten SieDie 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 ().Gateways und RoutenCoranthGryphonBeigetragen von RoutingGatewaySubnetzDamit 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
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).
Ein BeispielUm die verschiedenen Aspekte des Routings zu
veranschaulichen, verwenden wir folgende Ausgaben von
netstat:&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
DefaultrouteDie ersten zwei Zeilen geben die Standardroute (die wir
im nächsten
Abschnitt behandeln), sowie die
localhost Route an.Loopback-GerätDas 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.EthernetMAC-AdresseDer 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.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
link#1 bezieht sich auf die erste
Ethernet-Karte im Rechner. Sie können auch feststellen,
dass keine zusätzlichen Schnittstellen angegeben
sind.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.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),
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 letzte Zeile (Zielsubnetz 224)
behandelt das Multicasting, das wir in einem anderen Abschnitt
besprechen werden.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:UUp: Die Route ist aktiv.HHost: Das Ziel der Route ist ein einzelner
Rechner (Host).GGateway: Alle Daten, die an dieses Ziel gesendet
werden, werden von diesem System an ihr jeweiliges
Ziel weitergeleitet.SStatic: Diese Route wurde manuell konfiguriert,
das heißt sie wurde nicht
automatisch vom System erzeugt.CClone: 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.WWasCloned: Eine Route, die automatisch
konfiguriert wurde. Sie basiert auf einer lokalen
Netzwerkroute (Clone).LLink: Die Route beinhaltet einen Verweis auf eine
Ethernetkarte (MAC-Adresse).StandardroutenDefaultrouteStandardrouteDefaultrouteWenn 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.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).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.Sehen wir uns ein Beispiel für Standardrouten an. So
sieht eine übliche Konfiguration aus:
[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.Die Standardrouten für Ihre Maschinen lauten:HostStandard GatewaySchnittstelleLocal2Local1EthernetLocal1T1-GWPPPEine 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?.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.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:Rechner (Host)StandardrouteLocal2 (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:defaultrouter="10.20.30.1"Die Standardroute kann über &man.route.8; auch direkt
gesetzt werden:&prompt.root; route add default 10.20.30.1Weitere Informationen zum Bearbeiten von
Netzwerkroutingtabellen finden Sie in &man.route.8;.Rechner mit zwei HeimatnetzenDual-Homed-HostsEs 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.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
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.
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.Einen Router konfigurierenRouterEin Netzwerkrouter ist einfach 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:gateway_enable="YES" # Auf YES setzen, wenn der Rechner als Gateway arbeiten sollDiese 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.BGPRIPOSPFIhr 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.Statische Routen einrichtenAlHoangBeigetragen von Manuelle KonfigurationNehmen 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.Sieht man sich die Routingtabelle für
RouterA an, erhält man folgende Ausgabe:
&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 xl1Mit 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
RouterA aufgenommen, indem
192.168.1.2 als nächster
Zwischenschritt verwenden wird:&prompt.root; route add -net 192.168.2.0/24 192.168.1.2Ab sofort kann RouterA alle Rechner des
Netzwerks 192.168.2.0/24
erreichen.Routen dauerhaft einrichtenDas 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:# 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_routesinternalnet2 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:&prompt.root; route add -net 192.168.2.0/24 192.168.1.2Daher wird
"-net 192.168.2.0/24 192.168.1.2" als
Parameter der Variable route_ angegeben.
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-Informationenrouting propagationWir haben bereits darüber gesprochen, wie wir unsere
Routen zur Außenwelt definieren, aber nicht darüber,
wie die Außenwelt uns finden kann.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.
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.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
Bekanntmachung von Routen
(routing propagation)
bezeichnet.ProblembehebungtracerouteManchmal 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;).&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).Weitere Informationen finden Sie in
&man.traceroute.8;.Multicast-RoutingMulticast-RoutingKerneloptionenMROUTING&os; unterstützt sowohl Multicast-Anwendungen als
auch Multicast-Routing. Multicast-Anwendungen müssen
nicht konfiguriert werden, sie laufen einfach.
Multicast-Routing muss in der Kernelkonfiguration aktiviert
werden:options MROUTINGZusä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
&man.mrouted.8;.&man.mrouted.8;, der Multicast Routing Daemon,
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.Drahtlose NetzwerkeLoaderMarcFonvieilleMurrayStokelyNetzwerke, drahtlos802.11drahtlose NetzwerkeGrundlagenDie 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.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
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.
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)
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
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,
der von einem Industriekonsortium als Zwischenlösung bis
zur endgültigen Verabschiedung von 802.11i entwickelt
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.)Neben den weiter oben erwähnten Standards ist auch
der Standard 802.11e von großer Bedeutung. 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
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.BasiskonfigurationKernelkonfigurationUm ein drahtloses Netzwerk zu nutzen, benötigen
Sie eine drahtlose Netzwerkkarte und einen Kernel, der
drahtlose Netzwerke unterstützt. Der &os;-Kernel
unterstützt den Einsatz von Kernelmodulen. Daher
müssen Sie nur die Unterstützung für die
von Ihnen verwendeten Geräte aktivieren.Als Erstes benötigen Sie ein drahtloses Gerät.
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: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, beispielsweiseif_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
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.Unter &os; 7.X benötigen Sie zusätlich
zum korrekten Treiber auch die Unterstützung
für 802.11-Netzwerke. Für
den &man.ath.4;-Treiber werden dazu mindestens die
Module &man.wlan.4;, wlan_scan_ap
sowie wlan_scan_sta benötigt.
Das &man.wlan.4;-Kernelmodul wird automatisch mit dem
Treiber des drahtlosen Geräts geladen, die beiden
anderen Module werden jeweils durch einen Eintrag in der
Datei /boot/loader.conf beim Systemstart
geladen:wlan_scan_ap_load="YES"
wlan_scan_sta_load="YES"Ab &os; 8.0 sind diese Module Teil des
&man.wlan.4;-Treibers und werden bei Bedarf automatisch
geladen.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
Module beim Systemstart zu laden, fügen Sie folgende
Zeilen in die Datei /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.Wollen Sie keine Kernelmodule verwenden, können
Sie die benötigten Treiber auch in Ihren Kernel
kompilieren. Daz nehmen Sie folgende Zeilen in Ihre
Kernelkonfigurationsdatei auf: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 athVerwenden Sie &os; 7.X, müssen Sie auch die beiden
Module wlan_scan_ap und
wlan_scan_sta in den Kernel aufnehmen (unter
&os; 8.X ist dies hingegen nicht mehr notwendig):device wlan_scan_ap # 802.11 AP mode scanning
device wlan_scan_sta # 802.11 STA mode scanningDanach bauen Sie den neuen Kernel und starten Ihr
&os;-System neu.Während des Systemstarts sollten nun einige
Informationen ähnlich den folgenden über das von
Ihnen verwendete drahtlose Gerät ausgegeben
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.5Infrastruktur-ModusDrahtlose Netzwerke werden in der Regel im
Infrastruktur-Modus (auch BSS-Modus genannt) 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
eines drahtlosen Netzwerks verbinden sich in diesem Modus
mit einem Access Point.&os;-ClientsEinen Access Point findenUm nach drahtlosen Netzwerken zu suchen verwenden Sie
ifconfig. Dieser Scanvorgang kann einige
Zei 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:&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 WPAIhre Netzwerkkarte muss in den Status
versetzt werden, bevor Sie den ersten
Scanvorgang starten können. Für spätere
Scans ist dies aber nicht mehr erforderlich.Unter &os; 7.X wird der Gerätetreiber,
beispielsweise
ath0,
direkt verwendet, anstatt auf das allgemeine Gerät
wlan0
zuzugreifen. Verwenden Sie also &os; 7.X, müssen
Sie die beiden Befehle im vorigen Beispiel durch den
folgenden Befehl ersetzen:&prompt.root; ifconfig ath0 up scanDies gilt auch für alle weiteren Ausführungen
in diesem Kapitel. Unter &os; 7.X müssen analog
alle Befehle und Konfigurationsdateien/Zeilen entsprechend
angepasst werden.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:EExtended Service Set (ESS). Zeigt an, dass die
Station Teil eines Infrastruktur-Netzwerks ist (und
nicht eines IBSS/Ad-hoc-Netzwerks).IIBSS/Ad-hoc-Netzwerk. Die Station ist Teil eines
Ad-hoc-Netzwerks (und nicht eines
ESS-Netzwerks).PPrivacy. Alle Datenframes, die innerhalb des
BSS ausgetauscht werden, sind verschlüsselt.
Dieses BSS verwendet dazu kryptografische Verfahren
wie WEP, TKIP oder AES-CCMP.SShort 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
zu einer langen Präambel, die ein
128 Bit langes Sync-Feld verwendet).sShort 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 scanDiese Liste kann entweder automatisch durch das
drahtlose Gerät oder manuell durch eine
-Aufforderung aktualisiert werden.
Veraltete Informationen werden dabei automatisch
entfernt.BasiseinstellungenDieser Abschnitt beschreibt, wie Sie ein einfaches
drahtloses Netzerk ohne Verschlüsselung unter &os;
einrichten. Nachdem Sie sich mit den Informationen dieses
Abschnitts vertraut gemacht haben, sollten Sie Ihr
drahtloses 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.Einen Access Point auswählenIm Normalfall wird sich Ihre 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:wlans_ath0="wlan0"
ifconfig_wlan0="DHCP"Wie bereits erwähnt, benötigen Sie unter
&os; 7.X anstelle dieser beiden Zeilen nur eine
Zeile (mit dem entsprechenden Gerätetreiber):ifconfig_ath0="DHCP"Wollen Sie sich hingegen mit einem bestimmten
Access Point verbinden, müssen Sie dessen
SSID angeben: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):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
arbeiten kann, da in diesem Fall das Prüfen aller
Frequenzen sehr zeitintensiv ist. 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
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
soll. Die Option erlaubt
die Angabe mehrerer erlaubter Frequenzen. Eine
umfassende Beschreibung dieser Optionen finden Sie in
der Manualpage &man.ifconfig.8;.AuthentifizierungWenn Sie einen Access Point gefunden haben, muss
sich Ihrem Station am Access Point anmelden, bevor
Sie Daten übertragen kann. Dazu gibt es
verschiedene Möglichkeiten. Am häufigsten
wird nach wie vor 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
Ü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.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
/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: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.Eine IP-Adresse über DHCP beziehenNachdem 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:wlans_ath0="wlan0"
ifconfig_wlan0="DHCP"Nun können Sie Ihr drahtloses Gerät
starten:&prompt.root; /etc/rc.d/netif startNachdem Sie das Gerät aktiviert haben,
können Sie mit ifconfig den
Status des Geräts ath0
abfragen:&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 burststatus: 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.Statische IP-AdressenAlternativ 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
Konfigurationsparameter nicht versehentlich
verändern:wlans_ath0="wlan0"
ifconfig_wlan0="inet 192.168.1.100 netmask 255.255.255.0 ssid your_ssid_here"WPABei 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
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
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
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.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;.WPA-PSKWPA-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.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.Der erste Schritt zum Einsatz von WPA-PSK ist die
Konfiguration der SSID und des gemeinsamen Schlüssels
Ihres Netzwerks in der Datei
/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:wlans_ath0="wlan0"
ifconfig_wlan0="WPA DHCP"Nun können Sie Ihr Netzgerät aktivieren:&prompt.root; /etc/rc.d/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 MANUALAlternativ können Sie die Konfiguration von
WPA-PSK
auch manuell durchführen, wobei Sie wiederum die
Konfigurationsdatei
/etc/wpa_supplicant.conf
verwenden:&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:&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 MANUALEnthä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.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:&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 MANUALVerwenden Sie DHCP nicht, müssen Sie
zusätzlich noch das Standard-Gateway sowie
den/die Nameserver manuell festlegen:&prompt.root; route add default your_default_router
&prompt.root; echo "nameserver your_DNS_server" >> /etc/resolv.confWPA und EAP-TLSDie 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).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.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.
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.Die Konfiguration erfolgt (analog zu WPA-PSK)
über die Datei
/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).Das RSN/WPA2-Protokoll (&ieee; 802.11i) 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).Die für die Verbindung verwendete
EAP-Methode.Das identity-Feld enthält
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.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
über das rc.d-System
aktivieren:&prompt.root; /etc/rc.d/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 MANUALAlternativ können Sie Ihr drahtloses Gerält
wiederum manuell über
wpa_supplicant und
ifconfig aktivieren.WPA und EAP-TTLSBei 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 client-seitiges 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: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.Das identity-Feld enthält
den Identifizierungsstring für die
EAP-Authentifizierung innerhalb des
verschlüsselten TlS-Tunnels.Das password-Feld enthält
die Passphrase für die
EAP-Authentifizierung.Das Feld ca_cert gibt den
Pfad zum CA-Zertifikat an, das benötigt wird,
um das Server-Zertifikat zu verifizieren.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.Folgende Zeilen müssen zusätzlich in die Datei
/etc/rc.conf aufgenommen werden:wlans_ath0="wlan0"
ifconfig_wlan0="WPA DHCP"Nun können Sie Ihr drahtloses Gerät
aktivieren:&prompt.root; /etc/rc.d/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 MANUALWPA und EAP-PEAPPEAP (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.PEAP arbeitet ähnlich wie EAP-TTLS: Es
verwendet ein server-seitiges 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.Um EAP-PEAP einzurichten, müssen Sie die
Konfigurationsdatei
/etc/wpa_supplicant.conf
anpassen: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.Das identity-Feld enthält
den Identifizierungsstring für die innerhalb
des verschlüsselten TLS-Tunnels erfolgende
EAP-Authentifizierung.Das Feld password enthält
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.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;.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:&prompt.root; /etc/rc.d/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 MANUALWEPWEP (Wired Equivalent Privacy) 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
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.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.In Ihrer Konfiguration müssen Sie
0x3456789012 durch den an
Ihrem Access Point konfigurierten Schlüssel
ersetzen.Weitere Informationen finden Sie in der Manualpage
&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
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:76Ad-hoc-ModusDer 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.Auf dem Rechner A geben Sie Folgendes
ein:&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 burstDer adhoc-Parameter gibt an, dass die
Schnittstelle im IBSS-Modus läuft.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 WMEDer 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:&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 burstDamit 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.GrundeinstellungenBevor 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:
.Die Verwendung der NDIS und &windows; Treiber erlauben
zur Zeit keinen AP-Modus. Nur die nativen
&os;-Wireless-Treiber unterstüten 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:&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
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.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 destroyDanach 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 1Benutzen Sie danach erneut den Befehl
ifconfig, 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 -dfsDie 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üsselungObwohl 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.
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:&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 WMEDer Client-Rechner fand den Access Point und kann mit ihm
verbunden werden:&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 burstWPA-basierender Host-Access PointDieser 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
.Der hostapd-Dienst wird genutzt,
um die Client-Authentifizierung und das Schlüsselmanagement
auf dem Access Point 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
aktiviert werden:hostapd_enable="YES"Bevor Sie versuchen hostapd
zu konfigurieren, stellen Sie sicher, dass die
Grundeinstellungen, wie in
beschrieben,
ausgeführt wurden.WPA-PSKWPA-PSK ist für kleine Netzwerke gedacht, in denen die
Verwendung eines Authentifizierungs-Backend-Server nicht
möglich oder 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
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
die Kommunikation mit externen Programmen,
wie z.B. &man.hostapd.cli.8;, benutzt werden.
Hier wurden die Standardwerte benutzt.Die Zeile ctrl_interface_group
legt fest, welche Gruppe (hier ist es die
wheel-Gruppe) die Erlaubnis hat,
die Schnittstellendateien zu kontrollieren.Dieses Feld setzt den Netzwerknamen.Das wpa-Feld aktiviert WPA und
gibt an welches WPA-Authentifizierungprotokoll
benötigt wird. Ein Wert von 1
konfiguriert den AP mit WPA-PSK.Das wpa_passphrase-Feld
beinhaltet das ASCII-Passwort für die
WPA-Authentifikation.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.Die wpa_key_mgmt Zeile bestimmt
das Schlüsselmanagement-Protokoll, das benutzt wird.
In unserem Fall ist es 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.Als nächstes wird der
hostapd gestartet:&prompt.root; /etc/rc.d/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 100Der 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.WEP hostbasierender Access PointEs 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.Das Wireless-Gerät kann nun in den hostap-Modus
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 11gDer 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 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.Benutzen Sie den Befehl ifconfig
noch einmal um den Status der
wlan0-Schnittstelle zu sehen:&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 -dfsEs ist 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 BSSID CHAN RATE S:N INT CAPS
freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 100 EPSDer 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 Benutzung von drahtgebundenen und drahtlosen
VerbindungenEine 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.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.ProblembehandlungDie folgenden Auflistung zeigt, wie Sie einige
häufig auftretende Probleme bei der Einrichtung
Ihres drahtlosen Netzwerks beheben können.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.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.Nachdem Sie sich mit dem Access Point verbinden
können, prüfen Sie die Sicherheitseinstellungen,
beginnend 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.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
(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
daher in diesen Statistiken nicht enthalten sind. Wie
Sie Probleme des Gerätetreibers identifizieren,
entnehmen Sie bitte der Dokumentation Ihres
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.USB TetheringtetherViele 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 cdceSobald 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.BluetoothPavLucistnikBeigetragen von pav@FreeBSD.orgBluetoothÜbersichtBluetooth 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
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.Die Bluetooth-Unterstützung aktivierenBluetooth-Unterstützung ist in der Regel als
Kernelmodul verfügbar. Damit ein Gerät funktioniert,
muss der entsprechende Treiber im Kernel geladen werden:&prompt.root; kldload ng_ubtIst 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: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=294Zum Starten und Beenden des Bluetooth-Stacks verwenden Sie
das Skript /etc/rc.d/bluetooth. 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
Bluetooth-Stack starten, erhalten Sie eine Meldung ähnlich
der folgenden:&prompt.root; /etc/rc.d/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: 8Das Host Controller Interface (HCI)HCIDas 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.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.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
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
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 T39Wenn Sie ein entferntes Bluetooth-Gerät abfragen, wird
dieses Ihren 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
folgende Beispiel zeigt, wie man die aktiven
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 OPENEin 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.Das Logical Link Control and Adaptation Protocol (L2CAP)L2CAPDas Logical Link Control and Adaptation
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 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
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.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:&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=0Das 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:&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
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 OPENDas RFCOMM-ProtokollRFCOMMDas 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äe) 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.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
Module, die drahtlose Bluetooth-Geräte mit einer
verkabelten Schnittstelle verbinden können.Unter &os; wurde das RFCOMM-Protokoll im Bluetooth Socket-Layer
implementiert.Erstmaliger Verbindungsaufbau zwischen zwei
Bluetooth-Geräten (Pairing)
PairingIn 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
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,
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
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: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
&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.hcsecd 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: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:a4Das Service Discovery Protocol (SDP)SDPDas 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 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
durchzuführen. Diesen Vorgang bezeichnet man als
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:&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
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:&prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec search OPUSHUnter &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:sdpd_enable="YES"Nun kann der sdpd-Daemon durch
folgene Eingabe gestartet werden:&prompt.root; /etc/rc.d/sdpd startDer 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.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 browseEinwahlverbindungen (Dial-Up Networking (DUN)) oder
Netzwerkverbindungen mit PPP (LAN)-Profilen einrichtenDas
Dial-Up Networking (DUN)-Profil
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 Computers, um auf Datenabfragen zu
reagieren.Der Zugriff auf ein Netzwerk über das PPP (LAN)-Profil
kann in folgenden Situationen verwendet werden:Den LAN-Zugriff für ein einzelnes
Bluetooth-GerätDen LAN-Zugriff für mehrere
Bluetooth-GeräteEine PC-zu-PC-Verbindung (unter Verwendung
einer PPP-Verbindung über eine emulierte serielle
Verbindung)Beide 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.
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.&prompt.root; rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialupDer &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
/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.&prompt.root; rfcomm_pppd -s -C 7 -l rfcomm-serverDas Profil OBEX-Push (OPUSH)OBEXOBEX 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.Server und Client von OBEX werden durch das Softwarepaket
obexapp bereitgestellt, das als 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
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:&prompt.root; obexapp -s -C 10Das Profil Serial-Port (SPP)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 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.&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 ttyp6ProblembehandlungEin entferntes Gerät kann keine Verbindung
aufbauenEinige ä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:&prompt.root; hccontrol -n ubt0hci write_node_role_switch 0Wo finde ich genaue Informationen darüber, was
schiefgelaufen ist?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).LAN-Kopplung mit einer BridgeAndrewThompsonGeschrieben von EinführungSubnetzBridgeManchmal 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
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.In vielerlei Hinsicht entspricht eine Bridge daher einem
Ethernet-Switch mit sehr wenigen Ports.Situationen, in denen Bridging
angebracht istEs gibt zahlreiche Situationen, in denen der Einsatz
einer Bridge sinnvoll ist:Verbinden von NetzwerkenDie 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
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 FirewallFirewallNATHäufig kommt es vor, dass Firewallfunktionen
benötigt werden, ohne dass Routing oder
Network Adress Translation
(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.RouterDSLISDNEine 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.NetzwerküberwachungEine 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).Layer 2-VPNZwei 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.Layer 2-RedundanzDie 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
aktiv versetzt, damit alle Systeme des
Netzwerks wieder miteinander kommunizieren können.KernelkonfigurationDieser 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.Bei diesem Treiber handelt es sich 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.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 aktivierenEine 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.&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 0Im 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
er zuletzt verwendet wurde. Die restlichen Parameter sind
für die Konfiguration von Spanning Tree 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:&prompt.root; ifconfig bridge0 addm fxp0 addm fxp1 up
&prompt.root; ifconfig fxp0 up
&prompt.root; ifconfig fxp1 upDanach 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: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:&prompt.root; ifconfig bridge0 inet 192.168.0.1/24Sie können der Bridge-Schnittstelle auch eine
IPv6-Adresse zuweisen.FirewallsfirewallNachdem 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.Spanning TreeDer 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.&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
Bridge, die die Schnittstellen fxp0 und
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 forwardingDiese 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.Auf einer anderen Bridge des Netzwerks ist Spanning Tree
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 forwardingDie 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
400000, wobei der Pfad zur Root-Bridge
über Port 4 geht (der wiederum
der Schnittstelle fxp0
entspricht).Fortgeschrittene FunktionenDen Datenfluss rekonstruierenDie 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 bridge0Span PortsEine Kopie jedes Ethernet-Rahmens, der an der Bridge
ankommt, wird über einen festgelegten
Span Port verschickt.
Auf einer Bridge können
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
ist.Um eine Kopie aller Ethernet-Rahmen über die
Schnittstelle fxp4 zu verschicken,
geben Sie Folgendes ein:&prompt.root; ifconfig bridge0 span fxp4Private SchnittstellenEine 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.Schnittstellen als sticky
kennzeichnenWenn 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
in der Lage ist, einzelne Kundennetzwerke voneinander zu
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/24Beide 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.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 vlan101Die Kunden sind nun komplett voneinander isoliert und
der komplette /24-Adressbereich
kann zugewiesen werden, ohne dass Sie Subnetze einsetzen
müssen.Adressen-LimitierungDie 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
exisitierender 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 10SNMP-MonitoringDie 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.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
Konfigurationsparameter wie Community-Namen und
Zugriffslisten. Die Konfiguration dieser Parameter wird
in den Manualpages &man.bsnmpd.1; sowie &man.snmp.bridge.3;
beschrieben.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:mibdirs +/usr/share/snmp/mibs
mibs +BRIDGE-MIB:RSTP-MIB:BEGEMOT-MIB:BEGEMOT-BRIDGE-MIBUm eine einzelne Bridge über den IETF BRIDGE-MIB
(RFC4188) zu überwachen, geben Sie Folgendes ein:&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
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:&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 A9Um die über den
mib-2.dot1dBridge-Subtree überwachte
Bridge-Schnittstelle zu ändern, geben Sie Folgendes
ein:&prompt.user; snmpset -v 2c -c private bridge1.example.com
BEGEMOT-BRIDGE-MIB::begemotBridgeDefaultBridgeIf.0 s bridge2Link-Aggregation und FailoverAndrewThompsonGeschrieben von BenedictReuschlingÜbersetzt von SharonBahagilaggfailoverfeclacploadbalanceroundrobinDie 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.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: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)&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.lacpDas &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.roundrobinDieser 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.BeispieleDieser 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.LACP Aggregation mit einem Switch
von &cisco;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.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 lacpAuf der Maschine mit &os; erstellen Sie die
&man.lagg.4;-Schnittstelle unter Verwendung von
fxp0 und
fxp1 und starten Sie
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
fxp110.0.0.3/24Als nächstes, ü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
LAG-Bezeichner anzeigen zu lassen.Um den Status der Ports auf dem &cisco; Switch
anzuzeigen: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 0x3DBenutzen Sie das Kommando 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
Einträge in /etc/rc.conf hinzu:ifconfig_fxp0="up"
ifconfig_fxp1="up"
cloned_interfaces="lagg0
ifconfig_lagg0="laggproto lacp laggport fxp0 laggport fxp110.0.0.3/24"Ausfallsicherer ModusDer 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
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
fxp110.0.0.15/24Die 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
fxp1 die Verbindung übernehmen.
Sobald die Verbindung auf der Master-Schnittstelle
wiederhergestellt ist, wird diese auch 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 fxp110.0.0.15/24"Failover Modus zwischen Ethernet- und
Wireless-SchnittstellenFü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.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
wlan0 wurde von der
iwn0 mit der
MAC-Adresse der Ethernet-Schnittstelle
eingerichtet. Im ersten Schritt ermitteln wir die
MAC-Adresse der
Ethernet-Schnittstelle:&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: activeErsetzen Sie bge0 durch den
Namen der Ethernet-Schnittstelle Ihres Systems. Die
ether-Zeile wird die
MAC-Adresse der angegebenen Schnittstelle
enthalten. Ändern Sie nun die
MAC-Adresse der zugrunde liegenden
Wireless-Schnittstelle:&prompt.root; ifconfig
iwn0 ether
00:21:70:da:ae:37Starten Sie den Wireless-Schnittstelle, aber ohne
IP-Adresse:&prompt.root; ifconfig wlan0 create wlandev
iwn0 ssid
my_router upStellen Sie sicher, dass die
bge0-Schnittstelle aktiv ist.
Erstellen Sie dann die &man.lagg.4;-Schnittstelle mit
bge0 als Master mit Failover auf
wlan0:&prompt.root; ifconfig
bge0 up
&prompt.root; ifconfig lagg0 create
&prompt.root; ifconfig lagg0 up laggproto failover laggport
bge0 laggport wlan0Die 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>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"Start und Betrieb von &os; über ein NetzwerkJean-FrançoisDockèsAktualisiert von AlexDupreReorganisiert und erweitert von plattenloser Arbeitsplatzplattenloser Betrieb&os; kann über ein Netzwerk starten und arbeiten, ohne
eine lokale Festplatte zu verwenden, indem es Dateisysteme eines
NFS-Servers in den eigenen Verzeichnisbaum
einhängt. Dazu sind, von den Standardkonfigurationsdateien
abgesehen, keine Systemänderungen nötig. Ein solches
System kann leicht installiert werden, da alle notwendigen
Elemente bereits vorhanden sind:Es gibt mindestens zwei Möglichkeiten, den Kernel
über das Netzwerk zu laden:PXE: Das
Preboot eXecution Environment System von
&intel; ist eine Art intelligentes Boot-ROM, das in
einigen Netzwerkkarten oder Hauptplatinen verwendet wird.
Weitere Informationen finden Sie in &man.pxeboot.8;.
Der Port
Etherboot
(net/etherboot)
erzeugt ROM-fähigen Code, um einen Kernel über
das Netzwerk zu laden. Dieser Code kann entweder auf ein
Boot-PROM einer Netzwerkkarte gebrannt werden, was von vielen
Netzwerkkarten unterstützt wird. Oder er kann von einer
lokalen Diskette, Festplatte oder von einem laufenden
&ms-dos;-System geladen werden.Das Beispielskript
/usr/share/examples/diskless/clone_root
erleichtert die Erzeugung und die Wartung des
root-Dateisystems auf dem Server. Das Skript muss
wahrscheinlich angepasst werden, dennoch werden Sie schnell zu
einem Ergebnis kommen.Die Startdateien, die einen plattenlosen Systemstart
erkennen und unterstützen, sind nach der Installation
in /etc vorhanden.Dateiauslagerungen können sowohl via
NFS als auch auf die lokale Platte
erfolgen.Es gibt verschiedene Wege, einen plattenlosen Rechner
einzurichten. Viele Elemente sind daran beteiligt, die fast
immer an den persönlichen Geschmack angepasst werden
können. Im folgenden Abschnitt wird die Installation
eines kompletten Systems beschrieben, wobei der
Schwerpunkt auf Einfachheit und Kompatibilität zu den
Standardstartskripten von &os; liegt. Das beschriebene
System hat folgende Eigenschaften:Die plattenlosen Rechner haben ein gemeinsames
/- sowie ein gemeinsames
/usr-Dateisystem, die jeweils
schreibgeschützt sind.Das root-Dateisystem ist eine Kopie
eines Standardwurzelverzeichnisses von &os;
(üblicherweise das des Servers), bei dem einige
Konfigurationsdateien durch für den plattenlosen
Betrieb geeignete Versionen ersetzt wurden.Für die Bereiche des root-Dateisystems, die
beschreibbar sein müssen, werden mit &man.md.4;
virtuelle Dateisysteme erzeugt. Dies bedeutet aber auch, dass
alle Veränderungen verloren gehen, wenn das System neu
gestartet wird.Der Kernel wird, in Abhängigkeit von der jeweiligen
Situation, entweder von Etherboot
oder von PXE transferiert und geladen.
Das hier beschriebene System ist nicht sicher. Es
sollte nur in einem gesicherten Bereich eines Netzwerks verwendet
werden und für andere Rechner nicht erreichbar sein.Alle Informationen in diesem Abschnitt wurden unter
&os; 5.2.1-RELEASE getestet.HintergrundinformationenDie Einrichtung von plattenlosen Rechnern ist einfach, aber
auch fehleranfällig. Der Grund dafür sind auftretende
Fehler, die sich oft nur schwer zuordnen lassen. Unter anderem
sind dafür folgende Umstände verantwortlich:Kompilierte Optionen haben zur Laufzeit unterschiedliche
Auswirkungen.Fehlermeldungen sind oft kryptisch oder fehlen
vollständig.Daher ist es nützlich, über die im Hintergrund
ablaufenden Mechanismen Bescheid zu wissen. Dadurch wird es
einfacher, eventuell auftretende Fehler zu beheben.Verschiedene Operationen müssen ausgeführt werden,
um ein System erfolgreich zu starten:Der Rechner benötigt einige Startparameter, wie
seine IP-Adresse, die Namen ausführbarer Dateien, den
Servernamen sowie den root-Pfad. Für die
Übermittlung dieser Informationen wird entweder das
DHCP- oder das BOOTP-Protokoll verwendet.
Bei DHCP handelt es sich um eine
abwärtskompatible Erweiterung von BOOTP, die die
gleichen Portnummern und das gleiche Paketformat verwendet.
Es ist möglich, das System so zu konfigurieren,
dass es nur BOOTP verwendet. Das Serverprogramm
&man.bootpd.8; ist bereits im &os;-Basissystem enthalten.
DHCP hat im Vergleich zu BOOTP
allerdings mehrere Vorteile (bessere Konfigurationsdateien,
die Möglichkeit zur Verwendung von
PXE, sowie viele andere, die nicht in
direktem Zusammenhang mit dem plattenlosen Betrieb stehen).
Dieser Abschnitt beschreibt die Konfiguration mittels
DHCP. Wenn möglich, werden aber
entsprechende Beispiele für &man.bootpd.8;
angeführt. Die Beispielkonfiguration nutzt das
Softwarepaket ISC DHCP.Der Rechner muss ein oder mehrere Programme in den
lokalen Speicher laden. Dazu wird entweder
TFTP oder NFS
verwendet. Die Auswahl zwischen TFTP und
NFS erfolgt über das Setzen von
verschiedenen Kompilieroptionen. Ein häufig gemachter
Fehler ist es, Dateinamen für das falsche Protokoll
anzugeben: TFTP transferiert
normalerweise alle Dateien aus einem einzigen Verzeichnis
des Servers, und erwartet einen Pfad relativ zu diesem
Verzeichnis. NFS verlangt hingegen
absolute Dateipfade.Die möglichen Bootstrap-Programme und der Kernel
müssen initialisiert und ausgeführt werden. Dabei
gibt es zwei Möglichkeiten:PXE lädt &man.pxeboot.8;.
Dabei handelt es sich um eine modifizierte Version des
&os;-Laders der Boot-Phase drei. Der &man.loader.8;
beschafft alle für den Systemstart notwendigen
Parameter, und hinterlegt diese in der Kernelumgebung,
bevor er die Kontrolle übergibt. Es ist hier
möglich, den GENERIC-Kernel
zu verwenden.Etherboot lädt den
Kernel hingegen direkt. Dafür müssen Sie
allerdings einen Kernel mit spezifischen Optionen
erzeugen.PXE und
Etherboot sind zwar im
Großen und Ganzen gleichwertig, da der Kernel
aber viele Aufgaben an &man.loader.8; übergibt, sollte
bevorzugt PXE eingesetzt werden.Wenn Ihr BIOS und Ihre Netzwerkkarten
PXE unterstützen, sollten Sie es
auch verwenden.Zuletzt muss der Rechner auf seine Dateisysteme
zugreifen können. Dafür wird stets
NFS verwendet.Weitere Informationen finden Sie in &man.diskless.8;.InstallationsanweisungenKonfiguration unter Verwendung von
ISC DHCPDHCPplattenloser BetriebDer ISC DHCP-Server kann
Anfragen sowohl von BOOTP als auch von DHCP beantworten.
isc-dhcp 3.1 ist nicht Teil
des Basissystems. Sie müssen es daher zuerst
installieren. Verwenden Sie dazu den Port
net/isc-dhcp31-server
oder das entsprechende Paket.Nachdem ISC DHCP installiert
ist, muss das Programm konfiguriert werden (normalerweise in
/usr/local/etc/dhcpd.conf). Im
folgenden Beispiel verwendet Rechner margauxEtherboot, während Rechner
corbieres PXE verwendet:
default-lease-time 600;
max-lease-time 7200;
authoritative;
option domain-name "example.com";
option domain-name-servers 192.168.4.1;
option routers 192.168.4.1;
subnet 192.168.4.0 netmask 255.255.255.0 {
use-host-decl-names on;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.4.255;
host margaux {
hardware ethernet 01:23:45:67:89:ab;
fixed-address margaux.example.com;
next-server 192.168.4.4;
filename "/tftpboot/kernel.diskless";
option root-path "192.168.4.4:/data/misc/diskless";
}
host corbieres {
hardware ethernet 00:02:b3:27:62:df;
fixed-address corbieres.example.com;
next-server 192.168.4.4;
filename "pxeboot";
option root-path "192.168.4.4:/data/misc/diskless";
}
}
Diese Option
weist dhcpd an, den Wert der
host-Deklaration als Rechnernamen des
plattenlosen Rechners zu senden. Alternativ kann man der
host-Deklaration Folgendes
hinzufügen: option host-name
margauxDie Anweisung
next-server bestimmt den
TFTP- oder
NFS-Server, von dem der Loader oder
der Kernel geladen werden (in der Voreinstellung ist das
der DHCP-Server selbst).Die Anweisung
filename bestimmt die Datei, die
Etherboot als nächstes
lädt. Das genaue Format hängt von der
gewählten Transfermethode ab.
Etherboot kann sowohl mit
NFS als auch mit
TFTP kompiliert werden. In der
Voreinstellung wird der &os;-Port mit
NFS-Unterstützung kompiliert.
PXE verwendet TFTP,
daher wird im Beispiel ein relativer Dateipfad verwendet.
Dies kann aber, je nach Konfiguration des
TFTP-Servers, auch anders sein.
Beachten Sie, dass PXE
pxeboot lädt, und nicht den
Kernel. Es ist auch möglich, das Verzeichnis
/boot einer
&os;-CD-ROM von pxeboot laden zu
lassen. &man.pxeboot.8; kann einen
GENERIC-Kernel laden, dadurch ist es
möglich, PXE von einer entfernten
CD-ROM zu starten.Die Option
root-path bestimmt den Pfad des
root-Dateisystems in normaler NFS-Schreibweise. Wird
PXE verwendet, ist es möglich,
die IP-Adresse des Rechners wegzulassen, solange nicht
die Kerneloption BOOTP aktiviert wird. Der
NFS-Server entspricht in diesem Fall
dem TFTP-Server.Konfiguration bei Verwendung von BOOTPBOOTPplattenloser BetriebEs folgt nun eine der Konfiguration von DHCP
entsprechende Konfiguration (für einen Client) für
bootpd. Zu finden ist die
Konfigurationsdatei unter /etc/bootptab.
Beachten Sie bitte, dass
Etherboot mit der Option
NO_DHCP_SUPPORT kompiliert werden muss,
damit BOOTP verwendet werden kann. PXE
hingegen benötigt
DHCP. Der einzige offensichtliche
Vorteil von bootpd ist, dass es
bereits im Basissystem vorhanden ist..def100:\
:hn:ht=1:sa=192.168.4.4:vm=rfc1048:\
:sm=255.255.255.0:\
:ds=192.168.4.1:\
:gw=192.168.4.1:\
:hd="/tftpboot":\
:bf="/kernel.diskless":\
:rp="192.168.4.4:/data/misc/diskless":
margaux:ha=0123456789ab:tc=.def100Ein Startprogramm unter Verwendung von
Etherboot erstellenEtherbootDie
Internetseite von Etherboot enthält
ausführliche Informationen, die zwar vor allem
für Linux gedacht sind, aber dennoch nützliche
Informationen enthalten. Im Folgenden wird daher nur grob
beschrieben, wie Sie Etherboot auf
einem &os;-System einsetzen können.Als Erstes müssen Sie
net/etherboot als Paket
oder als Port installieren.Sie können Etherboot so
konfigurieren, dass TFTP anstelle von
NFS verwendet wird, indem Sie die Datei
Config im Quellverzeichnis von
Etherboot bearbeiten.Für unsere Installation verwenden wir eine
Startdiskette. Für Informationen zu anderen Methoden
(PROM oder &ms-dos;-Programme) lesen Sie bitte die
Dokumentation zu Etherboot.Um eine Startdiskette zu erzeugen, legen Sie eine Diskette
in das Laufwerk des Rechners ein, auf dem Sie
Etherboot installiert haben. Danach
wechseln Sie in das Verzeichnis src des
Etherboot-Verzeichnisbaums und geben
Folgendes ein:&prompt.root; gmake bin32/devicetype.fd0devicetype hängt vom Typ
der Ethernetkarte ab, über die der plattenlose Rechner
verfügt. Lesen Sie dazu NIC im
gleichen Verzeichnis, um den richtigen Wert für
devicetype zu bestimmen.Das System mit PXE startenIn der Voreinstellung lädt der
&man.pxeboot.8;-Loader den Kernel über
NFS. Soll stattdessen
TFTP verwendet werden, muss beim
Kompilieren die Option
LOADER_TFTP_SUPPORT in der Datei
/etc/make.conf eingetragen sein. Sehen
Sie sich die Datei
/usr/share/examples/etc/make.conf
für weitere Anweisungen an.Es gibt zwei Optionen für
make.conf, die nützlich sein
können, wenn Sie eine plattenlose serielle Konsole
einrichten wollen:
BOOT_PXELDR_PROBE_KEYBOARD, und
BOOT_PXELDR_ALWAYS_SERIAL.Um PXE beim Systemstart zu verwenden,
müssen Sie im BIOS des Rechner die
Option Über das Netzwerk starten
aktivieren. Alternativ können Sie während der
PC-Initialisierung auch eine Funktionstaste drücken.
Serverkonfiguration - TFTP und
NFSTFTPplattenloser BetriebNFSplattenloser BetriebWenn Sie PXE oder
Etherboot so konfiguriert haben,
dass diese TFTP verwenden, müssen
Sie auf dem Dateiserver tftpd
aktivieren:Erzeugen Sie ein Verzeichnis, in dem
tftpd seine Dateien ablegt,
beispielsweise /tftpboot.Fügen Sie folgende Zeile in
/etc/inetd.conf ein:tftp dgram udp wait root /usr/libexec/tftpd tftpd -s /tftpbootAnscheinend benötigen zumindest einige
PXE-Versionen die
TCP-Version von
TFTP. Sollte dies bei Ihnen der
Fall sein, fügen Sie eine zweite Zeile ein, in der
Sie dgram udp durch
stream tcp ersetzen.Weisen Sie inetd an, seine
Konfiguration erneut einzulesen (Damit der folgende
Befehl funktioniert, muss die Option
in der Datei
/etc/rc.conf vorhanden sein.):&prompt.root; /etc/rc.d/inetd restartSie können das Verzeichnis
/tftpboot an einem beliebigen Ort auf dem
Server ablegen. Stellen Sie aber sicher, dass Sie diesen Ort
sowohl in inetd.conf als auch in
dhcpd.conf eingetragen haben.Außerdem müssen Sie NFS aktivieren und die
entsprechenden Verzeichnisse exportieren.Fügen Sie folgende Zeile in
/etc/rc.conf ein:nfs_server_enable="YES"Exportieren Sie das Verzeichnis, in dem sich das
Wurzelverzeichnis für den plattenlosen Betrieb
befindet, indem Sie folgende Zeile in
/etc/exports einfügen (passen
Sie dabei den mountpoint
an und ersetzen Sie
margaux corbieres durch den
Namen Ihres plattenlosen Rechners):/data/misc -alldirs -ro margauxWeisen sie nun mountd an,
seine Konfigurationsdatei erneut einzulesen. Wenn Sie
NFS erst in der Datei
/etc/rc.conf aktivieren mussten,
sollten Sie stattdessen den Rechner neu starten. Dadurch
wird die Konfigurationsdatei ebenfalls neu eingelesen.
&prompt.root; /etc/rc.d/mountd restartEinen plattenlosen Kernel erzeugenplattenloser BetriebKernelkonfigurationWenn Sie Etherboot verwenden,
müssen Sie in die Kernelkonfigurationsdatei Ihres
plattenlosen Clients zusätzlich folgende Optionen
einfügen:options BOOTP # Use BOOTP to obtain IP address/hostname
options BOOTP_NFSROOT # NFS mount root file system using BOOTP infoAußerdem können Sie die Optionen
BOOTP_NFSV3,
BOOT_COMPAT sowie
BOOTP_WIRED_TO verwenden (sehen Sie sich
dazu auch die Datei NOTES an).Die Namen dieser Optionen sind historisch bedingt.
Sie ermöglichen eine unterschiedliche Verwendung von
DHCP und BOOTP innerhalb des Kernels.
Es ist auch möglich, eine strikte Verwendung von BOOTP
oder DHCP zu erzwingen.Erzeugen Sie den neuen Kernel (lesen Sie dazu auch
) und kopieren Sie ihn an den
in dhcpd.conf festgelegten Ort.Wenn Sie PXE verwenden, ist die
Erzeugung eines Kernels zwar nicht unbedingt nötig, sie
wird allerdings dennoch empfohlen. Die Aktivierung dieser
Optionen bewirkt, dass die Anzahl der möglichen
DHCP-Anforderungen während des
Kernelstarts erhöht wird. Ein kleiner Nachteil sind
eventuell auftretende Inkonsistenzen zwischen den neuen
Werten und den von &man.pxeboot.8; erhaltenen Werten. Der
große Vorteil dieser Variante ist es, dass dabei der
Rechnername gesetzt wird, den Sie ansonsten durch eine
andere Methode, beispielsweise in einer clientspezifischen
rc.conf-Datei festlegen müssten.
Damit der Kernel von
Etherboot geladen werden kann,
müssen device hints im
Kernel einkompiliert sein. Dazu setzen Sie normalerweise
folgende Option in die Kernelkonfigurationsdatei (sehen Sie
sich dazu auch die kommentierte Datei
NOTES an):hints "GENERIC.hints"Das root-Dateisystem erzeugenRoot-Dateisystemplattenloser BetriebSie müssen für den plattenlosen Rechner ein
root-Dateisystem erzeugen, und zwar an dem in
dhcpd.conf als
root-path festgelegten Ort.make world zum Füllen des
Dateisystems einsetzenDiese schnelle Methode installiert ein komplettes
jungfräuliches System (und nicht nur ein
root-Dateisystem) nach DESTDIR. Dazu
müssen Sie lediglich das folgende Skript
ausführen:#!/bin/sh
export DESTDIR=/data/misc/diskless
mkdir -p ${DESTDIR}
cd /usr/src; make buildworld && make buildkernel
make installworld && make installkernel
cd /usr/src/etc; make distributionDanach müssen Sie noch die dadurch in
DESTDIR erzeugten Dateien
/etc/rc.conf sowie
/etc/fstab Ihren Wünschen
anpassen.Den Auslagerungsbereich konfigurierenFalls nötig, kann eine auf dem
NFS-Server liegende Datei als
Auslagerungsdatei eingerichtet werden.Eine NFS-Auslagerungsdatei
einrichtenDer Kernel unterstützt beim Systemstart keine
NFS-Auslagerungsdatei. Diese muss daher
in den Startskripten aktiviert werden, indem ein
beschreibbares Dateisystem eingehängt wird, um dort
die Auslagerungsdatei zu erzeugen und zu aktivieren. Um
eine Auslagerungsdatei zu erzeugen, gehen Sie wie folgt
vor:&prompt.root; dd if=/dev/zero of=/path/to/swapfile bs=1k count=1 oseek=100000Um die Auslagerungsdatei zu aktivieren, fügen Sie
folgende Zeile in rc.conf ein:swapfile=/path/to/swapfileVerschiedenesSchreibgeschütztes Dateisystem
/usrplattenloser Betrieb/usr schreibgeschütztWenn am plattenlosen Rechner X läuft, müssen
Sie die Konfigurationsdatei von
XDM anpassen, da Fehlermeldungen
in der Voreinstellung auf /usr
geschrieben werden.Der Server läuft nicht unter &os;Wenn das root-Dateisystem nicht auf einem
&os;-Rechner liegt, muss das Dateisystem zuerst unter
&os; erzeugt werden. Anschließend wird es
beispielsweise mit tar oder
cpio an den gewünschten Ort
kopiert.Dabei kann es Probleme mit den Gerätedateien
in /dev geben, die durch eine
unterschiedliche Darstellung der Major- und Minor-Number
von Geräten auf beiden Systemen hervorgerufen werden.
Eine Problemlösung besteht darin, das root-Verzeichnis
auf einem &os;-Rechner einzuhängen und die
Gerätedateien dort mit &man.devfs.5; zu erzeugen.PXE-Boot mit einem
NFS-Root-DateisystemCraigRodrigues
rodrigc@FreeBSD.org
Beigetragen von Das &intel; Preboot eXecution Environment
(PXE) erlaubt es, ein Betriebssystem über das
Netzwerk zu starten. PXE-Unterstützung wird
von modernen Mainboards über das BIOS
bereitgestellt, wo Sie es bei den Einstellungen zum Starten über
das Netzwerk aktivieren können. Ein voll funktionsfähiges
PXE-Setup erfordert zusätzlich einen richtig
konfigurierten DHCP- und
TFTP-Server.Sobald das Gastsystem startet, erhält es vom
DHCP-Server Informationen, wo der initiale
Bootloader per TFTP zu bekommen ist. Nachdem
das Gastsystem diese Informationen erhält, lädt es den
Bootloader über TFTP herunter und führt
diesen anschließend aus. Dieses Verfahren ist in Sektion 2.2.1
der Preboot
Execution Environment (PXE) Specification dokumentiert.
In &os; ist /boot/pxeboot der Bootloader,
der während des PXE-Vorgangs abgerufen wird.
Nachdem /boot/pxeboot ausgeführt und der
&os;-Kernel geladen wurde, wird mit dem Rest der
&os;-Bootsequenz fortgefahren. Weitere Informationen über den
Bootvorgang unter &os; finden Sie in .Einrichtung der chroot-Umgebung für
das NFS-Root-DateisystemWählen Sie ein Verzeichnis welches eine
&os;-Installation enthält und über NFS eingehangen
werden kann. Als Beispiel kann das Verzeichnis
/b/tftpboot/FreeBSD/install
verwendet werden.&prompt.root; export NFSROOTDIR=/b/tftpboot/FreeBSD/install
&prompt.root; mkdir -p ${NFSROOTDIR}Aktivieren Sie den NFS-Server. Diese Prozedur wird
im Kapitel
beschrieben.Exportieren Sie das eben erstellte Verzeichnis über
NFS, indem Sie folgende Zeile in
/etc/exports hinzufügen:/b -ro -alldirsStarten Sie den NFS-Server neu:&prompt.root; /etc/rc.d/nfsd restartAktivieren Sie &man.inetd.8; wie im Kapitel beschrieben.Fügen Sie folgende Zeilen in
/etc/inetd.conf hinzu:tftp dgram udp wait root /usr/libexec/tftp tftp -l -s /b/tftpbootStarten Sie inetd neu:&prompt.root; /etc/rc.d/inetd restartErstellen Sie einen neues
Basissystem und einen &os;-Kernel:&prompt.root; cd /usr/src
&prompt.root; make buildworld
&prompt.root; make buildkernelInstallieren 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
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
&man.chroot.8;-Umgebung:&prompt.root; chroot ${NFSROOTDIR}
&prompt.root; passwdDamit setzen Sie das root-Passwort für die
Client-Maschinen, welche über PXE
starten.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 weitere Anpassungen der
&man.chroot.8;-Umgebung in ${NFSROOTDIR} durch, wie zum
Beispiel die Installation weiterer Pakete mittels
&man.pkg.add.1;, dass Bearbeiten der Passwortdatei mit
&man.vipw.8;, oder &man.amd.conf.5; für den Automounter.
Ein Beispiel:
&prompt.root; chroot ${NFSROOTDIR}
&prompt.root; pkg_add -r bashSpeicher-Dateisysteme für
/etc/rc.initdisklessBooten 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 varBei Starten werden die Speicher-Dateisysteme für
/etc und /var
erstellt und eingehangen und der Inhalt der
cpio.gz-Dateien in diese hinein
kopiert.Einrichtung des DHCP-ServersPXE benötigt für die Einrichtung einen
TFTP-Server und einen
DHCP-Server. Der
DHCP-Server muss nicht unbedingt auf der
gleichen Maschine laufen wie der
TFTP-Server, aber er muss in Ihrem Netzwerk
erreichbar sein.Installieren Sie den DHCP-Server,
indem Sie den Anweisungen in folgen. Stellen Sie
sicher, dass /etc/rc.conf und
/usr/local/etc/dhcpd.conf richtig
konfiguriert sind.Konfigurieren Sie in
/usr/local/etc/dhcpd.conf die
next-server,
filename und option
root-path Einstellungen, um die
IP-Adresse des
TFTP-Servers, den Pfad zu
/boot/pxeboot in
TFTP und den Pfad zum
NFS-Root-Dateisystem zu bestimmen.
Hierzu ein Beispiel für
/usr/local/etc/dhcpd.conf:
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-server 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/";
}
Konfiguration des PXE-Clients und
Fehlersuche bei VerbindungsproblemenSobald die Client-Maschine startet, gehen Sie in die
BIOS-Einstellungen und konfigurieren
Sie den Start über das Netzwerk (boot from network). Sind
Ihre bisherigen Konfigurationsschritte korrekt, sollte
alles funktionieren.Benutzen Sie den net/wireshark Port zur
Fehlersuche im Netzwerkverkehr von DHCP
und TFTP.Stellen Sie sicher, dass Sie die
pxeboot-Datei über
TFTP herunterladen können. 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 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 secondsWeitere 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 dhcpd.conf
wie folgt testen:&prompt.root; mount -t nfs 192.168.0.1:/b
/tftpboot/FreeBSD/install /mntISDN – diensteintegrierendes digitales NetzwerkISDNEine 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-KartenHellmuthMichaelisBeigetragen von ISDNKartenDas 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-TerminaladapterTerminaladapterTerminaladapter (TA) sind für ISDN, was Modems für
analoge Telefonleitungen sind.ModemDie 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.
PPPDer 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 ProAdtranDie 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 RouterISDNAutonome Bridge/RouterISDN-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 2Das 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 - EthernetWenn 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 TDieses 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 NetzwerkdiagrammEin 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/SPXEine Ethernet-Bridge kann Daten nicht nur im IP-Protokoll,
sondern auch in beliebigen anderen Protokollen versenden.NAT - Network Address TranslationChernLeeBeigetragen von Überblicknatd&man.natd.8;, der Network-Address-Translation-Daemon von
&os;, akzeptiert ankommende Raw-IP-Pakete, ändert den
Sender der Daten in den eigenen Rechner und leitet diese Pakete
in den ausgehenden IP-Paketstrom um, indem IP-Adresse und Port
des Senders so geändert werden, dass bei einer Antwort der
ursprüngliche Sender wieder bestimmt und die Daten an
ihn weitergeleitet werden können.Internet connection sharingNATDer häufigste Grund für die Verwendung von NAT ist
die gemeinsame Nutzung einer Internetverbindung.EinrichtungWegen der begrenzten Verfügbarkeit von IPv4-Adressen
und der gestiegenen Anzahl von Breitbandverbindungen über
Kabelmodem oder DSL, wird die gemeinsame Nutzung von
Internetverbindungen immer wichtiger. Der &man.natd.8;-Daemon
ermöglicht die Anbindung von mehreren Rechnern an das
Internet unter Nutzung einer gemeinsamen Verbindung und einer
IP-Adresse.Häufig soll ein über Kabelmodem oder DSL und eine
IP-Adresse an das Internet angebundener Rechner mehreren
Rechnern eines lokalen Netzwerks Internetdienste anbieten.Um dies zu ermöglichen, muss der &os;-Rechner als
Gateway fungieren. Dazu sind zwei Netzwerkkarten notwendig. Eine
für die Verbindung zum Internet, die zweite für die
Verbindung mit dem lokalen Netzwerk. Sämtliche Rechner
des lokalen Netzwerks sind über einen Hub oder einen Switch
miteinander verbunden.Es gibt verschiedene Möglichkeiten, ein LAN über
ein &os;-Gateway an das Internet anzubinden. Das folgende
Beispiel beschreibt ein Gateway, das zumindest zwei
Netzwerkkarten enthält. _______ __________ ________
| | | | | |
| Hub |-----| Client B |-----| Router |----- Internet
|_______| |__________| |________|
|
____|_____
| |
| Client A |
|__________|Network LayoutEine derartige Netzwerkkonfiguration wird vor allem zur
gemeinsamen Nutzung einer Internetverbindung verwendet. Ein
Rechner des lokalen Netzwerks (LAN) ist mit
dem Internet verbunden. Alle anderen Rechner des lokalen
Netzwerks haben nur über diesen
Gateway-Rechner Zugriff auf das Internet.Boot Loader Konfigurationboot loaderconfigurationDie Kerneleigenschaften für Network Address Translation mit
&man.natd.8; sind im GENERIC-Kernel nicht
aktiviert, können aber bereits zur Bootzeit geladen werden, indem
ein paar Zeilen in die Datei /boot/loader.conf
hinzugefügt werden:ipfw_load="YES"
ipdivert_load="YES"Zusätzlich kann die Option
net.inet.ip.fw.default_to_accept auf
1 gesetzt werden:net.inet.ip.fw.default_to_accept="1"Es ist eine gute Idee, diese Option während den ersten
Versuchen, eine Firewall und ein NAT-Gateway aufzusetzen, zu
aktivieren. Damit ist die Standardvorgehensweise von &man.ipfw.8;
diejenige, allow ip from any to any, anstatt der
weniger freizügigen deny ip from any to any.
Es wird dadurch etwas schwieriger, sich aus Versehen nach einem
Neustart aus dem System auszusperren.KernelkonfigurationKernelKonfigurationWenn Module nicht in Frage kommen oder Sie bevorzugen, alle
notwendigen Eigenschaften in den laufenden Kernel einzubauen,
müssen die folgenden Optionen in die Kernelkonfigurationsdatei
eingetragen werden:options IPFIREWALL
options IPDIVERTDie folgende Optionen können ebenfalls eingetragen
werden:options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_VERBOSESystem BootkonfigurationUm Firewall- und NAT-Unterstützung zur Bootzeit zu aktivieren,
tragen Sie Folgendes in /etc/rc.conf ein:gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"
natd_enable="YES"
natd_interface="fxp0"
natd_flags="" Richtet den Rechner als Gateway ein. Die
Ausführung von
sysctl net.inet.ip.forwarding=1
hätte den gleichen Effekt.Aktiviert die Firewallregeln in
/etc/rc.firewall beim
Systemstart.Ein vordefinierter Satz von Firewallregeln, der alle
Pakete durchlässt. Sehen Sie sich
/etc/rc.firewall an, wenn Sie diese
Option verwenden wollen.Die Netzwerkkarte, die Pakete weiterleitet (und mit dem
Internet verbunden ist).Zusätzliche Konfigurationsoptionen, die beim
Systemstart an &man.natd.8; übergeben werden.Durch die Definition dieser Optionen in
/etc/rc.conf wird die Anweisung
natd -interface fxp0 beim Systemstart
ausgeführt. Dies kann aber auch manuell erfolgen.Falls Sie viele Optionen an &man.natd.8; übergeben
müssen, können Sie auch eine Konfigurationsdatei
verwenden. Dazu fügen Sie folgende Zeile in
/etc/rc.conf ein:natd_flags="-f /etc/natd.conf"Die Datei /etc/natd.conf enthält
verschiedene Konfigurationsoptionen, wobei jede Option in einer
Zeile steht. Das Beispiel im nächsten Abschnitt würde
folgende Konfigurationsdatei verwenden:redirect_port tcp 192.168.0.2:6667 6667
redirect_port tcp 192.168.0.3:80 80Wenn Sie eine Konfigurationsdatei verwenden wollen, sollten
Sie sich die Handbuchseite zu &man.natd.8; durchlesen,
insbesondere den Abschnitt über die Nutzung der Option
.Jedem Rechner und jeder Schnittstelle des lokalen Netzwerks
sollte eine IP-Adresse des im RFC 1918
definierten privaten Adressraums zugewiesen werden. Der
Standardgateway entspricht der internen IP-Adresse des
natd-Rechners.Im Beispiel werden den LAN-Clients A und
B die IP-Adressen
192.168.0.2 und
192.168.0.3 zugewiesen,
während die LAN-Netzwerkkarte des
natd-Rechners die IP-Adresse
192.168.0.1 erhält. Der
natd-Rechner mit der IP-Adresse
192.168.0.1 wird als
Standardgateway für die Clients A und
B gesetzt. Die externe Netzwerkkarte des
natd-Rechners muss für die
korrekte Funktion von &man.natd.8; nicht konfiguriert
werden.Ports umleitenWenn Sie &man.natd.8; verwenden, sind Ihre LAN-Clients von
aussen nicht erreichbar. LAN-Clients können zwar
Verbindungen nach aussen aufbauen, sind aber für
ankommende Verbindungen nicht erreichbar. Wenn Sie
Internetdienste auf einem LAN-Client anbieten wollen, haben Sie
daher ein Problem. Eine einfache Lösung ist die Umleitung
von bestimmten Internetports des
natd-Rechners auf einen LAN-Client.Beispielsweise könnte ein IRC-Server auf Client
A und ein Webserver auf Client
B laufen. Damit diese Konfiguration
funktioniert, müssen Verbindungen, die auf den Ports 6667
(IRC) und 80 (Web) ankommen, auf die entsprechenden Clients
umgeleitet werden.Dazu wird die Option unter
Nutzung folgender Syntax an &man.natd.8; übergeben: -redirect_port proto targetIP:targetPORT[-targetPORT]
[aliasIP:]aliasPORT[-aliasPORT]
[remoteIP[:remotePORT[-remotePORT]]]Für unser Beispiel heißt das: -redirect_port tcp 192.168.0.2:6667 6667
-redirect_port tcp 192.168.0.3:80 80Dadurch werden die entsprechenden
tcp-Ports auf die jeweiligen LAN-Clients
umgeleitet.Mit können auch ganze
Portbereiche statt einzelner Ports umgeleitet werden. So werden
mit tcp 192.168.0.2:2000-3000
2000-3000 alle Verbindungen, die auf den Ports
2000 bis 3000 ankommen, auf die entsprechenden Ports des Clients
A umgeleitet.Diese Optionen können während des Betriebs von
&man.natd.8; oder über die Option
natd_flags="" in
/etc/rc.conf gesetzt werden.Eine ausführliche Konfigurationsanleitung finden Sie
in &man.natd.8;.Adressen umleitenaddress redirectionDie Umleitung von Adressen ist nützlich, wenn mehrere
IP-Adressen verfügbar sind, die aber alle auf einem Rechner
verbleiben sollen. In diesem Fall kann &man.natd.8; jedem
LAN-Client eine eigene externe IP-Adresse zuweisen. Ausgehende
Pakete eines LAN-Clients werden so der entsprechenden
externen IP-Adresse des Clients zugeordnet. Ankommender Verkehr
für diese IP-Adresse wird automatisch an den entsprechenden
LAN-Client weitergeleitet. Diesen Vorgang bezeichnet man
auch als statisches NAT. Dem
natd-Gatewayrechner könnten
beispielsweise die IP-Adressen
128.1.1.1,
128.1.1.2 sowie
128.1.1.3 zugewiesen werden.
128.1.1.1 wird als die externe
IP-Adresse des natd-Gatewayrechners
verwendet, während 128.1.1.2
und 128.1.1.3 an die LAN-Clients
A und B weitergegeben werden.
benutzt folgende
Syntax:-redirect_address localIP publicIPlocalIPDie interne IP-Adresse des LAN-ClientspublicIPDie externe IP-Adresse des LAN-ClientsFür unser Beispiel hieße dies:-redirect_address 192.168.0.2 128.1.1.2
-redirect_address 192.168.0.3 128.1.1.3Analog zur Option
können Sie diese Argumente auch in der Option
natd_flags="" in
/etc/rc.conf angeben. Bei der Nutzung
der Adressumleitung ist die Portumleitung überflüssig,
weil alle für eine bestimmte IP-Adresse ankommenden Daten
umgeleitet werden.Die externe IP-Adresse des
natd-Rechners muss aktiv sein und
der externen Netzwerkkarte zugewiesen sein. Weitere Informationen
zu diesem Thema finden Sie in &man.rc.conf.5;.PLIP – Parallel Line IPPLIPParallel Line IPPLIPPLIP ermöglicht TCP/IP-Verbindungen zwischen zwei
Rechnern, die über ihre parallelen Schnittstellen
verbunden sind. Eine solche Verbindung ist nützlich,
wenn zwei Rechner nicht mit Netzwerkkarten ausgestattet sind,
oder wenn eine Installation auf einem Laptop erfolgen soll.
Dieser Abschnitt behandelt folgende Themen:Die Herstellung eines parallelen (Laplink-) KabelsDie Verbindung von zwei Computern über PLIPEin paralleles Kabel herstellenEin paralleles (Laplink-)Kabel können Sie in fast jedem
Computergeschäft kaufen. Falls dies nicht möglich
sein sollte, oder Sie einfach wissen wollen, wie ein solches
Kabel aufgebaut ist, sollten Sie sich die folgende Tabelle
ansehen. Sie beschreibt die Herstellung eines parallelen
Netzwerkkabels aus einem gewöhnlichen parallelen
Druckerkabel.
PLIP einrichtenAls Erstes benötigen Sie ein Laplink-Kabel. Danach
müssen Sie sicherstellen, dass beide Computerkernel den
&man.lpt.4;-Treiber unterstützen:&prompt.root; grep lp /var/run/dmesg.boot
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven portDer Parallelport muss Interrupt-gesteuert sein, daher
sollte die Datei /boot/device.hints
zwei Zeilen ähnlich den folgenden enthalten:hint.ppc.0.at="isa"
hint.ppc.0.irq="7"Danach überprüfen Sie, ob die
Kernelkonfigurationsdatei die Zeile
device plip enthält, oder ob das
Kernelmodul plip.ko geladen wurde. In
beiden Fällen sollte die parallele Schnittstelle
von &man.ifconfig.8; angezeigt werden:&prompt.root; ifconfig plip0
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500Verbinden Sie die parallelen Schnittstellen der beiden
Computer über das (Laplink-)Kabel.Konfigurieren Sie die Netzwerkparameter auf beiden Rechnern
als root. Wenn Sie beispielsweise den Rechner
host1 mit dem Rechner host2
verbinden wollen, gehen Sie folgendermaßen vor: host1 <-----> host2
IP Address 10.0.0.1 10.0.0.2Richten Sie die parallele Schnittstelle von
host1 ein, indem Sie Folgendes eingeben:&prompt.root; ifconfig plip0 10.0.0.1 10.0.0.2Danach richten Sie die parallele Schnittstelle von
host2 ein:&prompt.root; ifconfig plip0 10.0.0.2 10.0.0.1Sie sollten nun über eine funktionierende Verbindung
verfügen. Bei Problemen lesen Sie bitte die Hilfeseiten
&man.lp.4; sowie &man.lpt.4;.Zusätzlich sollten beide Rechner in
/etc/hosts eingetragen werden:127.0.0.1 localhost.my.domain localhost
10.0.0.1 host1.my.domain host1
10.0.0.2 host2.my.domain host2Um die Verbindung zu überprüfen, pingen Sie jeden
Rechner vom anderen Rechner aus an. Auf host1
gehen Sie dazu folgendermaßen vor:&prompt.root; ifconfig plip0
plip0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000
&prompt.root; netstat -r
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
host2 host1 UH 0 0 plip0
&prompt.root; ping -c 4 host2
PING host2 (10.0.0.2): 56 data bytes
64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms
64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms
--- host2 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 msIPv6 – Internet Protocol Version 6AaronKaplanBeigetragen von TomRhodesÜberarbeitet und erweitert von BradDavisErweitert 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.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: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 hat einen 128 Bit großen Adressraum. Es sind
also theoretisch
340.282.366.920.938.463.463.374.607.431.768.211.456 Adressen
verfügbar. In anderen Worten: Für jeden
Quadratmeter der Erdoberfläche sind etwa
6,67 * 10^27 IPv6-Adressen verfügbar.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:Die automatische Konfiguration von Adressen, die im
RFC2462
beschrieben wird.Anycast-Adressen (eine-von-vielen)Verpflichtende Multicast-AdressenDie Unterstützung von IPsec (IP-Security)Eine vereinfachte HeaderstrukturMobile IP-AdressenDie Umwandlung von IPv4- in IPv6-AdressenWeitere Informationsquellen:Beschreibung von IPv6 auf
playground.sun.com
KAME.netHintergrundinformationen zu IPv6-AdressenEs gibt verschiedene Arten von IPv6-Adressen: Unicast-,
Anycast- und Multicast-Adressen.Unicast-Adressen sind die herkömlichen 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
durch Multicast-Adressen verwirklicht.
Reservierte IPv6-AdressenIPv6-AdressePräfixlängeBeschreibungAnmerkungen::128 Bitnicht festgelegtentspricht 0.0.0.0
bei IPv4::1128 BitLoopback-Adresseentspricht 127.0.0.1
bei IPv4::00:xx:xx:xx:xx96 BitEingebettete IPv4-AdresseDie niedrigen 32 Bit entsprechen der IPv4-Adresse.
Wird auch als IPv4-kompatible IPv6-Adresse
bezeichnet.::ff:xx:xx:xx:xx96 BitEine auf IPv6 abgebildete IPv4-AdresseDie niedrigen 32 Bit entsprechen der IPv4-Adresse.
Notwendig für Rechner, die IPv6 nicht
unterstützen.fe80:: - feb::10 Bitlink-localEntspricht der Loopback-Adresse bei IPv4fec0:: - fef::10 Bitsite-localff::8 BitMulticast001
(im Dualsystem)3 BitGlobaler UnicastAlle globalen Unicastadressen stammen aus diesem
Pool. Die ersten 3 Bit lauten 001.
IPv6-Adressen verstehenDie 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
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.
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.
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:&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: activeBei
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.Weitere Informationen zum Aufbau von IPv6-Adressen finden
Sie im
RFC3513.Eine IPv6-Verbindung herstellenEs gibt derzeit vier Möglichkeiten, sich mit anderen
IPv6-Rechnern oder Netzwerken zu verbinden:Fragen Sie Ihren Internetprovider, ob er IPv6
bereits unterstützt.SixXS
bietet weltweit IPv6-Tunnelverbindungen an.Die Verwendung eines 6-nach-4-Tunnels
(RFC3068).Die Verwendung des Ports
/usr/ports/net/freenet6 bei der Einwahl
ins Internet.DNS in der IPv6-WeltUrsprü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.Weisen Sie die erhaltene IPv6-Adresse Ihrem Rechnernamen zu,
indem Sie den EintragMYHOSTNAME AAAA MYIPv6ADDRin 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./etc/rc.conf für die Nutzung von
IPv6 anpassenEinen Client unter IPv6 einrichtenDieser 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 in
/etc/rc.conf ein:ipv6_enable="YES"Durch die folgende Zeile weisen Sie Ihrer Schnittstelle
fxp0 die statische IP-Adresse 2001:471:1f11:251:290:27ff:fee0:2093
zu: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 einrichtenDieser Abschnitt beschreibt, wie Sie Ihren Rechner mit
Hilfe der von Ihrem 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: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
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.ipv6_defaultrouter="MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR"Einen IPv6-Tunnel einrichtenWenn Ihr Server IPv6-Verkehr zwischen Ihrem Netzwerk und
der Außenwelt routen muss, benötigen Sie
zusätzlich die folgenden Zeilen in Ihrer
/etc/rc.conf:ipv6_gateway_enable="YES"Bekanntmachung von Routen und automatische
RechnerkonfigurationDieser Abschnitt beschreibt die Einrichtung von
&man.rtadvd.8;, das Sie bei der Bekanntmachung der
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:rtadvd_interfaces="fxp0"Danach erzeugen Sie die Konfigurationsdatei
/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.Anschließend ersetzen Sie
2001:471:1f11:246:: durch das
Präfix der Ihnen zugewiesenen Verbindung.Wenn Sie eine /64-Netzmaske
verwenden, müssen Sie keine weiteren Anpassungen vornehmen.
Anderenfalls müssen Sie prefixlen#
auf den korrekten Wert setzen.CARP - Common Address Redundancy ProtocolTomRhodesBeigetragen von AllanJudeAktualisiert von CARPCommon Address Redundancy Protocol (CARP)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 CARPCARP 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.CARP mit &os; 10 (und neuer)
benutzenUnterstü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 carpHostname, 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
+ &prompt.root; ifconfig em0 vhid 1 state
+backupAn dieser Stelle muss entweder das Netzwerk neu gestartet,
oder die Machine 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.CARP mit &os; 9 (und älter)
benutzenUnterstü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 carpDie CARP-Schnittstellen selbst können
mittels &man.ifconfig.8; erstellt werden:
- &prompt.root; ifconfig carp0 create
-
+ &prompt.root; ifconfig carp0
+createKonfigurieren 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
+ &prompt.root; ifconfig carp0 down && ifconfig carp0 upDieser 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.
diff --git a/de_DE.ISO8859-1/books/handbook/introduction/chapter.xml b/de_DE.ISO8859-1/books/handbook/introduction/chapter.xml
index 94fce475ce..4738fb7c82 100644
--- a/de_DE.ISO8859-1/books/handbook/introduction/chapter.xml
+++ b/de_DE.ISO8859-1/books/handbook/introduction/chapter.xml
@@ -1,1352 +1,1324 @@
EinleitungJimMockRestrukturiert, umorganisiert und Abschnitte neu
geschrieben von Überblick
- Herzlichen Dank für Ihr Interesse an &os;! Das folgende
+ Herzlichen Dank für Ihr Interesse an &os;! Das folgende
Kapitel behandelt verschiedene Aspekte des &os; Projekts wie
dessen geschichtliche Entwicklung, seine Ziele oder das
Entwicklungsmodell.
- Nach dem Durcharbeiten des Kapitels wissen Sie über
+ Nach dem Durcharbeiten des Kapitels wissen Sie über
folgende Punkte Bescheid:Wo &os; im Vergleich zu anderen Betriebssystemen
stehtDie Geschichte des &os; ProjektsDie Ziele des &os; ProjektsDie Grundlagen des
&os;-Open-Source-Entwicklungsmodells
- Und natürlich woher der Name &os;
+ Und natürlich woher der Name &os;
kommt.Willkommen zu &os;4.4BSD-Lite
- &os; ist ein auf 4.4BSD-Lite basierendes Betriebssystem
- für Intel (x86 und &itanium;), AMD64 und Sun &ultrasparc;
- Rechner. An Portierungen zu anderen Architekturen wird derzeit
+ &os; ist ein auf 4.4BSD-Lite basierendes Betriebssystem für
+ Intel (x86 und &itanium;), AMD64 und Sun &ultrasparc; Rechner.
+ An Portierungen zu anderen Architekturen wird derzeit
gearbeitet. Mehr zur Geschichte von &os; erfahren Sie in die Geschichte von &os; oder aus den
aktuellen Release-Informationen.
- Falls Sie das &os; Projekt unterstützen wollen (z.B. mit
+ Falls Sie das &os; Projekt unterstützen wollen (z.B. mit
Quellcode, Hardware- oder Geldspenden), lesen Sie den &os;
- unterstützen Artikel.
+ unterstützen Artikel.Was kann &os;?&os; hat zahlreiche bemerkenswerte Eigenschaften. Um nur
einige zu nennen:
- Präemptives Multitasking
+ Präemptives Multitasking
- Präemptives Multitasking
- mit dynamischer Prioritätsanpassung zum
+ Präemptives Multitasking
+ mit dynamischer Prioritätsanpassung zum
reibungslosen und ausgeglichenen Teilen der
Systemressourcen zwischen Anwendungen und Anwendern,
selbst unter schwerster Last.MehrbenutzerbetriebMehrbenutzerbetrieb
erlaubt es, viele &os;-Anwender gleichzeitig am System mit
verschiedenen Aufgaben arbeiten zu lassen. Beispielsweise
- können Geräte wie Drucker oder Bandlaufwerke,
- die sich nur schwerlich unter allen Anwendern des Systems
- oder im Netzwerk teilen lassen, durch setzen von
- Beschränkungen auf Benutzer oder Gruppen wichtige
- Systemressourcen vor Überbeanspruchung geschützt
- werden.
+ können Geräte wie Drucker oder Bandlaufwerke, die sich
+ nur schwerlich unter allen Anwendern des Systems oder im
+ Netzwerk teilen lassen, durch setzen von Beschränkungen
+ auf Benutzer oder Gruppen wichtige Systemressourcen vor
+ Überbeanspruchung geschützt werden.
- StarkeTCP/IP-Netzwerkfähigkeit
- TCP/IP-Netzwerkfähigkeit
- mit Unterstützung von
- Industriestandards wie SCTP, DHCP, NFS, NIS, PPP,
- SLIP, IPsec und IPv6. Das bedeutet, Ihr &os;-System kann
- in einfachster Weise mit anderen Systemen
- interagieren. Zudem kann es als Server-System im
- Unternehmen wichtige Aufgaben übernehmen,
- beispielsweise als NFS- oder E-Mail-Server oder es kann
- Ihren Betrieb durch HTTP- und FTP-Server beziehungsweise
- durch Routing und Firewalling Internetfähig
- machen.
+ StarkeTCP/IP-Netzwerkfähigkeit
+ TCP/IP-Netzwerkfähigkeit
+ mit Unterstützung von Industriestandards wie
+ SCTP, DHCP, NFS, NIS, PPP, SLIP, IPsec und IPv6. Das
+ bedeutet, Ihr &os;-System kann in einfachster Weise mit
+ anderen Systemen interagieren. Zudem kann es als
+ Server-System im Unternehmen wichtige Aufgaben
+ übernehmen, beispielsweise als NFS- oder E-Mail-Server
+ oder es kann Ihren Betrieb durch HTTP- und FTP-Server
+ beziehungsweise durch Routing und Firewalling
+ Internetfähig machen.SpeicherschutzSpeicherschutz stellt
- sicher, dass Anwendungen (oder Anwender) sich
- nicht gegenseitig stören. Stürzt eine Anwendung
- ab, hat das keine Auswirkung auf andere Prozesse.
+ sicher, dass Anwendungen (oder Anwender) sich nicht
+ gegenseitig stören. Stürzt eine Anwendung ab, hat das
+ keine Auswirkung auf andere Prozesse.
Der Industriestandard X-Window-System X-Window-System
(X11R7) als Industriestandard bietet eine grafische
- Benutzeroberfläche (GUI). Minimale Voraussetzung
- zur Verwendung ist lediglich eine Grafikkarte und ein
+ Benutzeroberfläche (GUI). Minimale Voraussetzung zur
+ Verwendung ist lediglich eine Grafikkarte und ein
Bildschirm, die beide den VGA-Modus
- unterstützen.
+ unterstützen.
- Binärkompatibilität
+ BinärkompatibilitätLinux
- Binärkompatibilität
+ BinärkompatibilitätSCO
- Binärkompatibilität
+ BinärkompatibilitätSVR4
- Binärkompatibilität
+ BinärkompatibilitätBSD/OS
- Binärkompatibilität
+ BinärkompatibilitätNetBSD
- Binärkompatibilität mit
- vielen auf anderen Betriebssystemen erstellten
- Programmen wie Linux, SCO, SVR4, BSDI und NetBSD.
+ Binärkompatibilität mit vielen auf
+ anderen Betriebssystemen erstellten Programmen wie Linux,
+ SCO, SVR4, BSDI und NetBSD.
- Tausende zusätzliche leicht zu
- portierende Anwendungen sind über die &os;
+ Tausende zusätzliche leicht zu
+ portierende Anwendungen sind über die &os;
Ports und
- Paket-Sammlung verfügbar. Warum
- mühselig im Netz nach Software suchen, wenn diese
- bereits vorhanden ist?
+ Paket-Sammlung verfügbar. Warum
+ mühselig im Netz nach Software suchen, wenn diese bereits
+ vorhanden ist?
+
- Tausende zusätzliche leicht zu
- portierende Anwendungen sind über das
- Internet zu beziehen. &os; ist Quellcode-kompatibel
- mit den meisten kommerziellen &unix; Systemen. Daher
- bedürfen Anwendungen häufig nur geringer oder
- gar keiner Anpassung, um auf einem &os;-System zu
- kompilieren.
+ Tausende zusätzliche leicht zu
+ portierende Anwendungen sind über das
+ Internet zu beziehen. &os; ist Quellcode-kompatibel mit
+ den meisten kommerziellen &unix; Systemen. Daher
+ bedürfen Anwendungen häufig nur geringer oder gar keiner
+ Anpassung, um auf einem &os;-System zu kompilieren.Seitenweise anforderbarer virtueller
Speichervirtueller
- Speicher
- und merged VM/buffer cache
- -Entwurf bedient effektiv den großen
- Speicherhunger mancher Anwendungen bei gleichzeitigem
- Aufrechterhalten der Bedienbarkeit des Systems für
- weitere Benutzer.
+ Speicher und merged
+ VM/buffer cache -Entwurf bedient effektiv den
+ großen Speicherhunger mancher Anwendungen bei
+ gleichzeitigem Aufrechterhalten der Bedienbarkeit des
+ Systems für weitere Benutzer.
SMPSymmetrisches Multi-Processing (SMP)
- -Unterstützung für Systeme mit
- mehreren CPUs.
+ -Unterstützung für Systeme mit mehreren
+ CPUs.
CompilerCCompiler C++
Ein voller Satz von C und
C++ Entwicklungswerkzeugen. Viele
- zusätzliche Programmiersprachen für höhere
- Wissenschaft und Entwicklung sind in der Ports- und
- Packages-Sammlung verfügbar.
+ zusätzliche Programmiersprachen für höhere Wissenschaft
+ und Entwicklung sind in der Ports- und Packages-Sammlung
+ verfügbar.
QuellcodeQuellcode
- für das gesamte System bedeutet
- größtmögliche Kontrolle über Ihre
- Umgebung. Warum sollte man sich durch proprietäre
- Lösungen knebeln und sich auf Gedeih und Verderb der
- Gnade eines Herstellers ausliefern, wenn man doch ein
- wahrhaft offenes System haben kann?
+ für das gesamte System bedeutet
+ größtmögliche Kontrolle über Ihre Umgebung.
+ Warum sollte man sich durch proprietäre Lösungen knebeln
+ und sich auf Gedeih und Verderb der Gnade eines
+ Herstellers ausliefern, wenn man doch ein wahrhaft offenes
+ System haben kann?
Umfangreiche
Online-Dokumentation.und viele weitere!&os; basiert auf dem 4.4BSD-Lite-4.4BSD-LiteRelease der Computer Systems Research Group
(CSRG)Computer Systems Research Group
(CSRG)
- der Universität von Kalifornien in
- Berkeley und führt die namhafte Tradition der
- Entwicklung von BSD-Systemen fort. Zusätzlich zu der
- herausragenden Arbeit der CSRG hat das &os; Projekt tausende
- weitere Arbeitsstunden investiert, um das System zu
- verfeinern und maximale Leistung und Zuverlässigkeit
- bei Alltagslast zu bieten. Während viele
+ der Universität vn Kalifornien in Berkeley und
+ führt die namhafte Tradition der Entwicklung von BSD-Systemen
+ fort. Zusätzlich zu der herausragenden Arbeit der CSRG hat
+ das &os; Projekt tausende weitere Arbeitsstunden investiert,
+ um das System zu verfeinern und maximale Leistung und
+ Zuverlässigkeit bei Alltagslast zu bieten. Während viele
kommerzielle Riesen Probleme damit haben, PC-Betriebssysteme
mit derartigen Funktionen, Leistungspotential und
- Zuverlässigkeit anzubieten, kann &os; damit schon jetzt
+ Zuverlässigkeit anzubieten, kann &os; damit schon jetzt
aufwarten!
- Die Anwendungsmöglichkeiten von &os; werden nur
- durch Ihre Vorstellungskraft begrenzt. Von
- Software-Entwicklung bis zu Produktionsautomatisierung, von
- Lagerverwaltung über Abweichungskorrektur bei Satelliten;
- Falls etwas mit kommerziellen &unix; Produkten machbar ist,
- dann ist es höchstwahrscheinlich auch mit &os;
- möglich. &os; profitiert stark von tausenden
- hochwertigen Anwendungen aus wissenschaftlichen Instituten und
- Universitäten in aller Welt. Häufig sind diese
- für wenig Geld oder sogar kostenlos zu bekommen.
- Kommerzielle Anwendungen sind ebenso verfügbar und es
- werden täglich mehr.
-
- Durch den freien Zugang zum Quellcode von &os; ist es
- in unvergleichbarer Weise möglich, das System für
- spezielle Anwendungen oder Projekte anzupassen. Dies ist
- mit den meisten kommerziellen Betriebssystemen einfach nicht
- möglich. Beispiele für Anwendungen, die unter
- &os; laufen, sind:
+ Die Anwendungsmöglichkeiten von &os; werden nur durch
+ Ihre Vorstellungskraft begrenzt. Von Software-Entwicklung bis
+ zu Produktionsautomatisierung, von Lagerverwaltung über
+ Abweichungskorrektur bei Satelliten; Falls etwas mit
+ kommerziellen &unix; Produkten machbar ist, dann ist es
+ höchstwahrscheinlich auch mit &os; möglich. &os; profitiert
+ stark von tausenden hochwertigen Anwendungen aus
+ wissenschaftlichen Instituten und Universitäten in aller
+ Welt. Häufig sind diese für wenig Geld oder sogar kostenlos
+ zu bekommen. Kommerzielle Anwendungen sind ebenso verfügbar
+ und es werden täglich mehr.
+
+ Durch den freien Zugang zum Quellcode von &os; ist es in
+ unvergleichbarer Weise möglich, das System für spezielle
+ Anwendungen oder Projekte anzupassen. Dies ist mit den
+ meisten kommerziellen Betriebssystemen einfach nicht möglich.
+ Beispiele für Anwendungen, die unter &os; laufen,
+ sind:Internet-Dienste: Die robuste
- TCP/IP-Implementierung in &os; macht es zu einer
- idealen Plattform für verschiedenste
- Internet-Dienste, wie zum Beispiel:
+ TCP/IP-Implementierung in &os; macht es zu einer idealen
+ Plattform für verschiedenste Internet-Dienste, wie zum
+ Beispiel:
HTTP-ServerWebserver (Standard
- oder mit SSL-Verschlüsselung)
+ oder mit SSL-Verschlüsselung)
IPv4- und IPv6-RoutingFirewallFirewall
NATNAT
(IP-Masquerading)-GatewaysFTP-ServerFTP-ServerE-MailE-MailE-Mail
E-Mail-ServerUnd mehr...Bildung: Sind Sie
Informatikstudent oder Student eines verwandten
Studiengangs? Die praktischen Einblicke in &os; sind die
- beste Möglichkeit etwas über Betriebssysteme,
+ beste Möglichkeit etwas über Betriebssysteme,
Rechnerarchitektur und Netzwerke zu lernen. Einige frei
- erhältliche CAD-, mathematische und grafische
- Anwendungen sind sehr nützlich, gerade für
- diejenigen, deren Hauptinteresse in einem Computer darin
- besteht, andere Arbeit zu
- erledigen!
+ erhältliche CAD-, mathematische und grafische Anwendungen
+ sind sehr nützlich, gerade für diejenigen, deren
+ Hauptinteresse in einem Computer darin besteht,
+ andere Arbeit zu erledigen!
Forschung: Mit dem frei
- verfügbaren Quellcode für das gesamte System
- bildet &os; ein exzellentes Studienobjekt in der
- Disziplin der Betriebssysteme, wie auch in anderen Zweigen
- der Informatik. Es ist beispielsweise denkbar, das
- räumlich getrennte Gruppen gemeinsam an einer Idee
- oder Entwicklung arbeiten. Das Konzept der freien
- Verfügbarkeit und -nutzung von &os;
- ermöglicht so die freie Verwendung, ohne sich
- groß Gedanken über Lizenzbedingungen zu machen
- oder aufgrund von Beschränkungen evtl. in einem
- offenen Forum bestimmte Dinge nicht diskutieren zu
- dürfen.
+ verfügbaren Quellcode für das gesamte System bildet &os;
+ ein exzellentes Studienobjekt in der Disziplin der
+ Betriebssysteme, wie auch in anderen Zweigen der
+ Informatik. Es ist beispielsweise denkbar, das räumlich
+ getrennte Gruppen gemeinsam an einer Idee oder Entwicklung
+ arbeiten. Das Konzept der freien Verfügbarkeit und
+ -nutzung von &os; ermöglicht so die freie Verwendung,
+ ohne sich gross Gedanken über Lizenzbedingungen zu machen
+ oder aufgrund von Beschränkungen evtl. in einem offenen
+ Forum bestimmte Dinge nicht diskutieren zu dürfen.
- Netzwerkfähigkeit: Brauchen
+ Netzwerkfähigkeit: Brauchen
Sie einen neuen Router?Router Oder einen Name-Server (DNS)?DNS-Server
Eine Firewall zum Schutze Ihres Intranets vor
Fremdzugriff? &os; macht aus dem in der Ecke verstaubenden
- 386- oder 486-PC im Handumdrehen einen
- leistungsfähigen Router mit anspruchsvollen
- Paketfilter-Funktionen.
+ 386- oder 486-PC im Handumdrehen einen leistungsfähigen
+ Router mit anspruchsvollen Paketfilter-Funktionen.Embedded: &os; ist eine
exzellente Plattform, um auf embedded Systemen
aufzubauen.embedded
- Mit der Unterstützung für die
- &arm;-, &mips;- und &powerpc;-Plattformen, verbunden mit
- dem robusten Netzwerkstack, aktuellen Neuerungen und der
- freizügigen Mit der Unterstützung für die &arm;-,
+ &mips;- und &powerpc;-Plattformen, verbunden mit dem
+ robusten Netzwerkstack, aktuellen Neuerungen und der
+ freizügigen BSD-Lizenz
- stellt &os; eine ausgezeichnete Basis für embedded
- Router, Firewalls und andere Geräte dar.
+ stellt &os; eine ausgezeichnete Basis für embedded
+ Router, Firewalls und andere Geräte dar.
X-Window-SystemGNOMEKDE
- Desktop: &os; ist eine gute Wahl
- für kostengünstige X-Terminals mit dem frei
- verfügbaren X11-Server. &os; bietet die Auswahl aus
- vielen Open Source Desktop Umgebungen, dazu gehören
- auch die GNOME und
+ Desktop: &os; ist eine gute Wahl für
+ kostengünstige X-Terminals mit dem frei verfügbaren
+ X11-Server. &os; bietet die Auswahl aus vielen Open Source
+ Desktop Umgebungen, dazu gehören auch die
+ GNOME und
KDE GUIs. &os; kann sogar
plattenlos booten, was einzelne
- Workstations sogar noch günstiger macht und die
+ Workstations sogar noch günstiger macht und die
Verwaltung erleichtert.Software-Entwicklung: Das
Standard-&os;-System wird mit einem kompletten Satz an
Entwicklungswerkzeugen bereitgestellt, unter anderem einem
- vollständigen C/C++-Compiler und
- -Debugger.Compiler
- Entwicklungswerkzeugen. Viele
- zusätzliche Programmiersprachen für Wissenschaft
- und Entwicklung sind aus der Ports- und Packages-Sammlung
- zu haben.
+ vollständigen C/C++-Compiler und -Debugger.
+ Compiler
+ Entwicklungswerkzeugen. Viele zusätzliche
+ Programmiersprachen für Wissenschaft und Entwicklung sind
+ aus der Ports- und Packages-Sammlung zu haben.
&os; ist sowohl in Form von Quellcode als auch in
- Binärform auf CD-ROM, DVD und über Anonymus FTP
- erhältlich. Lesen Sie dazu ,
- um weitere Informationen zum Bezug von &os; zu
- erhalten.
+ Binärform auf CD-ROM, DVD und über Anonymus FTP erhältlich.
+ Lesen Sie dazu , um weitere
+ Informationen zum Bezug von &os; zu erhalten.
Wer verwendet &os;?AnwenderGrosse, bekannte &os;-Anwender
- &os;s fortgeschrittene Eigenschaften, bewährte
- Sicherheit und vorhersehbare Release-Zyklen, genauso wie seine
- tolerante Lizenz haben dazu geführt, dass es als
- Plattform zum Aufbau vieler kommerzieller und quelloffener
- Geräte und Produkte verwendet wird, dazu gehören ein
- paar der weltgrössten IT-Unternehmen:
+ &os;s fortgeschrittene Eigenschaften, bewährte Sicherheit
+ und vorhersehbare Release-Zyklen, genauso wie seine tolerante
+ Lizenz haben dazu geführt, dass es als Plattform zum Aufbau
+ vieler kommerzieller und quelloffener Geräte und Produkte
+ verwendet wird, dazu gehören ein paar der weltgrössten
+ IT-Unternehmen:Apache
Apache
- - Die Apache Software Foundation lässt
- den Grossteil seiner der Öffentlichkeit
- zugänglichen Infrastruktur, inklusive des
- möglicherweise grössten SVN-Repositories der
- Welt mit über 1,4 Millionen Commits, auf &os;
- laufen.
+ - Die Apache Software Foundation lässt den
+ Grossteil seiner der Öffentlichkeit zugänglichen
+ Infrastruktur, inklusive des möglicherweise grössten
+ SVN-Repositories der Welt mit über 1,4 Millionen Commits,
+ auf &os; laufen.
Apple
Apple- OS X verwendet viel von &os;s eigenem
Netzwerkstack, virtuellem Dateisystem und den
- Benutzerumgebungskomponenten für sein eigenes System.
+ Benutzerumgebungskomponenten für sein eigenes System.
Apple iOS nutzt ebenso Elemente, die es von &os;
- übernommen hat.
+ übernommen hat
+
Cisco
Cisco- IronPort Network Sicherheits- und
Anti-Spam-Appliance verwendet einen modifizierten
&os;-Kernel.Citrix
Citrix- Die NetScaler Reihe von
Sicherheits-Appliances bietet auf den Schichten 4-7
Load-Balancing, Content Caching, Anwendungsfirewall,
gesichertes VPN und mobilen Cloud-Netzwerkzugriff, gepaart
- mit der Mächtigkeit der &os;-Shell.
+ mit der Mächtigkeit der &os;-Shell.
Dell
KACE Dell KACE- Die KACE Systemmanagement-Appliances nutzen
- &os; wegen seiner Zuverlässigkeit, Skalierbarkeit und
- Gemeinschaft, welche deren zukünftige
- Weiterentwicklung fördert.
+ &os; wegen seiner Zuverlässigkeit, Skalierbarkeit und
+ Gemeinschaft, welche deren zukünftige Weiterentwicklung
+ fördert.
Experts
Exchange
Experts Exchange
- - Alle öffentlich zugänglichen
- Webserver werden von &os; betrieben und machen starken
- Gebrauch von Jails, ohne den Überhang von
- Virtualisierung, um Entwicklungs- und Testumgebung
- voneinander zu isolieren.
+ - Alle öffentlich zugänglichen Webserver
+ werden von &os; betrieben und machen starken Gebrauch von
+ Jails, ohne den Überhang von Virtualisierung, um
+ Entwicklungs- und Testumgebung voneinander zu
+ isolieren.
Isilon
Isilon- Isilons
Unternehmens-Speicherappliances basieren auf &os;. Die
extrem liberale &os;-Lizenz erlaubt Isilon ihr
intellektuelles Eigentum durch den gesamten Kernel zu
integrieren und kann sich so auf das Erstellen ihres
Produktes und nicht des Betriebssystems
fokussieren.iXsystems
iXsystems- Die TrueNAS-Linie von vereinheitlichten
- Speicherappliances beruht auf &os;. Zusätzlich zu
- deren kommerziellen Produkten, managed iXsystems auch noch
- die beiden Open Source Projekte PC-BSD und FreeNAS.
+ Speicherappliances beruht auf &os;. Zusätzlich zu deren
+ kommerziellen Produkten, managed iXsystems auch noch die
+ beiden Open Source Projekte PC-BSD und FreeNAS.
Juniper
Juniper- Das JunOS
- Betriebssystem, welches alle Juniper Netzwerkgeräte
+ Betriebssystem, welches alle Juniper Netzwerkgeräte
(inklusive Router, Switche, Sicherheits- und
Netzwerkappliances) antreibt, verwendet &os; Juniper ist
einer der vielen Hersteller, welcher das symbolische
- Verhältnis zwischen dem Projekt und dem Hersteller
- von kommerziellen Produkten darstellt. Verbesserungen, die
+ Verhältnis zwischen dem Projekt und dem Hersteller von
+ kommerziellen Produkten darstellt. Verbesserungen, die
Juniper entwickelt hat, werden ebenso in &os; aufgenommen,
- um die Komplexität der Integration neuer
- Eigenschaften von &os; zurück in zukünftige
- JunOS Versionen zu vereinfachen.
+ um die Komplexität der Integration neuer Eigenschaften
+ von &os; zurück in zukünftige JunOS Versionen zu
+ vereinfachen.
McAfee
McAfee- SecurOS, die Basis von McAfee
Enterprise-Firewallprodukten inkl. Sidewinder basiert auf
&os;.NetApp
NetApp- Die Data ONTAP GX Reihe von
- Speicherappliances basieren auf &os;. Zusätzlich hat
+ Speicherappliances basieren auf &os;. Zusätzlich hat
NetApp viele Neuheiten beigesteuert, inklusive des neuen
BSD-lizensierten Hypervisors bhyve.Netflix
Netflix- Die OpenConnect-Appliance, die Netflix
verwendet, um Filme zu seinen Kunden zu streamen basiert
- auf &os;. Netflix hat weitreichende Beiträge zum
+ auf &os;. Netflix hat weitreichende Beiträge zum
Quellcode von &os; beigetragen und arbeitet daran, ein
- möglichst geringes Delta zur normalen Version
- beizubehalten. Netflix OpenConnect-Appliances sind
- für mehr als 32% vom gesamten Internetverkehr in
- Nordamerika verantwortlich.
+ möglichst geringes Delta zur normalen Version
+ beizubehalten. Netflix OpenConnect-Appliances sind für
+ mehr als 32% vom gesamten Internetverkehr in Nordamerika
+ verantwortlich.
Sandvine
Sandvine
- - Sandvine nutzt &os; as die Basis für
- deren Echtzeit Hochgeschwindigkeits-Netzwerkplattform,
- welche den Kern deren intelligenter
+ - Sandvine nutzt &os; as die Basis für deren
+ Echtzeit Hochgeschwindigkeits-Netzwerkplattform, welche
+ den Kern deren intelligenter
Netzwerkpolicy-Kontrollprodukte darstellt.Sony
Sony- Sowohl die PlayStation 3 und PlayStation 4
Spielekonsolen verwenden modifizierte Versionen von
&os;.Sophos
Sophos- Das Sophos Email-Appliance Produkt basiert
auf einem abgesicherten &os; und scannt eingehende E-Mail
- auf Spam und Viren, während es gleichzeitig
- ausgehende Mail auf Schadsoftware und versehentlichen
- Versand von vertraulichen Informationen
- überwacht.
+ auf Spam und Viren, während es gleichzeitig ausgehende
+ Mail auf Schadsoftware und versehentlichen Versand von
+ vertraulichen Informationen überwacht.
Spectra
Logic Spectra
Logic- Die nTier Reihe von
- archivspeicherfähigen Appliances nutzt &os; und
+ archivspeicherfähigen Appliances nutzt &os; und
OpenZFS.The Weather
Channel The Weather Channel- Die IntelliStar Appliance, welche am
Kopfende eines jeden Kabelversorgers installiert ist und
- für das Einspeisen von lokalen Wettervorhersagen in
- das Kabelfernsehprogramm verantwortlich ist, läuft
- auf &os;.
+ für das Einspeisen von lokalen Wettervorhersagen in das
+ Kabelfernsehprogramm verantwortlich ist, läuft auf
+ &os;.
Verisign
Verisign
- - Verisign ist für den Betrieb der .com
- und .net Root-Domainregistries genauso verantwortlich wie
- für die dazugehörige DNS-Infrastruktur. Sie
- verlassen sich auf einen Reihe von verschiedenen
- Netzwerkbetriebssystemen inklusive &os;, um zu
- gewährleisten, dass es keine gemeinsame Fehlerstelle
- in deren Infrastruktur gibt.
+ - Verisign ist für den Betrieb der .com und
+ .net Root-Domainregistries genauso verantwortlich wie für
+ die dazugehörige DNS-Infrastruktur. Sie verlassen sich
+ auf einen Reihe von verschiedenen Netzwerkbetriebssystemen
+ inklusive &os;, um zu gewährleisten, dass es keine
+ gemeinsame Fehlerstelle in deren Infrastruktur
+ gibt.
WhatsApp
WhatsApp
- - Als WhatsApp eine Plattform benötigte,
- die in der Lage ist, mehr als 1 Million gleichzeitiger
+ - Als WhatsApp eine Plattform benötigte, die
+ in der Lage ist, mehr als 1 Million gleichzeitiger
TCP-Verbindungen pro Server abzuarbeiten, entschied man
- sich für &os;. Anschliessend fuhren Sie damit fort,
- auf 2,5 Millionen Verbindungen pro Server
+ sich für &os;. Anschliessend fuhren Sie damit fort, auf
+ 2,5 Millionen Verbindungen pro Server
hochzuskalieren.Wheel Systems
Wheel Systems- Die FUDO Sicherheitsappliance erlaubt es
Unternehmen, Vertragspartner und Administratoren, die
- anderen Systemen arbeiten durchführen, zu
- überwachen, zu kontrollieren, aufzuzeichnen und zu
- begutachten. Dies basiert auf all den besten
- Sicherheitseigenschaften von &os;, inklusive ZFS, GELI,
- Capsicum, HAST und auditdistd.
+ anderen Systemen arbeiten durchführen, zu überwachen, zu
+ kontrollieren, aufzuzeichnen und zu begutachten. Dies
+ basiert auf all den besten Sicherheitseigenschaften von
+ &os;, inklusive ZFS, GELI, Capsicum, HAST und
+ auditdistd.
&os; hat ebenfalls eine Reihe von verwandten Open Source
Projekten hervorgebracht:BSD Router
BSD Router
- - Einen &os;-basierten Ersatz für grosse
+ - Einen &os;-basierten Ersatz für grosse
Unternehmensrouter, der entwickelt wurde, um auf Standard
PC-Hardware zu laufen.FreeNAS
FreeNAS
- - Ein eigens dafür entworfenes &os;
- für den Zweck als Netzwerk-Dateiserver Appliance zu
- fungieren. Es enthält eine Python-basierte
- Webschnittstelle, um das Management von sowohl UFS- als
- auch ZFS-Systemen zu vereinfachen. Enthalten sind NFS,
- SMB/CIFS, AFP, FTP und iSCSI. Ebenfalls enthalten ist ein
- erweiterteres Plugin-System basierend auf
- &os;-Jails.
+ - Ein eigens dafür entworfenes &os; für den
+ Zweck als Netzwerk-Dateiserver Appliance zu fungieren. Es
+ enthält eine Python-basierte Webschnittstelle, um das
+ Management von sowohl UFS- als auch ZFS-Systemen zu
+ vereinfachen. Enthalten sind NFS, SMB/CIFS, AFP, FTP und
+ iSCSI. Ebenfalls enthalten ist ein erweiterteres
+ Plugin-System basierend auf &os;-Jails.
GhostBSD
GhostBSD- Eine auf den Desktop-Einsatz orientierte
Distribution von &os;, welche mit einer
Gnome-Desktop-Umgebung ausgeliefert wird.mfsBSD
mfsBSD- Eine Sammlung von Werkzeugen zum Erstellen
von &os;-Systemimages, welches ausschliesslich im
- Hauptspeicher läuft.
+ Hauptspeicher läuft.
NAS4Free
NAS4Free- Eine Dateiserverdistribution basierend auf
&os; mit einer von PHP-getriebenen
Webschnittstelle.PC-BSD
PC-BSD- Eine
massgeschneiderte Version von &os;, die sich an
- Desktop-Benutzern mit graphischen
- Oberflächenwerkzeugen orientiert, um die
- Mächtigkeit von &os; allen Benutzern zur
- Verfügung zu stellen. Entwickelt wurde sie mit dem
+ Desktop-Benutzern mit graphischen Oberflächenwerkzeugen
+ orientiert, um die Mächtigkeit von &os; allen Benutzern
+ zur Verfügung zu stellen. Entwickelt wurde sie mit dem
Ziel, den Übergang von Windows- und OS X-Benutzern zu
erleichtern.pfSense
pfSense- Eine
Firewalldistribution basierend auf &os; mit eine grossen
- Menge von Fähigkeiten und ausgedehnter
- IPv6-Unterstützung.
+ Menge von Fähigkeiten und ausgedehnter
+ IPv6-Unterstützung.
m0n0wall
m0n0wall- Eine
abgespeckt Version von &os;, die zusammen mit einem
Webserver und PHP ausgeliefert wird. Entwickelt als eine
eingebettete Firewall-Appliance mit einem Verbrauch von
weniger als 12 MB.ZRouter
ZRouter- Eine Open
- Source Firmware-Alternative für eingebettete
- Geräte, die auf &os; basiert. Entwickelt wurde sie,
- um die proprietäre Firmware von Standard-Routern zu
+ Source Firmware-Alternative für eingebettete Geräte, die
+ auf &os; basiert. Entwickelt wurde sie, um die
+ proprietäre Firmware von Standard-Routern zu
ersetzen.
- &os; wird auch dazu eingesetzt, um einige der
- grössten Webseiten des Internets zu betreiben. Dazu
- gehören:
+ &os; wird auch dazu eingesetzt, um einige der grössten
+ Webseiten des Internets zu betreiben. Dazu gehören:Yahoo!
Yahoo!Yandex
YandexRambler
RamblerSina
SinaPair
Networks Pair NetworksSony
Japan Sony JapanNetcraft
NetcraftNetflix
NetflixNetEase
NetEaseWeathernews
WeathernewsTELEHOUSE
America TELEHOUSE Americaund viele weitere. Wikipedia pflegt eine Liste
von Produkten, die auf &os; basieren.Über das &os; ProjektDer folgende Abschnitt bietet einige
- Hintergrundinformationen zum &os; Projekt,
- einschließlich einem kurzen geschichtlichen Abriss,
- den Projektzielen und dem Entwicklungsmodell.
+ Hintergrundinformationen zum &os; Projekt, einschließlich
+ einem kurzen geschichtlichen Abriss, den Projektzielen und dem
+ Entwicklungsmodell.
Kurzer geschichtlicher Abriss zu &os;386BSD PatchkitHubbard, JordanWilliams, NateGrimes, RodFreeBSD ProjektGeschichte
- Das &os; Projekt erblickte das Licht der Welt Anfang
- 1993 teils als Auswuchs des Unofficial 386BSD
+ Das &os; Projekt erblickte das Licht der Welt Anfang 1993
+ teils als Auswuchs des Unofficial 386BSD
Patchkit unter der Regie der letzten drei
Koordinatoren des Patchkits: Nate Williams, Rod Grimes und
Jordan Hubbard.386BSD
- Das ursprüngliche Ziel war es, einen
- zwischenzeitlichen Abzug von 386BSD zu erstellen, um ein
- paar Probleme zu beseitigen, die das Patchkit-Verfahren
- nicht lösen konnte. Der frühe Arbeitstitel
- für das Projekt war 386BSD 0.5 oder
- 386BSD Interim als Referenz darauf.
+ Das ursprüngliche Ziel war es, einen zwischenzeitlichen
+ Abzug von 386BSD zu erstellen, um ein paar Probleme zu
+ beseitigen, die das Patchkit-Verfahren nicht lösen
+ konnte. Der frühe Arbeitstitel für das Projekt war
+ 386BSD 0.5 oder 386BSD Interim
+ als Referenz darauf.Jolitz, Bill386BSD war das Betriebssystem von Bill Jolitz, welches bis
- zu diesem Zeitpunkt heftig unter fast einjähriger
- Vernachlässigung litt. Als das Patchkit mit jedem
- Tag anschwoll und unhandlicher wurde, entschied man sich, Bill
- Jolitz zu helfen, indem ein übergangsweise
- bereinigter Abzug zur Verfügung
- gestellt wurde. Diese Pläne wurden durchkreuzt, als Bill
- Jolitz plötzlich seine Zustimmung zu diesem Projekt
- zurückzog, ohne einen Hinweis darauf, was
- stattdessen geschehen sollte.
+ zu diesem Zeitpunkt heftig unter fast einjähriger
+ Vernachlässigung litt. Als das Patchkit mit jedem Tag
+ anschwoll und unhandlicher wurde, entschied man sich, Bill
+ Jolitz zu helfen, indem ein übergangsweise
+ bereinigter Abzug zur Verfügung gestellt
+ wurde. Diese Pläne wurden durchkreuzt, als Bill Jolitz
+ plötzlich seine Zustimmung zu diesem Projekt zurückzog,
+ ohne einen Hinweis darauf, was stattdessen geschehen
+ sollte.Greenman, DavidWalnut Creek CDROMDas Trio entschied, dass das Ziel sich weiterhin lohnen
- würde, selbst ohne die Unterstützung von Bill und so
- wurde entschieden, den Namen &os; zu verwenden, der von David
- Greenman geprägt wurde. Die anfänglichen Ziele
- wurden festgelegt, nachdem man sich mit den momentanen
- Benutzern des Systems besprach und abzusehen war, dass das
- Projekt die Chance hatte, Realität zu werden,
- kontaktierte Jordan Walnut Creek CDROM mit dem Vorhaben, &os;s
- Verteilung auch auf diejenigen auszuweiten, die noch keinen
- Internetzugang besaßen. Walnut Creek CDROM
- unterstützte nicht nur die Idee durch die Verbreitung von
- &os; auf CD, sondern ging auch so weit dass es dem Projekt
- eine Maschine mit schneller Internetverbindung zur
- Verfügung stellte, um damit zu arbeiten. Ohne den von
- Walnut Creek bisher nie dagewesenen Grad von Vertrauen in ein,
- zur damaligen Zeit, komplett unbekanntes Projekt, wäre es
- unwahrscheinlich, dass &os; so weit gekommen wäre, wie es
- heute ist.
+ würde, selbst ohne die Unterstützung von Bill und so wurde
+ entschieden, den Namen &os; zu verwenden, der von David
+ Greenman geprägt wurde. Die anfänglichen Ziele wurden
+ festgelegt, nachdem man sich mit den momentanen Benutzern des
+ Systems besprach und abzusehen war, dass das Projekt die
+ Chance hatte, Realität zu werden, kontaktierte Jordan Walnut
+ Creek CDROM mit dem Vorhaben, &os;s Verteilung auch auf
+ diejenigen auszuweiten, die noch keinen Internetzugang
+ besaßen. Walnut Creek CDROM unterstützte nicht nur die
+ Idee durch die Verbreitung von &os; auf CD, sondern ging auch
+ so weit dass es dem Projekt eine Maschine mit schneller
+ Internetverbindung zur Verfügung stellte, um damit zu
+ arbeiten. Ohne den von Walnut Creek bisher nie dagewesenen
+ Grad von Vertrauen in ein, zur damaligen Zeit, komplett
+ unbekanntes Projekt, wäre es unwahrscheinlich, dass &os; so
+ weit gekommen wäre, wie es heute ist.
4.3BSD-LiteNet/2U.C. Berkeley386BSDFree Software Foundation
- Die erste auf CD-ROM (und netzweit) verfügbare
- Veröffentlichung war &os; 1.0 im Dezember 1993.
- Diese basierte auf dem Band der 4.3BSD-Lite
- (Net/2) der Universität von Kalifornien in
- Berkeley. Viele Teile stammten aus 386BSD und von der Free
- Software Foundation. Gemessen am ersten Angebot, war das
- ein ziemlicher Erfolg und Sie ließen dem das extrem
- erfolgreiche &os; 1.1 im Mai 1994 folgen.
+ Die erste auf CD-ROM (und netzweit) verfügbare
+ Veröffentlichung war &os; 1.0 im Dezember 1993. Diese
+ basierte auf dem Band der 4.3BSD-Lite (Net/2)
+ der Universität von Kalifornien in Berkeley. Viele Teile
+ stammten aus 386BSD und von der Free Software Foundation.
+ Gemessen am ersten Angebot, war das ein ziemlicher Erfolg und
+ Sie ließen dem das extrem erfolgreiche &os; 1.1 im
+ Mai 1994 folgen.NovellU.C. BerkeleyNet/2AT&TZu dieser Zeit formierten sich unerwartete Gewitterwolken
- am Horizont, als Novell und die Universität von
+ am Horizont, als Novell und die Universität von
Kalifornien in Berkeley (UCB) ihren langen Rechtsstreit
- über den rechtlichen Status des Berkeley Net/2-Bandes
+ über den rechtlichen Status des Berkeley Net/2-Bandes
mit einem Vergleich beilegten. Eine Bedingung dieser
Einigung war es, dass die UCB große Teile des
Net/2-Quellcodes als belastet zugestehen
musste, und dass diese Besitz von Novell sind, welches den
Code selbst einige Zeit vorher von AT&T bezogen hatte.
Im Gegenzug bekam die UCB den Segen von
Novell, dass sich das 4.4BSD-Lite-Release bei seiner
- endgültigen Veröffentlichung als unbelastet
- bezeichnen darf. Alle Net/2-Benutzer sollten auf das neue
- Release wechseln. Das betraf auch &os;. Dem Projekt wurde
- eine Frist bis Ende Juli 1994 eingeräumt, das auf
+ endgültigen Veröffentlichung als unbelastet bezeichnen
+ darf. Alle Net/2-Benutzer sollten auf das neue Release
+ wechseln. Das betraf auch &os;. Dem Projekt wurde eine
+ Frist bis Ende Juli 1994 eingeräumt, das auf
Net/2-basierende Produkt nicht mehr zu vertreiben. Unter
- den Bedingungen dieser Übereinkunft war es dem
- Projekt noch erlaubt ein letztes Release vor diesem
- festgesetzten Zeitpunkt herauszugeben. Das war
- &os; 1.1.5.1.
+ den Bedingungen dieser Übereinkunft war es dem Projekt
+ noch erlaubt ein letztes Release vor diesem festgesetzten
+ Zeitpunkt herauszugeben. Das war &os; 1.1.5.1.
&os; machte sich dann an die beschwerliche Aufgabe, sich
- Stück für Stück aus einem neuen und
- ziemlich unvollständigen Satz von 4.4BSD-Lite-Teilen,
- wieder aufzubauen. Die Lite
- -Veröffentlichungen waren deswegen leicht, weil Berkeleys
- CSRG große Code-Teile, die für ein start- und
- lauffähiges System gebraucht wurden, aufgrund
- diverser rechtlicher Anforderungen entfernen musste und
- weil die 4.4-Portierung für Intel-Rechner extrem
- unvollständig war. Das Projekt hat bis November 1994
- gebraucht diesen Übergang zu vollziehen, was dann zu dem
- im Netz veröffentlichten &os; 2.0 und zur
- CD-ROM-Version (im späten Dezember) führte. Obwohl
- &os; gerade die ersten Hürden genommen hatte, war dieses
- Release ein maßgeblicher Erfolg. Diesem folgte im
- Juni 1995 das robustere und einfacher zu installierende
- &os; 2.0.5.
+ Stück für Stück aus einem neuen und ziemlich
+ unvollständigen Satz von 4.4BSD-Lite-Teilen, wieder
+ aufzubauen. Die Lite -Veröffentlichungen
+ waren deswegen leicht, weil Berkeleys CSRG große
+ Code-Teile, die für ein start- und lauffähiges System
+ gebraucht wurden, aufgrund diverser rechtlicher
+ Anforderungen entfernen musste und weil die 4.4-Portierung
+ für Intel-Rechner extrem unvollständig war. Das Projekt hat
+ bis November 1994 gebraucht diesen Übergang zu
+ vollziehen, was dann zu dem im Netz veröffentlichten
+ &os; 2.0 und zur CD-ROM-Version (im späten Dezember)
+ führte. Obwohl &os; gerade die ersten Hürden genommen
+ hatte, war dieses Release ein maßgeblicher Erfolg.
+ Diesem folgte im Juni 1995 das robustere und einfacher zu
+ installierende &os; 2.0.5.
Seit dieser Zeit hat &os; eine Reihe von Releases
- veröffentlicht, die jedes mal die Stabilität,
- Geschwindigkeit und Menge an verfügbaren Eigenschaften
- der vorherigen Version verbessert.
+ veröffentlicht, die jedes mal die Stabilität,
+ Geschwindigkeit und Menge an verfügbaren Eigenschaften der
+ vorherigen Version verbessert.
Momentan werden langfristige Entwicklungsprojekte im
- 10.X-CURRENT (Trunk)-Zweig durchgeführt, und Abzüge
- (Snapshots) der Releases von 10.X werden regelmässig auf
- den Snapshot-Servern
- zur Verfügung gestellt.
+ zur Verfügung gestellt.
Ziele des &os;-ProjektsJordanHubbardBeigetragen von FreeBSD ProjektZiele
- Das &os; Project stellt Software her, die ohne
- Einschränkungen für beliebige Zwecke eingesetzt
- werden kann. Viele von uns haben beträchtlich in
- Quellcode und das Projekt investiert und hätten sicher
- nichts dagegen, hin und wieder ein wenig finanziellen
- Ausgleich dafür zu bekommen. Aber in keinem Fall
- bestehen wir darauf. Wir glauben unsere erste und wichtigste
- Mission ist es, Software für jeden
- Interessierten und zu jedem Zweck zur Verfügung zu
- stellen, damit die Software größtmögliche
- Verbreitung erlangt und größtmöglichen Nutzen
- stiftet. Das ist, glaube ich, eines der grundlegenden Ziele
- freier Software, welche wir mit größter
- Begeisterung unterstützen.
+ Das &os; Projekt stellt Software her, die ohne
+ Einschränkungen für beliebige Zwecke eingesetzt werden kann.
+ Viele von uns haben beträchtlich in Quellcode und das Projekt
+ investiert und hätten sicher nichts dagegen, hin und wieder
+ ein wenig finanziellen Ausgleich dafür zu bekommen.
+ Aber in keinem Fall bestehen wir darauf. Wir glauben unsere
+ erste und wichtigste Mission ist es, Software
+ für jeden Interessierten und zu jedem Zweck zur Verfügung
+ zu stellen, damit die Software größtmögliche
+ Verbreitung erlangt und größtmöglichen Nutzen stiftet.
+ Das ist, glaube ich, eines der grundlegenden Ziele freier
+ Software, welche wir mit größter Begeisterung
+ unterstützen.GNU General Public License (GPL)GNU Lesser General Public License (LGPL)BSD CopyrightDer Code in unserem Quellbaum, der unter die General
Public License (GPL) oder die Library General Public License
- (LGPL) fällt, stellt geringfügig mehr Bedingungen.
- Das aber vielmehr im Sinne von eingefordertem Zugriff, als das
- übliche Gegenteil der Beschränkungen. Aufgrund
- zusätzlicher Abhängigkeiten, die sich durch die
- Verwendung von GPL-Software bei kommerziellem Gebrauch
- ergeben, bevorzugen wir daher Software unter dem
- transparenteren BSD-Copyright, wo immer es angebracht
- ist.
+ (LGPL) fällt, stellt geringfügig mehr Bedingungen. Das aber
+ vielmehr im Sinne von eingefordertem Zugriff, als das übliche
+ Gegenteil der Beschränkungen. Aufgrund zusätzlicher
+ Abhängigkeiten, die sich durch die Verwendung von
+ GPL-Software bei kommerziellem Gebrauch ergeben, bevorzugen
+ wir daher Software unter dem transparenteren BSD-Copyright, wo
+ immer es angebracht ist.
Das &os;-EntwicklungsmodellSatoshiAsamiBeigetragen von FreeBSD ProjektEntwicklungsmodell
- Die Entwicklung von &os; ist ein offener und
- flexibler Prozess, der durch den Beitrag von buchstäblich
- tausenden Leuten rund um die Welt ermöglicht wird, wie
- an der Die Entwicklung von &os; ist ein offener und flexibler
+ Prozess, der durch den Beitrag von buchstäblich tausenden
+ Leuten rund um die Welt ermöglicht wird, wie an der Liste
- der Beitragenden ersehen können. Die vielen
- Entwickler können aufgrund der Entwicklungs-Infrastruktur
- von &os; über das Internet zusammenarbeiten. Wir suchen
- ständig nach neuen Entwicklern, Ideen und jenen, die sich
- in das Projekt tiefer einbringen wollen. Nehmen Sie einfach
- auf der Mailingliste &a.hackers; Kontakt mit uns auf. Die
- Mailingliste &a.announce; steht für wichtige
- Ankündigungen, die alle &os;-Benutzer betreffen, zur
- Verfügung.
-
- Unabhängig davon ob Sie alleine oder mit
- anderen eng zusammen arbeiten, enthält die folgende
- Aufstellung nützliche Informationen über das &os;
- Projekt und dessen Entwicklungsabläufe.
+ der Beitragenden ersehen können. Die vielen
+ Entwickler können aufgrund der Entwicklungs-Infrastruktur von
+ &os; über das Internet zusammenarbeiten. Wir suchen ständig
+ nach neuen Entwicklern, Ideen und jenen, die sich in das
+ Projekt tiefer einbringen wollen. Nehmen Sie einfach auf der
+ Mailingliste &a.hackers; Kontakt mit uns auf. Die Mailingliste
+ &a.announce; steht für wichtige Ankündigungen, die alle
+ &os;-Benutzer betreffen, zur Verfügung.
+
+ Unabhängig davon ob Sie alleine oder mit anderen eng
+ zusammen arbeiten, enthält die folgende Aufstellung
+ nützliche Informationen über das &os; Projekt und dessen
+ Entwicklungsabläufe.Die SVN-RepositoriesCVSCVS-RepositoryConcurrent Versions SystemCVSSubversionSubversion-RepositorySVNSubversion
- Der Hauptquellbaum von &os; wurde über viele
- Jahre ausschließlich mit CVS
- (Concurrent-Versions-System) gepflegt, einem
- frei erhältlichen Versionskontrollsystem, welches
- mit &os; geliefert wird. Im Juni 2008 begann das &os;
- Project mit dem Umstieg auf SVN
(Subversion). Dieser Schritt wurde notwendig, weil
- durch technische Einschränkungen von
+ durch technische Einschränkungen von
CVS aufgrund des rapide
wachsenden Quellcodebaumes und dem Umfang der bereits
gespeichterten Revisisionsinformationen an dessen
Grenzen zu stoßen begann. Die Repositories des
Dokumentationsprojekts und die Ports-Sammlung wurden
ebenfalls von CVS zu
SVN im Mai und Juli 2012
umgezogen. Lesen Sie dazu Synchronisation der
- Quellen für weitere Informationen zum
+ Quellen für weitere Informationen zum
Beziehen der &os; src/ Repository
und Die Ports-Sammlung
- verwenden für Details zum Beziehen der
- &os; Ports-Sammlung.
+ verwenden für Details zum Beziehen der &os;
+ Ports-Sammlung.
Die Committer-ListeDie CommitterCommitter sind diejenigen Leute, welche
schreibenden Zugriff auf den
Subversion-Baum besitzen und berechtigt sind,
Änderungen an den &os;-Quellen (der Begriff
Committer stammt aus dem
Versionskontrollbefehl commit , der
dazu verwendet wird, Änderungen in das Repository
- zu bringen). Die beste Möglichkeit, Beiträge
- zur Bewertung der Committer-Liste einzusenden, ist das
+ zu bringen). Die beste Möglichkeit, Beiträge zur
+ Bewertung der Committer-Liste einzusenden, ist das
&man.send-pr.1;-Kommando. Falls etwas an diesem System
- nicht zu funktionieren scheint, dann können Sie
- diese ebenso durch eine E-Mail an &a.committers;
+ nicht zu funktionieren scheint, dann können Sie diese
+ ebenso durch eine E-Mail an &a.committers;
erreichen.The FreeBSD core teamDie &os; core teamCore Teamist mit dem Vorstand vergleichbar, wenn das
- &os; Projekt ein Unternehmen wäre. Die
+ &os; Projekt ein Unternehmen wäre. Die
Hauptaufgabe des Core Teams ist es sicherzustellen, dass
sich das Projekt als Ganzes in einem guten Zustand
befindet und sich in die richtige Richtung bewegt. Das
Einladen von engagierten und verantwortungsvollen
Entwicklern zu dem Zweck, sich der Gruppe von Committern
anzuschliessen, ist eine der Funktionen des Core Teams,
genauso wie neue Mitglieder des Core Teams zu
rekrutieren, wenn andere ausscheiden. Das aktuelle Core
Team wurde aus einer Menge von Kandidaten aus dem Kreis
- der Committer im Juli 2012 gewählt. Wahlen werden
- alle zwei Jahre abgehalten.
+ der Committer im Juli 2012 gewählt. Wahlen werden alle
+ zwei Jahre abgehalten.
Wie die meisten Entwickler auch, sind die
Mitglieder des Core Teams Freiwillige, wenn es um die
Entwicklung von &os; geht und erhalten keinerlei
finanziellen Vorteil aus dem Projekt, deshalb sollte
Verpflichtung nicht fehlverstanden
- werden mit garantierter
- Unterstützung. Die
- Vorstands-Analogie oben ist nicht sehr
- akkurat und kann vielleicht besser damit umschrieben
- werden, dass diese Leute ihr Leben für &os; gegen
- jedwede Vernunft geopfert haben.
+ werden mit garantierter Unterstützung.
+ Die Vorstands-Analogie oben ist nicht
+ sehr akkurat und kann vielleicht besser damit
+ umschrieben werden, dass diese Leute ihr Leben für
+ &os; gegen jedwede Vernunft geopfert haben.
Aussenstehende Beitragende
- Schliesslich stellt die grösste, aber
+ Schliesslich stellt die grösste, aber
nichtsdestotrotz wichtigste Gruppe von Entwicklern die
- der Benutzer selbst dar, die stetig Rückmeldungen
- und Fehlerbehebungen liefert. Der hauptsächliche
- Weg mit &os;s nicht-zentralisierter Entwicklung Kontakt
- zu halten, ist, die &a.hackers; Mailingliste zu
- abonnieren, auf der solche Dinge diskutiert werden.
- Lesen Sie dazu für
- weitere Informationen über die verschiedenen
- &os;-Mailinglisten.
+ der Benutzer selbst dar, die stetig Rückmeldungen und
+ Fehlerbehebungen liefert. Der hauptsächliche Weg mit
+ &os;s nicht-zentralisierter Entwicklung Kontakt zu
+ halten, ist, die &a.hackers; Mailingliste zu abonnieren,
+ auf der solche Dinge diskutiert werden. Lesen Sie dazu
+ für weitere Informationen
+ über die verschiedenen &os;-Mailinglisten.Liste
der BeitragendenBeitragende ist eine,
- die lang ist und stetig wächst, also warum nicht
- &os; beitreten und noch heute etwas
- zurückgeben?
+ die lang ist und stetig wächst, also warum nicht &os;
+ beitreten und noch heute etwas zurückgeben?
Code ist nicht die einzige Art, zu dem Projekt etwas
- beizutragen. Für eine ausführlichere Liste von
- Dingen die getan werden müssen, lesen Sie auf der
- &os; Projektwebseite.Zusammenfassend ist unser Entwicklungsmodell als eine lose
Menge von konzentrischen Kreisen organisiert. Das
- zentralisierte Modell ist mit der Praktikabilität der
+ zentralisierte Modell ist mit der Praktikabilität der
Anwender von &os; entworfen worden, die
- mit der einfachen Art einhergeht, eine zentrale Basis für
- den Code zu haben und keine potentiellen Beiträge
+ mit der einfachen Art einhergeht, eine zentrale Basis für den
+ Code zu haben und keine potentiellen Beiträge
auszuschliessen! Unser Ansporn ist es, ein stabiles
- Betriebssystem mit einer grossen Menge von kohärenten
- Anwendungsprogrammen, welches die
- Benutzer einfach installieren und verwenden können -
- dieses Modell funktioniert darin sehr gut, dieses Ziel zu
+ Betriebssystem mit einer grossen Menge von kohärenten Anwendungsprogrammen, welches die
+ Benutzer einfach installieren und verwenden können - dieses
+ Modell funktioniert darin sehr gut, dieses Ziel zu
erreichen.Alles was wir von denen verlangen, die uns als
&os;-Entwickler beitreten ist, etwas von der gleichen Hingabe
an den Erfolg, die seine momentanen Gemeinschaft inne hat, zu
besitzen.Programme von Drittherstellern
- Zusätzlich zur Basisdistribution bietet &os; eine
+ Zusätzlich zur Basisdistribution bietet &os; eine
Sammlung von portierter Software mit tausenden der am meisten
nachgefragten Programme an. Als diese Zeilen geschrieben
- wurden, gab es über &os.numports; Ports! Die Liste der
- Ports reicht von HTTP-Servern, zu Spielen, Sprachen, Editoren
- und so ziemlich alles, was dazwischen liegt. Die gesamte
- Port-Sammlung ist geschätzt &ports.size; gross. Um einen
- Port zu übersetzen, wechseln Sie einfach in das
- Verzeichnis des Programms, das sie installieren möchten
- und geben make install ein und das System
- erledigt den Rest. Die gesamte Originaldistribution für
- jeden Port, den Sie bauen wird dynamisch heruntergeladen, so
- dass sie nur genügend Plattenplatz zum bauen des Ports,
- den sie haben möchten, zur Verfügung stellen
- müssen. Fast jeder Port ist auch als
- vorkompiliertesPaket, das über das
- folgende einfache Kommando (pkg_add)
- für diejenigen, die keine kompilierten Port aus den
- Quellen wünschen. Weitere Informationen zu Ports und
- Paketen finden Sie in .
+ wurden, gab es über &os.numports; Ports! Die Liste der Ports
+ reicht von HTTP-Servern, zu Spielen, Sprachen, Editoren und so
+ ziemlich alles, was dazwischen liegt. Die gesamte
+ Port-Sammlung ist geschätzt &ports.size; gross. Um einen Port
+ zu übersetzen, wechseln Sie einfach in das Verzeichnis des
+ Programms, das sie installieren möchten und geben
+ make install ein und das System erledigt
+ den Rest. Die gesamte Originaldistribution für jeden Port,
+ den Sie bauen wird dynamisch heruntergeladen, so dass sie nur
+ genügend Plattenplatz zum bauen des Ports, den sie haben
+ möchten, zur Verfügung stellen müssen. Fast jeder Port ist
+ auch als vorkompiliertesPaket, das über das
+ folgende einfache Kommando (pkg_add) für
+ diejenigen, die keine kompilierten Port aus den Quellen
+ wünschen. Weitere Informationen zu Ports und Paketen finden
+ Sie in .
- Zusätzliche Dokumentation
+ Zusätzliche DokumentationAlle momentanen &os; Versionen bieten eine Option im
Installer (entweder &man.sysinstall.8; oder
- &man.bsdinstall.8;), um zusätzliche Dokumentation unter
- /usr/local/share/doc/freebsd während
- des initialen Systemsetups zu installieren. Dokumentation kann
- auch zu einem späteren Zeitpunkt über Pakete
- installiert werden, wie es beschreibt. Sie
- können ebenso die lokal installierten Anleitungen mit
- jedem HTML-fähigen Browser lesen, indem Sie die folgende
- URL verwenden:
+ &man.bsdinstall.8;), um zusätzliche Dokumentation unter
+ /usr/local/share/doc/freebsd während des
+ initialen Systemsetups zu installieren. Dokumentation kann
+ auch zu einem späteren Zeitpunkt über Pakete installiert
+ werden, wie es
+ beschreibt. Sie können ebenso die lokal installierten
+ Anleitungen mit jedem HTML-fähigen Browser lesen, indem Sie
+ die folgende URL verwenden:
Das FreeBSD Handbuch/usr/local/share/doc/freebsd/handbook/index.htmlDie FreeBSD FAQ/usr/local/share/doc/freebsd/faq/index.html
- Genauso erhalten Sie auch die Master (und am
- häufigsten aktualisierten) Kopien von Genauso erhalten Sie auch die Master (und am häufigsten
+ aktualisierten) Kopien von http://www.FreeBSD.org/.