diff --git a/de_DE.ISO8859-1/books/handbook/Makefile b/de_DE.ISO8859-1/books/handbook/Makefile
index 65b686d316..b8beaab98c 100644
--- a/de_DE.ISO8859-1/books/handbook/Makefile
+++ b/de_DE.ISO8859-1/books/handbook/Makefile
@@ -1,228 +1,241 @@
#
# $FreeBSD$
-# $FreeBSDde: de-docproj/books/handbook/Makefile,v 1.53 2007/04/11 19:41:36 jkois Exp $
-# basiert auf: 1.102
+# $FreeBSDde: de-docproj/books/handbook/Makefile,v 1.54 2007/04/29 14:05:23 jkois Exp $
+# basiert auf: 1.103
#
# Build the FreeBSD Handbook in its German translation.
#
.PATH: ${.CURDIR}/../../share/sgml/glossary
MAINTAINER=de-bsd-translators@de.FreeBSD.org
DOC?= book
FORMATS?= html-split
HAS_INDEX= true
USE_PS2PDF= yes
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
IMAGES_EN = advanced-networking/isdn-bus.eps
IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps
IMAGES_EN+= advanced-networking/natd.eps
IMAGES_EN+= advanced-networking/net-routing.pic
IMAGES_EN+= advanced-networking/static-routes.pic
IMAGES_EN+= geom/striping.pic
IMAGES_EN+= install/adduser1.scr
IMAGES_EN+= install/adduser2.scr
IMAGES_EN+= install/adduser3.scr
IMAGES_EN+= install/boot-mgr.scr
IMAGES_EN+= install/console-saver1.scr
IMAGES_EN+= install/console-saver2.scr
IMAGES_EN+= install/console-saver3.scr
IMAGES_EN+= install/console-saver4.scr
IMAGES_EN+= install/desktop.scr
IMAGES_EN+= install/disklabel-auto.scr
IMAGES_EN+= install/disklabel-ed1.scr
IMAGES_EN+= install/disklabel-ed2.scr
IMAGES_EN+= install/disklabel-fs.scr
IMAGES_EN+= install/disklabel-root1.scr
IMAGES_EN+= install/disklabel-root2.scr
IMAGES_EN+= install/disklabel-root3.scr
IMAGES_EN+= install/disk-layout.eps
IMAGES_EN+= install/dist-set.scr
IMAGES_EN+= install/dist-set2.scr
IMAGES_EN+= install/docmenu1.scr
IMAGES_EN+= install/ed0-conf.scr
IMAGES_EN+= install/ed0-conf2.scr
IMAGES_EN+= install/edit-inetd-conf.scr
IMAGES_EN+= install/fdisk-drive1.scr
IMAGES_EN+= install/fdisk-drive2.scr
IMAGES_EN+= install/fdisk-edit1.scr
IMAGES_EN+= install/fdisk-edit2.scr
IMAGES_EN+= install/ftp-anon1.scr
IMAGES_EN+= install/ftp-anon2.scr
IMAGES_EN+= install/hdwrconf.scr
IMAGES_EN+= install/keymap.scr
IMAGES_EN+= install/main1.scr
IMAGES_EN+= install/mainexit.scr
IMAGES_EN+= install/main-std.scr
IMAGES_EN+= install/main-options.scr
IMAGES_EN+= install/main-doc.scr
IMAGES_EN+= install/main-keymap.scr
IMAGES_EN+= install/media.scr
IMAGES_EN+= install/mouse1.scr
IMAGES_EN+= install/mouse2.scr
IMAGES_EN+= install/mouse3.scr
IMAGES_EN+= install/mouse4.scr
IMAGES_EN+= install/mouse5.scr
IMAGES_EN+= install/mouse6.scr
IMAGES_EN+= install/mta-main.scr
IMAGES_EN+= install/net-config-menu1.scr
IMAGES_EN+= install/net-config-menu2.scr
IMAGES_EN+= install/nfs-server-edit.scr
IMAGES_EN+= install/ntp-config.scr
IMAGES_EN+= install/options.scr
IMAGES_EN+= install/pkg-cat.scr
IMAGES_EN+= install/pkg-confirm.scr
IMAGES_EN+= install/pkg-install.scr
IMAGES_EN+= install/pkg-sel.scr
IMAGES_EN+= install/probstart.scr
IMAGES_EN+= install/routed.scr
IMAGES_EN+= install/security.scr
IMAGES_EN+= install/sysinstall-exit.scr
IMAGES_EN+= install/timezone1.scr
IMAGES_EN+= install/timezone2.scr
IMAGES_EN+= install/timezone3.scr
IMAGES_EN+= install/userconfig.scr
IMAGES_EN+= install/userconfig2.scr
IMAGES_EN+= install/xf86setup.scr
IMAGES_EN+= install/example-dir1.eps
IMAGES_EN+= install/example-dir2.eps
IMAGES_EN+= install/example-dir3.eps
IMAGES_EN+= install/example-dir4.eps
IMAGES_EN+= install/example-dir5.eps
IMAGES_EN+= mail/mutt1.scr
IMAGES_EN+= mail/mutt2.scr
IMAGES_EN+= mail/mutt3.scr
IMAGES_EN+= mail/pine1.scr
IMAGES_EN+= mail/pine2.scr
IMAGES_EN+= mail/pine3.scr
IMAGES_EN+= mail/pine4.scr
IMAGES_EN+= mail/pine5.scr
IMAGES_EN+= security/ipsec-network.pic
IMAGES_EN+= security/ipsec-crypt-pkt.pic
IMAGES_EN+= security/ipsec-encap-pkt.pic
IMAGES_EN+= security/ipsec-out-pkt.pic
IMAGES_EN+= vinum/vinum-concat.pic
IMAGES_EN+= vinum/vinum-mirrored-vol.pic
IMAGES_EN+= vinum/vinum-raid10-vol.pic
IMAGES_EN+= vinum/vinum-raid5-org.pic
IMAGES_EN+= vinum/vinum-simple-vol.pic
IMAGES_EN+= vinum/vinum-striped-vol.pic
IMAGES_EN+= vinum/vinum-striped.pic
+IMAGES_EN+= virtualization/parallels-freebsd1.png
+IMAGES_EN+= virtualization/parallels-freebsd2.png
+IMAGES_EN+= virtualization/parallels-freebsd3.png
+IMAGES_EN+= virtualization/parallels-freebsd4.png
+IMAGES_EN+= virtualization/parallels-freebsd5.png
+IMAGES_EN+= virtualization/parallels-freebsd6.png
+IMAGES_EN+= virtualization/parallels-freebsd7.png
+IMAGES_EN+= virtualization/parallels-freebsd8.png
+IMAGES_EN+= virtualization/parallels-freebsd9.png
+IMAGES_EN+= virtualization/parallels-freebsd10.png
+IMAGES_EN+= virtualization/parallels-freebsd11.png
+IMAGES_EN+= virtualization/parallels-freebsd12.png
+IMAGES_EN+= virtualization/parallels-freebsd13.png
# Images from the cross-document image library
IMAGES_LIB= callouts/1.png
IMAGES_LIB+= callouts/2.png
IMAGES_LIB+= callouts/3.png
IMAGES_LIB+= callouts/4.png
IMAGES_LIB+= callouts/5.png
IMAGES_LIB+= callouts/6.png
IMAGES_LIB+= callouts/7.png
IMAGES_LIB+= callouts/8.png
IMAGES_LIB+= callouts/9.png
IMAGES_LIB+= callouts/10.png
#
# SRCS lists the individual SGML files that make up the document. Changes
# to any of these files will force a rebuild
#
# SGML content
SRCS+= audit/chapter.sgml
SRCS+= book.sgml
SRCS+= colophon.sgml
SRCS+= freebsd-glossary.sgml
SRCS+= advanced-networking/chapter.sgml
SRCS+= basics/chapter.sgml
SRCS+= bibliography/chapter.sgml
SRCS+= boot/chapter.sgml
SRCS+= config/chapter.sgml
SRCS+= cutting-edge/chapter.sgml
SRCS+= desktop/chapter.sgml
SRCS+= disks/chapter.sgml
SRCS+= eresources/chapter.sgml
SRCS+= firewalls/chapter.sgml
SRCS+= geom/chapter.sgml
SRCS+= install/chapter.sgml
SRCS+= introduction/chapter.sgml
SRCS+= jails/chapter.sgml
SRCS+= kernelconfig/chapter.sgml
SRCS+= l10n/chapter.sgml
SRCS+= linuxemu/chapter.sgml
SRCS+= mac/chapter.sgml
SRCS+= mail/chapter.sgml
SRCS+= mirrors/chapter.sgml
SRCS+= multimedia/chapter.sgml
SRCS+= network-servers/chapter.sgml
SRCS+= pgpkeys/chapter.sgml
SRCS+= ports/chapter.sgml
SRCS+= ppp-and-slip/chapter.sgml
SRCS+= preface/preface.sgml
SRCS+= printing/chapter.sgml
SRCS+= security/chapter.sgml
SRCS+= serialcomms/chapter.sgml
SRCS+= users/chapter.sgml
SRCS+= vinum/chapter.sgml
SRCS+= virtualization/chapter.sgml
SRCS+= x11/chapter.sgml
# Entities
SRCS+= chapters.ent
SRCS+= newsgroups.ent
# alle Kapitel bauen
CHAPTERS?= ${SRCS:M*chapter.sgml}
SGMLFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./}
SGMLFLAGS+= -i chap.freebsd-glossary
pgpkeyring: pgpkeys/chapter.sgml
@${JADE} -V nochunks ${OTHERFLAGS} ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC}
URL_RELPREFIX?= ../../../..
DOC_PREFIX?= ${.CURDIR}/../../..
#
# rules generating lists of mirror site from XML database.
#
XMLDOCS= mirrors-ftp:::mirrors.sgml.ftp.inc.tmp \
mirrors-cvsup:::mirrors.sgml.cvsup.inc.tmp \
eresources:::eresources.sgml.www.inc.tmp
DEPENDSET.DEFAULT= transtable mirror
XSLT.DEFAULT= ${XSL_MIRRORS}
XML.DEFAULT= ${XML_MIRRORS}
NO_TIDY.DEFAULT= yes
PARAMS.mirrors-ftp+= --param 'type' "'ftp'" \
--param 'proto' "'ftp'" \
--param 'target' "'handbook/mirrors/chapter.sgml'"
PARAMS.mirrors-cvsup+= --param 'type' "'cvsup'" \
--param 'proto' "'cvsup'" \
--param 'target' "'handbook/mirrors/chapter.sgml'"
PARAMS.eresources+= --param 'type' "'www'" \
--param 'proto' "'http'" \
--param 'target' "'handbook/eresources/chapter.sgml'"
SRCS+= mirrors.sgml.ftp.inc \
mirrors.sgml.cvsup.inc \
eresources.sgml.www.inc
CLEANFILES+= mirrors.sgml.ftp.inc mirrors.sgml.ftp.inc.tmp \
mirrors.sgml.cvsup.inc mirrors.sgml.cvsup.inc.tmp \
eresources.sgml.www.inc eresources.sgml.www.inc.tmp
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
.for p in ftp cvsup
mirrors.sgml.${p}.inc: mirrors.sgml.${p}.inc.tmp
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>\1>,;s,,,'\
< $@.tmp > $@ || (${RM} -f $@ && false)
.endfor
eresources.sgml.www.inc: eresources.sgml.www.inc.tmp
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>\1>,;s,,,'\
< $@.tmp > $@ || (${RM} -f $@ && false)
diff --git a/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml b/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
index e2b494679b..ff888d908e 100644
--- a/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.sgml
@@ -1,5396 +1,5487 @@
JohannKoisÜbersetzt von Weiterführende NetzwerkthemenÜbersichtDieses Kapitel beschreibt verschiedene
weiterführende Netzwerkthemen.Nachdem Sie dieses Kapitel gelesen haben, werden SieDie Grundlagen von Gateways und Routen kennen.Bluetooth- sowie drahtlose, der Norm IEEE 802.11
entsprechende, Geräte mit FreeBSD verwenden
können.Eine Bridge unter FreeBSD einrichten können.Einen plattenlosen Rechner über das Netzwerk starten
können.Wissen, wie man NAT (Network Address Translation)
einrichtet.Zwei Computer über PLIP verbinden können.IPv6 auf einem FreeBSD-Rechner einrichten
können.ATM einrichten können.
+
+
+ CARP, das Common Access 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 FreeBSD-Kernel konfigurieren und installieren
können ().Wissen, wie man zusätzliche Softwarepakete von
Drittherstellern installiert ().CoranthGryphonBeigetragen von Gateways und RoutenRoutingGatewaySubnetzDamit 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. FreeBSD 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.SubnetzFreeBSD 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 FreeBSD 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 FreeBSD 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. FreeBSD 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.AlHoangBeigetragen von Statische Routen einrichtenManuelle 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;.LoaderMarcFonvieilleMurrayStokelyDrahtlose NetzwerkeNetzwerke, 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 andere 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 Prokolle 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 seit der Version 6.0 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
Verkehrpriorisierung, 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 Netzkarte 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 für drahtlose Geräte
finden Sie in der Manualpage &man.wlan.4;. Gibt es
keinen nativen &os;-Treiber für Ihr drahtloses
Gerät, können Sie möglicherweise mit
NDIS einen
&windows;-Treiber verwenden.Neben dem korrekten Treiber benötigen Sie auch
die Unterstützung für 802.11-Netzwerke. Für
den &man.ath.4;-Treiber wird dazu automatisch das
Kernelmodul &man.wlan.4; 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 offen betreiben (also völlig ohne
Verschlüsselung), 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"Danach 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 ath # Atheros IEEE 802.11 wireless network driver
device ath_hal # Atheros Hardware Access Layer
device ath_rate_sample # John Bicket's SampleRate control algorithm.
device wlan # 802.11 support (Required)
device wlan_wep # WEP crypto support for 802.11 devices
device wlan_ccmp # AES-CCMP crypto support for 802.11 devices
device wlan_tkip # TKIP and Michael crypto support for 802.11 devicesDanach 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 0xff9f0000-0xff9fffff irq 17 at device 2.0 on pci2
ath0: Ethernet address: 00:11:95:d5:43:62
ath0: mac 7.9 phy 4.5 radio 5.6Infrastruktur-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 ath0 up scan
SSID BSSID CHAN RATE S:N INT CAPS
dlinkap 00:13:46:49:41:76 6 54M 29:0 100 EPS WPA WME
freebsdap 00:11:95:c3:0d:ac 1 54M 22:0 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.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 ath0 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:ifconfig_ath0="DHCP"Wollen Sie sich hingegen mit einem bestimmten
Access Point verbinden, müssen Sie dessen
SSID angeben:ifconfig_ath0="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):ifconfig_ath0="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 Acces 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 :ifconfig_ath0="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:ifconfig_ath0="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:ifconfig_ath0="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 ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
status: associated
ssid dlinkap channel 6 bssid 00:13:46:49:41:76
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100status: 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 informiert Sie darüber,
dass Ihre Kommunikation nicht verschlüsselt wird
(OPEN).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:ifconfig_ath0="inet 192.168.1.100 netmask 255.255.255.0 ssid Ihre_SSID"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
geknackt 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:ifconfig_ath0="WPA DHCP"Nun können Sie Ihr Netzgerät aktivieren:&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 5
DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 6
DHCPOFFER from 192.168.0.1
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
protmode CTS roaming MANUAL bintval 100Alternativ 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 ath0 -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=TKIP GTK=TKIP]Im zweiten Schritt starten Sie nun
dhclient, um eine IP-Adresse vom
DHCP-Server zu beziehen:&prompt.root; dhclient ath0
DHCPREQUEST on ath0 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 ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/48Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
protmode CTS roaming MANUAL bintval 100Enthält Ihre /etc/rc.conf
bereits die Zeile ifconfig_ath0="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 ath0 inet 192.168.0.100 netmask 255.255.255.0
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
protmode CTS roaming MANUAL bintval 100Verwenden 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:ifconfig_ath0="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 ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.20
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
txpowmax 36 protmode CTS roaming MANUAL bintval 100Alternativ 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 Zeile muss zusätzlich in die Datei
/etc/rc.conf aufgenommen werden:ifconfig_ath0="WPA DHCP"Nun können Sie Ihr drahtloses Gerät
aktivieren:&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.20
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
txpowmax 36 protmode CTS roaming MANUAL bintval 100WPA 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 Netzkarte noch
aktivieren:&prompt.root; /etc/rc.d/netif start
Starting wpa_supplicant.
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPREQUEST on ath0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.20
bound to 192.168.0.254 -- renewal in 300 seconds.
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
status: associated
ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
txpowmax 36 protmode CTS roaming MANUAL bintval 100WEPWEP (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 geknackt werden kann.WEP kann über ifconfig
aktiviert werden:&prompt.root; ifconfig ath0 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.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 ath0 -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 ath0 inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap mediaopt adhoc
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
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 <adhoc> (autoselect <adhoc>)
status: associated
ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100Der 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 ath0 up scan
SSID BSSID CHAN RATE S:N INT CAPS
freebsdap 02:11:95:c3:0d:ac 2 54M 19:0 100 ISDer 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 ath0 inet 192.168.0.2 netmask 255.255.255.0 ssid freebsdap mediaopt adhoc
&prompt.root; ifconfig ath0
ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:11:95:d5:43:62
media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>)
status: associated
ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac
authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100Damit sind die Rechner A und
B bereit und können untereinander
Daten austauschen.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.PavLucistnikBeigetragen von pav@FreeBSD.orgBluetoothBluetoothÜ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=294Verwenden Sie &os; 6.0 oder eine 5.X-Version vor 5.5,
müssen Sie den Bluetooth-Stack manuell starten. Ab
&os; 5.5 beziehungsweise 6.1 und neuer wird der Stack hingegen
automatisch von &man.devd.8; gestartet.Kopieren Sie
/usr/share/examples/netgraph/bluetooth/rc.bluetooth
nach /etc/rc.bluetooth. Über dieses
Skript wird der Bluetooth-Stack gestartet und beendet. 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.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: 8HCIDas Host Controller Interface (HCI)Das Host Controller Interface
(HCI) bietet eine Befehlsschnittstelle zum Basisbandcontroller
und Linkmanager, sowie Zugriff auf den Hardwarestatus und die
Kontrollregister. Dadurch wird ein einheitlicher Zugriff auf
die Fähigkeiten des Bluetooth-Basisbands möglich. Die
HCI-Layer des Rechners tauschen Daten und Befehle mit der
HCI-Firmware der Bluetooth-Geräte aus. Über den
Host Controller Transport Layer-Treiber (also den physikalischen
Bus) können beide HCI-Layer miteinander
kommunizieren.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 Netzkarte, 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.L2CAPDas Logical Link Control and Adaptation Protocol (L2CAP)Das 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.PairingErstmaliger Verbindungsaufbau zwischen zwei
Bluetooth-Geräten (Pairing)
In der Voreinstellung nutzt Bluetooth keine
Authentifizierung, daher kann sich jedes Bluetoothgerät mit
jedem anderen Gerät verbinden. Ein Bluetoothgerät
(beispielsweise ein Mobiltelefon) kann jedoch für einen
bestimmten Dienst (etwa eine Einwählverbindung) eine
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.Unter &os; 5.5, 6.1 und neuer können Sie
hcsecd durch das Einfügen der
folgenden Zeile in /etc/rc.conf
beim Systemstart automatisch aktivieren: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:a4SDPDas Service Discovery Protocol (SDP)Das Service Discovery Protocol
(SDP) erlaubt es Clientanwendungen, von Serveranwendungen
angebotene Dienste sowie deren Eigenschaften abzufragen. Zu
diesen Eigenschaften gehören die Art oder die Klasse der
angebotenen Dienste sowie der Mechanismus oder das Protokoll,
die zur Nutzung des Dienstes notwendig sind.SDP 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 seperate
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. Unter
&os; 5.5, 6.1 und neuer können Sie dazu die folgende
Zeile in die Datei /etc/rc.conf
einfügen:sdpd_enable="YES"Nun kann der sdpd-Daemon durch
folgene Eingabe gestartet werden:&prompt.root; /etc/rc.d/sdpd startUnter &os; 6.0 und &os; 5.X-Versionen vor 5.5 ist
sdpd nicht in die &os;-Startskripten
integriert. Daher müssen Sie den Damon durch folgende
Eingabe manuell starten:&prompt.root; sdpdDer 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-serverOBEXDas Profil OBEX-Push (OPUSH)OBEX ist ein häufig verwendetes Protokoll für den
Dateitransfer zwischen Mobilgeräten. Sein Hauptzweck ist
die Kommunikation über die Infrarotschnittstelle. Es dient
daher zum Datentransfer zwischen Notebooks oder PDAs sowie zum
Austausch von Visitenkarten oder Kalendereinträgen zwischen
Mobiltelefonen und anderen Geräten mit PIM-Funktionen.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).StevePetersonGeschrieben von LAN-Kopplung mit einer BridgeEinfü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 FreeBSD-System
mit zwei Netzkarten kann als Bridge fungieren.Die Bridge arbeitet, indem sie die MAC Layeradressen
(Ethernet Adressen) der Geräte in ihren Netzsegmenten
lernt. Der Verkehr wird nur dann zwischen zwei Netzsegmenten
weitergeleitet, wenn sich Sender und Empfänger in
verschiedenen Netzsegmenten befinden.In vielerlei Hinsicht entspricht eine Bridge daher einem
Ethernet-Switch mit sehr wenigen Ports.Situationen, in denen Bridging
angebracht istEine Bridge wird vor allem in folgenden zwei Situationen
verwendet:Hohes Datenaufkommen in einem SegmentIn der ersten Situation wird Ihr physisches Netz
mit Datenverkehr überschwemmt. Aus irgendwelchen
Gründen wollen Sie allerdings keine Subnetze verwenden,
die über einen Router miteinander verbunden sind.Stellen Sie sich einen Zeitungsverlag vor, in dem sich die
Redaktions- und Produktionsabteilungen in verschiedenen
Subnetzen befinden. Die Redaktionsrechner verwenden den
Server A für Dateioperationen, und die
Produktionsrechner verwenden den Server B.
Alle Benutzer sind über ein gemeinsames Ethernet-LAN
miteinander verbunden. Durch das hohe Datenaufkommen sinkt
die Geschwindigkeit des gesamten Netzwerks.Würde man die Redaktionsrechner und die
Produktionsrechner in separate Netzsegmente auslagern,
könnte man diese beiden Segmente über eine Bridge
verbinden. Nur der für Rechner im jeweils
anderen Segment bestimmte Verkehr wird
dann über die Brigde in das andere Netzsegment geleitet.
Dadurch verringert sich das Gesamtdatenaufkommen in beiden
Segmenten.Filtering/Traffic Shaping FirewallFirewallNATDie zweite häufig anzutreffende Situation tritt auf,
wenn Firewallfunktionen benötigt werden, ohne dass
Network Adress Translation
(NAT) verwendet wird.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 die Verwendung von Subnetzen sowie einer routerbasierten
Firewall schwierig.RouterDSLISDNEine brigdebasierte Firewall kann konfiguriert und in den
ISDN/DSL-Downstreampfad ihres Routers eingebunden werden, ohne
sich um IP-Adressen kümmern zu müssen.Die LAN-Kopplung konfigurierenAuswahl der NetzkartenEine Bridge benötigt mindestens zwei Netzkarten.
Leider sind unter FreeBSD nicht alle verfügbaren
Netzkarten dafür geeignet. Lesen Sie &man.bridge.4;
für Informationen zu unterstützten Karten.Installieren und testen Sie beide Netzkarten, bevor Sie
fortfahren.Anpassen der KernelkonfigurationKerneloptionenBRIDGEUm die Kernelunterstützung für die LAN-Kopplung
zu aktivieren, fügen Sieoptions BRIDGEin Ihre Kernelkonfigurationsdatei ein, und erzeugen einen
neuen Kernel.FirewallunterstützungFirewallWenn Sie die Bridge als Firewall verwenden wollen,
müssen Sie zusätzlich die Option
IPFIREWALL einfügen. Die
Konfiguration einer Firewall wird in
des Handbuchs beschrieben.Wenn Sie Nicht-IP-Pakete (wie ARP-Pakete) durch Ihre
Bridge leiten wollen, haben Sie drei Möglichkeiten.
Eine Mögleichkeit wäre es, die folgende Option
in Ihre Kernelkonfigurationsdatei aufzunehmen und den
Kernel neu zu bauen:option IPFIREWALL_DEFAULT_TO_ACCEPTAlternativ können Sie den Firewall-Typ in der Datei
rc.conf auf "open" setzen:firewall_type="open"Beachten Sie aber, dass Ihre Firewall durch diese Optionen
per Voreinstellung alle Pakete und Verbindungen akzeptiert!
Der Einsatz dieser Optionen erfordert also umfangreiche
Anpassungen Ihrer Firewallregeln.Die dritte Möglichkeit ist der Einsatz der folgenden
&man.ipfw.8;-Regel:&prompt.root; ipfw add allow mac-type arp layer2Diese Regel können Sie auch in Ihren bereits
existierenden Regelsatz aufnehmen. Da diese Regel
&man.arp.8;-Pakete durchlassen soll, muss Sie am Beginn
Ihrer Firewallregeln platziert werden.Unterstützung für Traffic ShapingWenn Sie die Bridge als Traffic-Shaper verwenden wollen,
müssen Sie die Option DUMMYNET in
Ihre Kernelkonfigurationsdatei einfügen. Lesen Sie
&man.dummynet.4;, um weitere Informationen zu erhalten.Die LAN-Kopplung aktivierenFügen Sie die Zeilenet.link.ether.bridge.enable=1in /etc/sysctl.conf ein, um die Bridge
zur Laufzeit zu aktivieren, sowie die Zeilenet.link.ether.bridge.config=if1,if2um die LAN-Kopplung für die festgelegten Geräte
zu ermöglichen (ersetzen Sie dazu
if1 und
if2 durch die Namen Ihrer
Netzkarten). Wenn Sie die Datenpakete via &man.ipfw.8; filtern
wollen, sollten Sie zusätzlich folgende Zeile
einfügen:net.link.ether.bridge.ipfw=1Vor &os; 5.2-RELEASE verwenden Sie die
folgenden Zeilen:net.link.ether.bridge=1
net.link.ether.bridge_cfg=if1,if2
net.link.ether.bridge_ipfw=1Sonstige InformationenWenn Sie via &man.ssh.1; auf die Bridge zugreifen wollen,
können Sie einer der Netzkarten eine IP-Adresse zuzuweisen.
Es besteht Einigkeit darüber, dass es eine schlechte Idee
ist, beiden Karten eine IP-Adresse zuzuweisen.
Wenn Sie verschiedene Bridges in Ihrem Netzwerk haben, kann
es dennoch nicht mehr als einen Weg zwischen zwei
Arbeitsplätzen geben. Das heißt,
Spanning tree link Management
wird nicht unterstützt.Eine Bridge kann, besonders für Verkehr über
Segmente, die Laufzeiten von Paketen erhöhen.Jean-FrançoisDockèsAktualisiert von AlexDupreReorganisiert und erweitert von Start und Betrieb von FreeBSD über ein Netzwerkplattenloser Arbeitsplatzplattenloser BetriebFreeBSD 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 Netzkarten 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 Netzkarte gebrannt werden, was von vielen
Netzkarten 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 FreeBSD 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 FreeBSD
(ü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 Netzkarten
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.0 ist nicht Teil
des Basissystems. Sie müssen es daher zuerst
installieren. Verwenden Sie dazu den Port
net/isc-dhcp3-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 FreeBSD-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
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 FreeBSDWenn das root-Dateisystem nicht auf einem
FreeBSD-Rechner liegt, muss das Dateisystem zuerst unter
FreeBSD 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 FreeBSD-Rechner einzuhängen und die
Gerätedateien dort mit &man.devfs.5; zu erzeugen.ISDN – 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.HellmuthMichaelisBeigetragen von ISDN-KartenISDNKartenDas ISDN-Subsystem von FreeBSD 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.FreeBSD unterstützt eine ständig wachsende Anzahl
von PC-ISDN-Karten, die weltweit erfolgreich eingesetzt werden.
Von FreeBSD 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 im Verzeichnis
/usr/share/examples/isdn/ Ihres
FreeBSD-Systems, oder 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 FreeBSD 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 FreeBSD
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
FreeBSD 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-FreeBSD-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
FreeBSD 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.ChernLeeBeigetragen von NAT - Network Address TranslationÜberblicknatd&man.natd.8;, der Network-Address-Translation-Daemon von
FreeBSD, 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 FreeBSD-Rechner als
Gateway fungieren. Dazu sind zwei Netzkarten 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.KernelKonfigurationKernelkonfigurationFolgende Optionen müssen in die
Kernelkonfigurationsdatei eingetragen werden:options IPFIREWALL
options IPDIVERTDie folgende Optionen können ebenfalls eingetragen
werden:options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_VERBOSEIn /etc/rc.conf tragen Sie Folgendes
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 Netzkarte, 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-Netzkarte 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 Netzkarte 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 Netzkarte 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 Netzkarten 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.domainUm 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 msAaronKaplanBeigetragen von TomRhodesÜberarbeitet und erweitert von BradDavisErweitert von IPv6 – Internet Protocol Version 6Bei 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). FreeBSD enthält, genauso wie die anderen frei
erhältlichen BSD-Systeme, die IPv6-Referenzimplementation
von KAME. FreeBSD 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.comKAME.net
-
-
- 6bone.net
- Hintergrundinformationen 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 herstellen
- Es gibt derzeit vier Möglichkeiten, sich mit anderen
+ Es gibt derzeit drei Möglichkeiten, sich mit anderen
IPv6-Rechnern oder Netzwerken zu verbinden:
-
- Die Teilnahme am experimentellen 6bone.
-
-
Die Teilnahme am IPv6-Netzwerk Ihres Providers.
Wenn Sie daran interessiert sind, wenden Sie sich an Ihren
Provider.Die Verwendung eines 6-nach-4-Tunnels
(RFC3068).Die Verwendung des Ports
/usr/ports/net/freenet6 bei der Einwahl
ins Internet.
-
- In diesem Abschnitt wird die Einrichtung einer Verbindung
- zum 6bone beschrieben, da dies derzeit der beliebteste Weg ist.
-
- Suchen Sie sich zuerst auf der Internetseite des
- 6bone-Projekts
- einen 6bone-Knoten in Ihrer Nähe. Schreiben Sie an
- die verantwortliche Person und mit etwas Glück erhalten
- Sie entsprechende Anweisungen, um Ihre Verbindung einzurichten.
- Dazu gehört üblicherweise die Einrichtung
- eines GRE-(gif)-Tunnels.
-
- Typischerweise wird ein &man.gif.4;-Tunnels wie folgt
- eingerichtet:
-
- &prompt.root; ifconfig gif0 create
-&prompt.root; ifconfig gif0
-gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
-&prompt.root; ifconfig gif0 tunnel MY_IPv4_ADDR MY_IPv4_REMOTE_TUNNEL_ENDPOINT_ADDR
-&prompt.root; ifconfig gif0 inet6 alias MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR
-
- Ersetzen Sie die in Großbuchstaben geschriebenen
- Werte durch die Informationen, die Sie für Ihren
- 6bone-Knoten erhalten haben.
-
- Die gezeigten Befehle bauen den Tunnel auf.
- Überprüfen Sie die korrekte Funktion, indem Sie
- ff02::1%gif0 an&man.ping6.8;en.
- Sie sollten zwei Antworten erhalten.
-
-
- Bei ff02:1%gif0
- handelt es sich um eine Multicast-Adresse.
- %gif0 legt fest, dass die Multicast-Adresse
- der Schnittstelle gif0 verwendet
- werden soll. Da wir
- eine Multicast-Adresse ange&man.ping6.8;t haben, sollte der
- andere Endpunkt des Tunnels ebenfalls antworten.
-
-
- Eine Route zu Ihrem 6bone-Knoten können Sie
- einfach wie folgt einrichten:
-
- &prompt.root; route add -inet6 default -interface gif0
-&prompt.root; ping6 -n MY_UPLINK
-
- &prompt.root; traceroute6 www.jp.FreeBSD.org
-(3ffe:505:2008:1:2a0:24ff:fe57:e561) from 3ffe:8060:100::40:2, 30 hops max, 12 byte packets
- 1 atnet-meta6 14.147 ms 15.499 ms 24.319 ms
- 2 6bone-gw2-ATNET-NT.ipv6.tilab.com 103.408 ms 95.072 ms *
- 3 3ffe:1831:0:ffff::4 138.645 ms 134.437 ms 144.257 ms
- 4 3ffe:1810:0:6:290:27ff:fe79:7677 282.975 ms 278.666 ms 292.811 ms
- 5 3ffe:1800:0:ff00::4 400.131 ms 396.324 ms 394.769 ms
- 6 3ffe:1800:0:3:290:27ff:fe14:cdee 394.712 ms 397.19 ms 394.102 ms
-
- Diese Ausgabe kann auf Ihrem Rechner unterschiedlich sein.
- Sie sollten aber jetzt die IPv6-Seite
- www.kame.net erreichen
- und die tanzende Schildkröte sehen können –
- vorausgesetzt, Sie haben einen IPv6-fähigen Browser wie
- www/mozilla,
- Konqueror (als Teil des Pakets
- x11/kdebase3) oder
- www/epiphany
- installiert.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, beispielsweise
- 6bone, erhaltenen
+ 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.HartiBrandtBeigetragen von ATM - Asynchronous Transfer ModeClassical IP over ATM
als PVC-Verbindung einrichtenClassical IP over ATM
(CLIP) ist die einfachste Möglichkeit,
um IP-Verkehr über ATM (Asynchronous
Transfer Mode-Verbindungen zu übertragen.
CLIP kann sowohl mit geschalteten Verbindungen (SVCs) als auch
mit permanenten Verbindungen (PVCs) verwendet werden. Dieser
Abschnitt beschreibt die Einrichtung eines PVC-basierten
Netzwerks.Ein vollständig vermaschtes Netzwerk aufbauenBei einem vollständig vermaschten
(fully meshed) Netzwerk ist
jeder Rechner über eine dezidierte Verbindung mit jedem
anderen Rechner des Netzwerks verbunden. Die Konfiguration
ist - vor allem für kleinere Netzwerke - relativ einfach.
Unser Beispielnetzwerk besteht aus vier Rechnern, die jeweils
über eine
ATM-Adapterkarte
mit dem
ATM-Netzwerk
verbunden sind. Als ersten Konfigurationsschritt planen wir
die Vergabe von IP-Adressen sowie die anzulegenden
ATM-Verbindungen:
RechnerIP-AdressehostA192.168.173.1hostB192.168.173.2hostC192.168.173.3hostD192.168.173.4Um ein vollständiges Netz aufzubauen, benötigen
wir für jedes Rechnerpaar eine eigene ATM-Verbindung:RechnerpaarVPI.VCI-PaarhostA - hostB0.100hostA - hostC0.101hostA - hostD0.102hostB - hostC0.103hostB - hostD0.104hostC - hostD0.105Die Werte VPI und VCI an den Verbindungsenden können
natürlich unterschiedlich sein. Wir nehmen hier aber an,
dass sie gleich sind. Nun müssen wir die
ATM-Schnittstellen auf jedem Rechner einrichten:hostA&prompt.root; ifconfig hatm0 192.168.173.1 up
hostB&prompt.root; ifconfig hatm0 192.168.173.2 up
hostC&prompt.root; ifconfig hatm0 192.168.173.3 up
hostD&prompt.root; ifconfig hatm0 192.168.173.4 upDabei setzen wir voraus, dass
hatm0 auf allen Rechnern die
ATM-Schnittstelle darstellt. Danach werden, beginnend mit
hostA, die PVCs auf den einzelnen Rechnern
eingerichtet (Wir nehmen an, dass die PVCs auf den
ATM-Switches bereits eingerichet sind. Lesen Sie die
entsprechenden Handbücher, wenn Sie einen Switch
einrichten müssen.):hostA&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr
hostA&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr
hostA&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr
hostB&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr
hostB&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr
hostB&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr
hostC&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr
hostC&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr
hostC&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr
hostD&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr
hostD&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr
hostD&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubrStatt UBR können auch andere
traffic contracts verwendet
werden. Voraussetzung ist allerdings, dass diese von Ihrem
ATM-Adapter unterstützt werden. Ist dies der Fall,
folgen auf den Namen des
traffic contracts die
entsprechenden Konfigurationsparameter. Weitere Informationen
zur Konfiguration von ATM-Adapterkarten erhalten Sie über
den Befehl&prompt.root; atmconfig help natm addoder durch das Lesen von &man.atmconfig.8;.Die Konfiguration von ATM-Adaptern kann auch über die
Datei /etc/rc.conf erfolgen. Für
hostA sähe die Konfiguration so
aus:network_interfaces="lo0 hatm0"
ifconfig_hatm0="inet 192.168.173.1 up"
natm_static_routes="hostB hostC hostD"
route_hostB="192.168.173.2 hatm0 0 100 llc/snap ubr"
route_hostC="192.168.173.3 hatm0 0 101 llc/snap ubr"
route_hostD="192.168.173.4 hatm0 0 102 llc/snap ubr"Mit dem folgenden Befehl lässt sich der derzeitige
Status aller CLIP-Routen anzeigen:hostA&prompt.root; atmconfig natm show
+
+
+
+
+
+ Tom
+ Rhodes
+ Beigetragen von
+
+
+
+
+ CARP - Common Access Redundancy Protocol
+
+ CARP
+ Common Access Redundancy Protocol (CARP)
+
+ Das Common Access Redundancy
+ Protocol (CARP) erlaubt es,
+ mehreren Rechnern die gleiche IP-Adresse
+ zuzuweisen. Durch ein solches Vorgehen läßt sich
+ beispielsweise die Verfügbarkeit bestimmter Dienste
+ verbessern oder die Last zwischen einzelnen Systemen besser
+ verteilen. Den auf diese Art und Weise konfigurierten Systemen
+ kann zusätzlich eine eigene (im Netzwerk eindeutige)
+ IP-Adresse zugewiesen werden (wie dies auch
+ im folgenden Beispiel erfolgt).
+
+ Um CARP zu aktivieren, müssen Sie die
+ &os;-Kernelkonfigurationsdatei um die folgende Option erweitern
+ und danach den &os;-Kernel neu bauen:
+
+ device carp
+
+ Danach ist CARP auf Ihrem System
+ verfügbar und kann über verschiedene
+ sysctl-Optionen (OIDs)
+ gesteuert werden. Zuerst müssen Sie CARP
+ jedoch mit ifconfig aktivieren:
+
+ &prompt.root; ifconfig carp0 create
+
+ Damit Sie dieses Protokoll in Ihrem Netzwerk einsetzen
+ können, muss jede Netzkarte eine eindeutige
+ Identifikationsnummer, die sogenannte VHID
+ (Virtual Host Identification),
+ besitzen, da sich ansonsten die Rechner Ihres Netzwerks nicht
+ voneinander unterscheiden lassen.
+
+
+ Die Serververfügbarkeit mit CARP
+ verbessern
+
+ Wie bereits weiter oben erwähnt wurde, können Sie
+ CARP dazu verwenden, die Verfübarkeit
+ Ihrer Server zu verbessern. Im folgenden Bespiel werden
+ insgesamt drei Server (mit jeweils eigener, eindeutiger
+ IP-Adresse), die alle den gleichen Inhalt
+ anbieten, in einer Round Robin
+ DNS-Konfiguration eingerichtet.
+ Der Backup-Server verfügt über zwei
+ CARP-Schnittstellen (für die beiden
+ IP-Adressen der Content-Server). Tritt bei
+ einem Content-Server ein Problem auf, übernimmt der
+ Backup-Server die IP-Adresse des
+ ausgefallenen Servers. Dadurch sollte die Auswahl eines Servers
+ vom Anwender nicht bemerkt werden. Der Backup-Server muss
+ identisch konfiguriert sein und die gleichen Daten und Dienste
+ anbieten wie das System, das er ersetzen soll.
+
+ Die beiden Content-Server werden (abgesehen von ihren
+ jeweiligen Hostnamen und VHIDs) identisch
+ konfiguriert und heißen in unserem Beispiel
+ hosta.example.org beziehungsweise
+ hostb.example.org. Damit Sie
+ CARP einsetzen können, müssen
+ Sie als Erstes die Datei rc.conf auf
+ beiden Systemen anpassen. Für das System
+ hosta.example.org nehmen Sie dazu folgende
+ Zeilen in rc.conf auf:
+
+ hostname="hosta.example.org"
+ifconfig_fxp0="inet 192.168.1.3 netmask 255.255.255.0"
+cloned_interfaces="carp0"
+ifconfig_carp0="vhid 1 pass testpast 192.168.1.50/24"
+
+ Für das System hostb.example.org
+ benötigen Sie zusätzlich folgende Zeilen in
+ rc.conf:
+
+ 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"
+
+
+ Achten Sie unbedingt darauf, dass die durch die Option
+ an ifconfig
+ ü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. Beachten Sie weiters, dass sich die
+ VHIDs der beiden Systeme unterscheiden
+ müssen.
+
+
+ Nun richten Sie noch das dritte System,
+ provider.example.org, ein, das aktiviert
+ wird, wenn eines der beiden zuvor konfigurierten Systeme
+ ausfällt. Dieses dritte System benötigt zwei
+ carp-Geräte, um bei Bedarf
+ eines der beiden anderen
+ Systeme ersetzen zu können. Dazu konfigurieren Sie
+ rc.conf analog zur folgenden
+ Beispielkonfiguration:
+
+ hostname="provider.example.org"
+ifconfig_fxp0="inet 192.168.1.5 netmask 255.255.255.0"
+cloned_interfaces="carp0 carp1"
+ifconfig_carp0="vhid 1 advskew 100 pass testpass 192.168.1.50/24"
+ifconfig_carp1="vhid 2 advskew 100 pass testpass 192.168.1.51/24"
+
+ Durch die beiden carp-Geräte
+ ist es provider.example.org möglich,
+ festzustellen, ob eines der beiden anderen Systeme nicht mehr
+ reagiert. In diesem Fall übernimmt
+ provider.example.org die
+ IP-Adresse des betroffenen Systems.
+
+
+ Ist im installierten &os;-Kernel die Option
+ "preemption" aktiviert, kann es sein, dass
+ provider.example.org die übernommene
+ IP-Adresse nicht mehr an den
+ Content-Server zurückgibt (wenn dieser wieder
+ funktioniert). In diesem Fall muss ein Administrator die
+ entsprechende Schnittstelle zurücksetzen.
+ Dazu gibt er auf dem Rechner
+ provider.example.org den folgenden
+ Befehl ein:
+
+ &prompt.root; ifconfig carp0 down && ifconfig carp0 up
+
+ Dieser Befehl muss auf das
+ carp-Gerät ausgeführt
+ werden, das dem betroffenen System zugeordnet ist.
+
+
+ Damit ist CARP vollständig
+ konfiguriert und der Testbetrieb kann beginnen. Zuvor
+ müssen Sie allerdings noch alle Systeme neu starten
+ (beziehungsweise die Netzwerkkonfiguration auf allen
+ Systemen neu einlesen), um die Einstelllungen zu
+ übernehmen.
+
+ Für weitere Informtionen lesen Sie bitte die Manualpage
+ &man.carp.4;.
+
+
diff --git a/de_DE.ISO8859-1/books/handbook/firewalls/chapter.sgml b/de_DE.ISO8859-1/books/handbook/firewalls/chapter.sgml
index 05221d7894..752b0c7c5f 100644
--- a/de_DE.ISO8859-1/books/handbook/firewalls/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/firewalls/chapter.sgml
@@ -1,486 +1,486 @@
Joseph J.BarbishBeigetragen von BradDavisNach SGML konvertiert und aktualisiert von MichaelBunzelTeilweise übersetzt von FirewallsfirewallsecurityfirewallsEinführungFirewalls ermöglichen es, den ein- und ausgehenden
Netzwerkverkehr Ihres Systems zu filtern. Dazu verwendet eine
Firewall eine oder mehrere Gruppen von Regeln,
um ankommende Netzwerkpakete zu untersuchen und entweder
durchzulassen oder zu blockieren. Die Regeln einer
Firewall untersuchen charakteristische Eigenschaften von
Datenpaketen, darunter den Protokolltyp, die Quell- und
Zieladresse sowie den Quell- und Zielport.Firewalls können die Sicherheit eines Rechners oder
eines Netzwerks erhöhen, indem sie folgende Aufgaben
übernehmen:Den Schutz der Anwendungen, Dienste und Rechner Ihres
internen Netzwerks vor unerwünschtem Datenverkehr
aus dem Internet.Die Beschränkung des Zugriffs von Rechnern des
internen Netzwerk auf Rechner oder Dienste des externen
Internets.Den Einsatz von Network Address Translation
(NAT), die es Ihnen durch die Verwendung
von privaten IP-Adressen ermöglicht,
eine einzige gemeinsame Internetverbindung für mehrere
Rechner zu nutzen (entweder über eine einzige Adresse
oder über eine Gruppe von jeweils automatisch
zugewiesenen öffentlichen
IP-Adressen).Nachdem Sie dieses Kapitel gelesen haben, werden Sie:Wissen, wie man korrekte Paketfilterregeln erstellt.Die Unterschiede zwischen den in &os; eingebauten Firewalls
kennen.Wissen, wie man die PF-Firewall
von OpenBSD konfiguriert und einsetzt.IPFILTER konfigurieren und
einsetzen können.Wissen, wie man
IPFW konfiguriert und einsetzt.Bevor Sie dieses Kapitel lesen, sollten Sie:Die grundlegenden Konzepte von &os; und dem Internet
verstehen.FirewallkonzeptefirewallrulesetsEs gibt zwei grundlegende Arten, Regelgruppen für
Firewalls zu erstellen: einschließend
(inclusive firewall) sowie
auschließend (exclusive
Firewall). Eine auschließende Firewall
lässt jeden Datenverkehr durch, der nicht durch eine Regel
ausgeschlossen wurde. Eine einschließende Firewall macht
das genaue Gegenteil. Sie lässt Datenverkehr nur dann
durch, wenn er einer der definierten Regeln entspricht.Einschließende Firewalls sind tendentiell sicherer als
ausschließende Firewalls, da sie das Risiko, dass
unerwünschter Datenverkehr die Firewall passiert, signifikant
reduzieren.Die Sicherheit einer Firewall kann durch den Einsatz einer
zustandsabhängigen Firewall
(stateful firewall) weiter
erhöht werden. Eine zustandsabhängige Firewall
überwacht alle durch die Firewall gehenden offenen
Verbindungen und erlaubt nur schon bestehenden Verkehr oder
Datenverkehr, der eine neue Verbindung öffnet. Der Nachteil
einer zustandsabhängigen Firewall ist allerdings, dass sie
anfällig für Denial of Service (DoS)
-Attacken ist, wenn sehr schnell sehr viele neue Verbindungen
erstellt werden. Bei den meisten Firewalls können Sie eine
Kombination aus zustandsabhängigem und nicht
zustandsabhängigem Verhalten verwenden, um eine für Ihre
Bedürfnisse optimale Fireall einzurichten.FirewallpaketeDas Basissystem von &os; enthält bereits drei
Firewallpakete: IPFILTER (auch als
IPF bekannt), IPFIREWALL
(auch als IPFW bezeichnet) sowie das von OpenBSD
übernommene PacketFilter (das auch als
PF bezeichnet wird). Zusätzlich
verfügt &os; über zwei eingebaute Pakete für das
sogenannte traffic shaping (dabei
handelt es sich die Steuerung des Bandbreitenverbrauchs):
&man.altq.4; sowie &man.dummynet.4;. Dummynet steht traditionell
in enger Verbindung mit IPFW, während
ALTQ gemeinsam mit
IPF/PF eingesetzt wird.
Gemeinsam ist allen Firewallpaketen (IPF, IPFW sowie PF), dass sie
Regeln einsetzen, um den Transfer von Datenpaketen auf und von
Ihrem System zu regeln. Unterschiedlich sind aber die Art und
Weise, wie dies realisiert wird. Auch die für diese Regeln
verwendete Syntax ist unterschiedlich.&os; überlässt es dem Anwender, das Firewallsystem
zu wählen, dass seinen Anforderungen und Vorlieben am Besten
entspricht. Keines der im Basissystem enthaltenen Firewallpakete
wird dabei als das beste angesehen.IPFILTER hat etwa den Vorteil, dass dessen
zustandsabhängige Regeln relativ einfach in einer
NAT-Umgebung implementiert werden können.
Außerdem verfügt es über einen eigenen FTP-Proxy,
der die Erstellung von sicheren Regeln für ausgehende
FTP-Verbindungen vereinfacht.Da alle Firewalls auf der Untersuchung der Werte
ausgewählter Kontrollfelder von Datenpaketen basieren, ist es
für die Erstellung von Firewallregeln notwendig, die
Funktionsweise von TCP/IP zu verstehen.
Außerdem muss man dazu wissen, was die Werte der einzelnen
Kontrollfelder bedeuten und wie diese während einer
Verbindung eingesetzt werden. Eine gute Erklärung dieser
Thematik finden Sie unter .Paket Filter (PF) von OpenBSD und
ALTQfirewallPFIm Juli 2003 wurde PF, die
Standard-Firewall von OpenBSD, nach &os; portiert und in die
&os;-Ports-Sammlung aufgenommen. Die erste &os;-Version,
die PF als Teil des Basisssytems enthielt, war
&os; 5.3 im November 2004. Bei PF
handelt es sich um eine komplette, vollausgestattete Firewall,
die optional auch ALTQ (Alternatives
Queuing) unterstützt. ALTQ bietet Ihnen
Quality of Service
(QoS)-Bandbreitenformung. Dadurch können
Sie, basierend auf Filterregeln, unterschiedlichen Diensten eine
bestimmte Bandbreite garantieren. Da das OpenBSD-Projekt bereits
über eine hervorragende Dokumentation verfügt, wurde das
PF-Handbuch nicht in dieses Kapitel aufgenommen.Weitere Informationen finden Sie unter
.PF aktivierenPF ist in Standardinstallationen von &os; 5.3 oder
neuer als eigenes, zur Laufzeit ladbares Kernelmodul enthalten.
Das System lädt das PF-Kernelmodul automatisch, wenn die
Anweisung pf_enable="YES" in
/etc/rc.conf enthalten ist. Das ladbare
Kernelmodul wurde mit aktivierter &man.pflog.4;-Protokollierung
erstellt.Das Kernelmodul geht davon aus, dass die Einträge
options INET sowie
device bpf in Ihrer Kernelkonfigurationsdatei
vorhanden sind. Haben Sie NO_INET6 (seit
&os; 6.X) oder NOINET6 (in &os;-Versionen
vor 6.X) nicht definiert, benötigen Sie (etwa in
&man.make.conf.5;) zusätzlich die Option
options INET6.Nachdem Sie das Kernelmodul geladen oder die
PF-Unterstützung statisch in Ihren Kernel kompiliert haben,
können Sie pf über den
Befehl pfctl aktivieren beziehungsweise
deaktivieren.Das folgende Beispiel zeigt, wie Sie
pf aktivieren:&prompt.root; pfctl -epfctl ermöglicht es Ihnen, die
pf-Firewall zu steuern. Lesen Sie
&man.pfctl.8;, bevor Sie das Programm einsetzen.Kernel-Optionenkernel optionsdevice pfkernel optionsdevice pflogkernel optionsdevice pfsyncEs ist nicht zwingend nötig, dass Sie PF durch die
Angabe der folgenden Optionen in den &os;-Kernel kompilieren.
Kompilieren Sie die PF-Unterstützung in Ihren Kernel, so
wird das Kernelmodul nie verwendet werden.
Die folgenden Angaben dienen daher nur als
Hintergrundinformationen./usr/src/sys/conf/NOTES enthält
Beispiele für die Kernelkonfigurationsoptionen von PF:device pf
device pflog
device pfsyncdevice pf aktiviert die Unterstützung
für die Packet Filter-Firewall.device pflog aktiviert das optionale
&man.pflog.4;-Pseudonetzwerkgerät, das zum Protokollieren
des Datenverkehrs über einen &man.bpf.4;-Deskriptor
dient. &man.pflogd.8; ist in der Lage, diese Protokolldateien
auf Ihre Platte zu speichern.device pfsync aktiviert das optionale
&man.pfsync.4;-Pseudonetzwerkgerät für die
Überwachung von Statusänderungen.
Da es sich dabei nicht um einen Bestandteil des Kernelmoduls
handelt, muss diese Option auf jeden Fall in den Kernel kompiliert
werden, bevor man sie verwenden kann.Diese Einstellungen werden erst dann übernommen, wenn
man einen Kernel mit diesen Optionen kompiliert und
installiert.Verfügbare rc.conf-OptionenUm PF beim Systemstart zu aktivieren, benötigen Sie die
folgenden Einträge in /etc/rc.conf:pf_enable="YES" # PF aktivieren(Modul, wenn nötig, aktivieren)
pf_rules="/etc/pf.conf" # Datei mit Regeldefinitionen für pf
pf_flags="" # zusätzliche Parameter für den Start von pfctl
pflog_enable="YES" # stare pflogd(8)
pflog_logfile="/var/log/pflog" # wo soll pflogd die Protokolldatei speichern
pflog_flags="" # zusätzliche Parameter für den Start von pflogdWenn Sie ein lokales Netzwerk hinter dieser Firewall
betreiben, und Pakete für dessen Rechner weiterleiten oder
NAT verwenden wollen, benötigen Sie zusätzlich die
folgende Option:gateway_enable="YES" # LAN Gateway aktivierenALTQ aktivierenALTQ muss vor der Verwendung in den
&os;-Kernel kompiliert werden. Beachten Sie, dass
ALTQ nicht von allen verfügbaren
Netzwerkkartentreibern unterstützt wird. Sehen Sie daher
zuerst in &man.altq.4; nach, ob Ihre Netzwerkkarte diese
Funktion unter Ihrer &os;-Version unterstützt. Die
folgenden Kerneloptionen aktivieren ALTQ
sowie alle Zusatzfunktionen:options ALTQ
options ALTQ_CBQ # Class Bases Queuing (CBQ)
options ALTQ_RED # Random Early Detection (RED)
options ALTQ_RIO # RED In/Out
options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC)
options ALTQ_PRIQ # Priority Queuing (PRIQ)
options ALTQ_NOPCC # Wird von SMP benötigtoptions ALTQ aktiviert das
ALTQ-Framework.options ALTQ_CBQ aktiviert das
Class Based Queuing
(CBQ). CBQ erlaubt es, die
Bandbreite einer Verbindung in verschiedene Klassen oder
Warteschlangen zu unterteilen, um die Priorität von
Datenpaketen basierend auf Filterregeln zu ändern.options ALTQ_RED aktiviert
Random Early Detection
(RED). RED wird
zur Vermeidung einer Netzwerkverstopfung verwendet. Dazu
ermittelt RED die Größe der
Warteschlange und vergleicht diesen Wert mit den minimalen
und maximalen Grenzwerten der Warteschlange. Ist die
Warteschlange größer als das erlaubte Maximum,
werden alle neuen Pakete verworfen. Getreu seinem Namen
verwirft RED Pakete unterschiedlicher
Verbindungen nach dem Zufallsprinzip.options ALTQ_RIO aktiviert
Random Early Detection In and
Out.options ALTQ_HFSC aktiviert den
Hierarchical Fair Service Curve
-Paketplaner. Weitere Informationen zu HFSC
finden Sie unter .options ALTQ_PRIQ aktiviert
Priority Queuing
(PRIQ). PRIQ
lässt Verkehr einer Warteschlange mit höherer
Priorität zuerst durch.options ALTQ_NOPCC aktiviert die
SMP Unterstützung von
ALTQ. Diese Option ist nur auf
SMP-System erforderlich.Filterregeln generierenDer Packetfilter liest seine Konfiguration aus der Datei
&man.pf.conf.5; ein, um entsprechend der dort definierten Regeln
Pakete durchzulassen oder zu verwerfen. Die Standardinstallation
von &os; enthält bereits eine beispielhafte Version der
Datei /etc/pf.conf mit einigen hilfreichen
Beispielen und Erklärungen.Obwohl &os; eine eigene Version der Datei
/etc/pf.conf enthält, wird dennoch die
gleiche Syntax wie unter OpenBSD verwendet. Das OpenBSD-Team hat
eine großartige Dokumentation zur Konfiguration von
pf geschrieben, die unter
erhältlich ist.Denken Sie beim Lesen des pf-Handbuch daran, dass die
verschiedenen &os;-Versionen unterschiedliche Versionen
der pf-Firewall einsetzen. So
wird unter &os; 5.X noch die OpenBSD-Version 3.5
der Firewall eingesetzt, während in den
&os;-6.X-Versionen die OpenBSD-Version 3.7 zum
Einsatz kommt.Haben Sie weitere Fragen zur
pf-Firewall, so
können Sie auf der Mailingliste &a.pf;
stellen. Vergessen Sie aber nicht, vorher die Archive der
Mailinglisten zu durchsuchen, bevor Sie dort eine Frage
stellen.Die IPFILTER-Firewall (IPF)Dieses Kapitel ist noch nicht übersetzt.
Lesen Sie bitte
das Original in englischer Sprache. Wenn Sie helfen
wollen, dieses Kapitel zu übersetzen, senden Sie bitte
eine E-Mail an die Mailingliste &a.de.translators;.IPFWDieses Kapitel ist noch nicht übersetzt.
Lesen Sie bitte
das Original in englischer Sprache. Wenn Sie helfen
wollen, dieses Kapitel zu übersetzen, senden Sie bitte
eine E-Mail an die Mailingliste &a.de.translators;.
diff --git a/de_DE.ISO8859-1/books/handbook/virtualization/chapter.sgml b/de_DE.ISO8859-1/books/handbook/virtualization/chapter.sgml
index f18128d833..85d84d6a14 100644
--- a/de_DE.ISO8859-1/books/handbook/virtualization/chapter.sgml
+++ b/de_DE.ISO8859-1/books/handbook/virtualization/chapter.sgml
@@ -1,31 +1,631 @@
+
+
+
+ Murray
+ Stokely
+ Beigetragen von
+
+
+
+
+ Oliver
+ Peter
+ Übersetzt von
+
+
+
- Virtualisierung (noch nicht übersetzt)
+ Virtualisierung
- Dieses Kapitel ist noch nicht übersetzt.
- Lesen Sie bitte
- das Original in englischer Sprache. Wenn Sie helfen
- wollen, dieses Kapitel zu übersetzen, senden Sie bitte
- eine E-Mail an die Mailingliste &a.de.translators;.
+
+ Übersicht
+
+ Virtualisierungssoftware erlaubt es, mehrere Betriebssysteme
+ gleichzeitig auf dem selben Computer laufen zu lassen. Derartige
+ Softwaresysteme für PCs setzen in der Regel ein
+ Host-Betriebssystem voraus, auf dem die
+ Virtualisierungssoftware läuft und unterstützen eine
+ nahezu beliebige Anzahl von Gast-Betriebssystemen.
+
+ Nachdem Sie dieses Kapitel gelesen haben,
+
+
+
+ Kennen Sie den Unterscheid zwischen einem
+ Host-Betriebssystem und einem Gast-Betriebssystem.
+
+
+
+ Wissen Sie, wie man FreeBSD unter Linux mit
+ &xen; installiert.
+
+
+
+ Können Sie FreeBSD auf einem &intel;-basierenden
+ &apple; &macintosh; installieren.
+
+
+
+ Wissen Sie, wie man ein virtualisiertes FreeBSD-System
+ für optimale Leistung konfiguriert.
+
+
+
+ Bevor Sie dieses Kapitel lesen, sollten Sie
+
+
+
+ Die Grundlagen von &unix; und FreeBSD verstehen
+ ().
+
+
+
+ FreeBSD installieren können
+ ().
+
+
+
+ Wissen, wie man seine Netzwerkverbindung
+ konfiguriert ().
+
+
+
+ Software Dritter installieren können
+ ().
+
+
+
+
+
+ FreeBSD als Gast-Betriebssystem
+
+
+ Parallels unter MacOS X
+
+ Parallels Desktop für &mac;
+ ist ein kommerzielles Softwareprodukt, welches für
+ &intel;-basierende &apple; &mac;-Computer mit
+ &macos; X 10.4.6
+ oder höher verfügbar ist. FreeBSD wird von diesem
+ Softwarepaket als Gast-Betriebssystem vollständig
+ unterstützt. Nach der Installation von
+ Parallels auf &macos; X
+ konfigurieren Sie als erstes eine virtuelle Maschine,
+ in der Sie danach das gewünschte Gast-Betriebssystem (in
+ unserem Fall FreeBSD) installieren.
+
+
+ Installation von FreeBSD unter
+ Parallels/&macos; X
+
+ Der erste Schritt bei der Installation von FreeBSD unter
+ Parallels/&macos; X ist es,
+ eine virtuelle Maschine zu konfigurieren, in der Sie
+ FreeBSD installieren können. Dazu wählen Sie bei
+ der Frage nach dem Guest OS Type
+ FreeBSD aus:
+
+
+
+
+
+
+
+ Danach legen Sie geeignete Größen für
+ Festplatten- und Arbeitsspeicher für die zu erstellende
+ FreeBSD-Instanz fest. 4 GB Plattenplatz sowie
+ 512 MB RAM sind in der Regel für die Arbeit unter
+ Parallels ausreichend:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Wählen Sie den gewünschten Netzwerktyp
+ aus und konfigurieren Sie Ihre Netzwerkverbindung:
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Speichern Sie Ihre Eingaben, um die Konfiguration
+ abzuschließen:
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Nachdem Sie die virtuelle Maschine erstellt haben,
+ installieren Sie im nächsten Schritt FreeBSD in dieser
+ virtuellen Maschine. Dazu verwenden Sie am besten eine
+ offizielle FreeBSD-CDROM oder Sie laden von einem offiziellen
+ FTP-Server ein ISO-Abbild auf Ihren &mac; herunter. Danach
+ klicken Sie auf das Laufwerksymbol in der rechten unteren
+ Ecke des Parallels-Fensters, um
+ ihr virtuelles Laufwerk mit dem ISO-Abbild oder mit dem
+ physikalischen CD-ROM-Laufwerk ihres Computers zu
+ verknüpfen.
+
+
+
+
+
+
+
+ Nachdem Sie diese Verknüpfung hergestellt haben,
+ starten sie die virtuelle FreeBSD-Maschine neu, indem Sie
+ wie gewohnt auf das Symbol "Neustarten" klicken.
+ Parallels startet nun ein
+ Spezial-BIOS, das zuerst prüft, ob Sie eine CD-ROM
+ eingelegt haben (genau so, wie es auch ein echtes BIOS
+ machen würde).
+
+
+
+
+
+
+
+ In unserem Fall findet das BIOS ein
+ FreeBSD-Installationsmedium und beginnt daher eine normale
+ Installation mit sysinstall
+ (wie in des Handbuchs
+ beschreiben).
+
+
+
+
+
+
+
+ Nachdem die Installation abgeschlossen ist, können
+ Sie die virtuelle Maschine starten.
+
+
+
+
+
+
+
+
+
+ FreeBSD für den Einsatz unter
+ Parallels/&macos; X optimieren
+
+ Nachdem Sie FreeBSD erfolgreich unter &macos; X mit
+ Parallels installiert haben, sollten
+ Sie ihr virtuelles FreeBSD-System für virtualisierte
+ Operationen optimieren:
+
+
+
+ Setzen der Bootloader-Variablen
+
+ Die wichtigste Änderung ist es, die Variable
+ zu verkleinern, um so die
+ CPU-Auslastung in der
+ Parallels-Umgebung zu
+ verringern.
+
+ kern.hz=100
+
+ Ohne diese Einstellung kann ein unbeschäftigtes
+ FreeBSD unter Parallels trotzdem
+ rund 15 Prozent der CPU-Leistung eines Single Prozessor
+ &imac;'s verbrauchen. Nach dieser Änderung reduziert
+ sich dieser Wert auf etwa 5 Prozent.
+
+
+
+ Erstellen einer neuen Kernelkonfigurationsdatei
+
+ Sie können alle SCSI-, FireWire- und
+ USB-Laufwerks-Treiber entfernen.
+ Parallels stellt einen
+ virtuellen Netzwerkadapter bereit, der den
+ &man.ed.4;-Treiber verwendet. Daher können alle
+ Netzwerkgeräte bis auf &man.ed.4; und
+ &man.miibus.4; aus dem Kernel entfernt werden.
+
+
+
+ Netzwerkbetrieb einrichten
+
+ Die einfachste Netzwerkkonfiguration ist der Einsatz
+ von DHCP, um Ihre virtuelle Maschine mit dem gleichen
+ lokalen Netzwerk, in dem sich der Host-&mac; befindet, zu
+ verbinden. Dazu fügen Sie die Zeile
+ ifconfig_ed0="DHCP" in die Datei
+ /etc/rc.conf ein. Weitere
+ Informationen zur Konfiguration des Netzwerks unter
+ FreeBSD finden Sie im des Handbuchs.
+
+
+
+
+
+
+
+
+
+ Fukang
+ Chen (Loader)
+ Beigetragen von
+
+
+
+
+ FreeBSD mit &xen; unter Linux einsetzen
+
+ Der &xen; Hypervisor ist ein
+ als Open Source verfügbares Para-Virtualisierungsprodukt,
+ welches aktuell von
+ der kommerzellen Firma XenSource unterstützt wird.
+ Gast-Betriebssysteme werden dabei als domU-Domains,
+ Host-Betriebssysteme hingegen als dom0 bezeichnet. Um eine
+ virtuelle FreeBSD-Instanz unter Linux auszuführen,
+ müssen Sie zuerst &xen;
+ für Linux dom0 installieren. Als Host-Betriebssystem
+ wird im folgenden Beispiel die Distribution Slackware
+ verwendet.
+
+
+ &xen; 3 unter Linux dom0
+
+
+
+ &xen; 3.0 von XenSource herunterladen
+
+ Laden Sie die Datei xen-3.0.4_1-src.tgz
+ von
+ herunter.
+
+
+
+ Den Tarball entpacken
+
+ &prompt.root; cd xen-3.0.4_1-src
+&prompt.root; KERNELS="linux-2.6-xen0 linux-2.6-xenU" make world
+&prompt.root; make install
+
+
+ Den dom0-Kernel neu kompilieren:
+
+ &prompt.root; cd xen-3.0.4_1-src/linux-2.6.16.33-xen0
+&prompt.root; make menuconfig
+&prompt.root; make
+&prompt.root; make install
+
+ Ältere Versionen von
+ &xen; müssen
+ gegebenenfalls mit
+ make ARCH=xen menuconfig näher
+ spezifiziert werden.
+
+
+
+
+ Einen Menü-Eintrag in die menu.lst von Grub
+ aufnehmen
+
+ Editieren Sie /boot/grub/menu.lst
+ und fügen Sie die folgenden Zeilen hinzu:
+
+ title Xen-3.0.4
+root (hd0,0)
+kernel /boot/xen-3.0.4-1.gz dom0_mem=262144
+module /boot/vmlinuz-2.6.16.33-xen0 root=/dev/hda1 ro
+
+
+
+ Starten Sie Ihren Computer neu, um &xen; zu
+ aktivieren
+
+ Anschließend editieren Sie
+ /etc/xen/xend-config.sxp und
+ fügen die folgenden Zeilen hinzu:
+
+ (network-script 'network-bridge netdev=eth0')
+
+ Danach kann &xen;
+ gestartet werden:
+
+ &prompt.root; /etc/init.d/xend start
+&prompt.root; /etc/init.d/xendomains start
+
+ Damit ist dom0 gestartet:
+
+ &prompt.root; xm list
+Name ID Mem VCPUs State Time(s)
+Domain-0 0 256 1 r----- 54452.9
+
+
+
+
+
+ FreeBSD 7-CURRENT als domU verwenden
+
+ Laden Sie den FreeBSD-dumU-Kernel für
+ &xen; 3.0 sowie
+ das Festplattenabbild von http://www.fsmware.com/
+ herunter:
+
+
+
+ kernel-current
+
+
+
+ mdroot-7.0.bz2
+
+
+
+ xmexample1.bsd
+
+
+
+ Kopieren Sie xmexample1.bsd
+ nach /etc/xen/ und passen Sie
+ die Einträge für Kernel und Festplattenabbild an
+ Ihre Konfiguration an. Ihre Konfiguration sollte
+ ähnlich dem folgenden Beispiel aussehen:
+
+ kernel = "/opt/kernel-current"
+memory = 256
+name = "freebsd"
+vif = [ '' ]
+disk = [ 'file:/opt/mdroot-7.0,hda1,w' ]
+#on_crash = 'preserve'
+extra = "boot_verbose"
+extra += ",boot_single"
+extra += ",kern.hz=100"
+extra += ",vfs.root.mountfrom=ufs:/dev/xbd769a"
+
+ Die Datei mdroot-7.0.bz2 sollte
+ unkomprimiert sein.
+
+ Als Nächstes muss der __xen_guest-Abschnitt in
+ kernel-current verändert und das
+ von &xen; 3.0.3 benötigte
+ VIRT_BASE hinzugefügt werden:
+
+ &prompt.root; objcopy kernel-current -R __xen_guest
+&prompt.root; perl -e 'print "LOADER=generic,GUEST_OS=freebsd,GUEST_VER=7.0,XEN_VER=xen-3.0,BSD_SYMTAB,VIRT_BASE=0xC0000000\x00"' > tmp
+&prompt.root; objcopy kernel-current --add-section __xen_guest=tmp
+
+ &prompt.root; objdump -j __xen_guest -s kernel-current
+
+kernel-current: file format elf32-i386
+
+Contents of section __xen_guest:
+ 0000 4c4f4144 45523d67 656e6572 69632c47 LOADER=generic,G
+ 0010 55455354 5f4f533d 66726565 6273642c UEST_OS=freebsd,
+ 0020 47554553 545f5645 523d372e 302c5845 GUEST_VER=7.0,XE
+ 0030 4e5f5645 523d7865 6e2d332e 302c4253 N_VER=xen-3.0,BS
+ 0040 445f5359 4d544142 2c564952 545f4241 D_SYMTAB,VIRT_BA
+ 0050 53453d30 78433030 30303030 3000 SE=0xC0000000.
+
+ Nun kann die domU erstellt und gestartet werden:
+
+ &prompt.root; xm create /etc/xen/xmexample1.bsd -c
+Using config file "/etc/xen/xmexample1.bsd".
+Started domain freebsd
+WARNING: loader(8) metadata is missing!
+Copyright (c) 1992-2006 The FreeBSD Project.
+Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
+The Regents of the University of California. All rights reserved.
+FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006
+ kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF
+WARNING: DIAGNOSTIC option enabled, expect reduced performance.
+Xen reported: 1796.927 MHz processor.
+Timecounter "ixen" frequency 1796927000 Hz quality 0
+CPU: Intel(R) Pentium(R) 4 CPU 1.80GHz (1796.93-MHz 686-class CPU)
+ Origin = "GenuineIntel" Id = 0xf29 Stepping = 9
+ Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,
+ DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
+ Features2=0x4400<CNTX-ID,<b14>>
+real memory = 265244672 (252 MB)
+avail memory = 255963136 (244 MB)
+xc0: <Xen Console> on motherboard
+cpu0 on motherboard
+Timecounters tick every 10.000 msec
+[XEN] Initialising virtual ethernet driver.
+xn0: Ethernet address: 00:16:3e:6b:de:3a
+[XEN]
+Trying to mount root from ufs:/dev/xbd769a
+WARNING: / was not properly dismounted
+Loading configuration files.
+No suitable dump device was found.
+Entropy harvesting: interrupts ethernet point_to_point kickstart.
+Starting file system checks:
+/dev/xbd769a: 18859 files, 140370 used, 113473 free (10769 frags, 12838 blocks, 4.2% fragmentation)
+Setting hostname: demo.freebsd.org.
+lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
+ inet6 ::1 prefixlen 128
+ inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
+ inet 127.0.0.1 netmask 0xff000000
+Additional routing options:.
+Mounting NFS file systems:.
+Starting syslogd.
+/etc/rc: WARNING: Dump device does not exist. Savecore not run.
+ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/X11R6/lib /usr/local/lib
+a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
+Starting usbd.
+usb: Kernel module not available: No such file or directory
+Starting local daemons:.
+Updating motd.
+Starting sshd.
+Initial i386 initialization:.
+Additional ABI support: linux.
+Starting cron.
+Local package initialization:.
+Additional TCP options:.
+Starting background file system checks in 60 seconds.
+
+Sun Apr 1 02:11:43 UTC 2007
+
+FreeBSD/i386 (demo.freebsd.org) (xc0)
+
+login:
+
+ Die domU sollte nun den
+ &os; 7.0-CURRENT-Kernel ausführen:
+
+ &prompt.root; uname -a
+FreeBSD demo.freebsd.org 7.0-CURRENT FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006
+kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF i386
+
+ Das Netzwerk kann nun unter der domU konfiguriert werden.
+ Die &os;-domU wird ein spezielles Gerät namens
+ xn0 verwenden:
+
+ &prompt.root; ifconfig xn0 10.10.10.200 netmask 255.0.0.0
+&prompt.root; ifconfig
+xn0: flags=843<UP,BROADCAST,RUNNING,SIMPLEX> mtu 1500
+ inet 10.10.10.200 netmask 0xff000000 broadcast 10.255.255.255
+ ether 00:16:3e:6b:de:3a
+lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
+ inet6 ::1 prefixlen 128
+ inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
+ inet 127.0.0.1 netmask 0xff000000
+
+ Unter der Slackware-dom0 sollten einige
+ &xen;-spezifische
+ Netzwerkgeräte erscheinen:
+
+ &prompt.root; ifconfig
+eth0 Link encap:Ethernet HWaddr 00:07:E9:A0:02:C2
+ inet addr:10.10.10.130 Bcast:0.0.0.0 Mask:255.0.0.0
+ UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
+ RX packets:815 errors:0 dropped:0 overruns:0 frame:0
+ TX packets:1400 errors:0 dropped:0 overruns:0 carrier:0
+ collisions:0 txqueuelen:0
+ RX bytes:204857 (200.0 KiB) TX bytes:129915 (126.8 KiB)
+
+lo Link encap:Local Loopback
+ inet addr:127.0.0.1 Mask:255.0.0.0
+ UP LOOPBACK RUNNING MTU:16436 Metric:1
+ RX packets:99 errors:0 dropped:0 overruns:0 frame:0
+ TX packets:99 errors:0 dropped:0 overruns:0 carrier:0
+ collisions:0 txqueuelen:0
+ RX bytes:9744 (9.5 KiB) TX bytes:9744 (9.5 KiB)
+
+peth0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
+ UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
+ RX packets:1853349 errors:0 dropped:0 overruns:0 frame:0
+ TX packets:952923 errors:0 dropped:0 overruns:0 carrier:0
+ collisions:0 txqueuelen:1000
+ RX bytes:2432115831 (2.2 GiB) TX bytes:86528526 (82.5 MiB)
+ Base address:0xc000 Memory:ef020000-ef040000
+
+vif0.1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
+ UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
+ RX packets:1400 errors:0 dropped:0 overruns:0 frame:0
+ TX packets:815 errors:0 dropped:0 overruns:0 carrier:0
+ collisions:0 txqueuelen:0
+ RX bytes:129915 (126.8 KiB) TX bytes:204857 (200.0 KiB)
+
+vif1.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
+ UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
+ RX packets:3 errors:0 dropped:0 overruns:0 frame:0
+ TX packets:2 errors:0 dropped:157 overruns:0 carrier:0
+ collisions:0 txqueuelen:1
+ RX bytes:140 (140.0 b) TX bytes:158 (158.0 b)
+
+xenbr1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF
+ UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
+ RX packets:4 errors:0 dropped:0 overruns:0 frame:0
+ TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
+ collisions:0 txqueuelen:0
+ RX bytes:112 (112.0 b) TX bytes:0 (0.0 b)
+
+ &prompt.root; brctl show
+bridge name bridge id STP enabled interfaces
+xenbr1 8000.feffffffffff no vif0.1
+ peth0
+ vif1.0
+
+
+
+
+ VMware unter &windows;/&mac;/&linux;
+
+ Dieser Abschnitt wurde noch nicht geschrieben.
+
+
+
+
+
+ FreeBSD als Host-Betriebssystem
+
+ FreeBSD wird derzeit offiziell von keiner
+ Virtualisierungssoftware als Host-Betriebssystem
+ unterstützt. Viele Anwender verwenden aber noch
+ ältere VMware-Versionen, die
+ FreeBSD noch als Host-Betriebssystem unterstützen.
+ Zusätzlich wird
+ daran gearbeitet, &xen; als
+ funktionierende Host-Umgebung (dom0) für FreeBSD
+ verfügbar zu machen.
+