Update to r44141:
Initial shuffle in prep for technical review of this chapter. Reviewed by: bcr Differential Revision: https://reviews.freebsd.org/D4798
This commit is contained in:
parent
06e14b33ff
commit
4289d16911
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48003
1 changed files with 154 additions and 158 deletions
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
$FreeBSD$
|
||||
$FreeBSDde:$
|
||||
basiert auf: r44136
|
||||
basiert auf: r44141
|
||||
-->
|
||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
||||
|
|
@ -123,129 +123,164 @@ xml:id="advanced-networking">
|
|||
<primary>Subnetz</primary>
|
||||
</indexterm>
|
||||
|
||||
<para>Damit ein Rechner einen anderen über ein Netzwerk finden
|
||||
kann, muss ein Mechanismus vorhanden sein, der beschreibt, wie
|
||||
man von einem Rechner zum anderen gelangt. Dieser Vorgang wird
|
||||
als <firstterm>Routing</firstterm> bezeichnet. Eine
|
||||
<quote>Route</quote> besteht aus einem definierten Adresspaar:
|
||||
Einem <quote>Ziel</quote> und einem <quote>Gateway</quote>.
|
||||
Dieses Paar zeigt an, dass Pakete über das
|
||||
<emphasis>Gateway</emphasis> zum <emphasis>Ziel</emphasis>
|
||||
gelangen können. Es gibt drei Arten
|
||||
von Zielen: Einzelne Rechner (Hosts), Subnetze und das
|
||||
<quote>Standard</quote>ziel. Die <quote>Standardroute</quote>
|
||||
<para>Der Mechanismus mit dem ein Rechner einen Rechner über ein
|
||||
Netzwerk finden kann, wird als <firstterm>Routing</firstterm>
|
||||
bezeichnet. Eine <quote>Route</quote> besteht aus einem
|
||||
definierten Adresspaar: Einem <quote>Ziel</quote> und einem
|
||||
<quote>Gateway</quote>. Die Route zeigt an, dass Pakete über
|
||||
das <emphasis>Gateway</emphasis> zum <emphasis>Ziel</emphasis>
|
||||
gelangen können. Es gibt drei Arten von Zielen: Einzelne
|
||||
Rechner (Hosts), Subnetze und das <quote>Standard</quote>ziel.
|
||||
Die <quote>Standardroute</quote>
|
||||
wird verwendet, wenn keine andere Route zutrifft. Außerdem gibt
|
||||
es drei Arten von Gateways: Einzelne Rechner
|
||||
(Hosts), Schnittstellen (Interfaces, auch als
|
||||
<quote>Links</quote> bezeichnet), sowie Ethernet
|
||||
Hardware-Adressen (<acronym>MAC</acronym>).
|
||||
</para>
|
||||
Hardware-Adressen (<acronym>MAC</acronym>). Bekannte Adressen
|
||||
werden in einer Routingtabelle gespeichert.</para>
|
||||
|
||||
<sect2>
|
||||
<title>Ein Beispiel</title>
|
||||
<para>Dieser Abschnitt bietet einen Überblick über die Grundlagen
|
||||
des Routings. Er demonstriert, wie ein &os;-System als
|
||||
Router konfiguriert werden kann und bietet einige Tipps zur
|
||||
Fehlerbehebung.</para>
|
||||
|
||||
<para>Dieses Beispiel zeigt anhand der Ausgabe von
|
||||
&man.netstat.1; mehrere Aspekte des Routings:</para>
|
||||
<sect2 xml:id="network-routing-default">
|
||||
<title>Grundlagen des Routings</title>
|
||||
|
||||
<para>&man.netstat.1; zeigt die Routingtabellen
|
||||
eines &os;-Systems an:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>netstat -r</userinput>
|
||||
Routing tables
|
||||
|
||||
Destination Gateway Flags Refs Use Netif Expire
|
||||
Internet:
|
||||
Destination Gateway Flags Refs Use Netif Expire
|
||||
default outside-gw UGS 37 418 em0
|
||||
localhost localhost UH 0 181 lo0
|
||||
test0 0:e0:b5:36:cf:4f UHLW 5 63288 re0 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</screen>
|
||||
|
||||
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
|
||||
</screen>
|
||||
<para>Die Einträge in diesem Beispiel sind wie folgt:</para>
|
||||
|
||||
<indexterm>
|
||||
<primary>Defaultroute</primary>
|
||||
</indexterm>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>default</term>
|
||||
<listitem>
|
||||
<para>Die erste Zeile gibt die Standardroute an. Wenn
|
||||
sich der lokale Rechner mit einem entfernten Rechner
|
||||
verbinden will, wird die Routingtabelle überprüft, um
|
||||
festzustellen, ob bereits ein bekannter Pfad vorhanden
|
||||
ist. Gehört dieser entfernte Rechner zu einem Subnetz,
|
||||
dessen Pfad bereits bekannt ist, dann versucht der
|
||||
lokale Rechner über diese Schnittstelle eine Verbindung
|
||||
herzustellen.</para>
|
||||
|
||||
<para>Die ersten zwei Zeilen geben die Standardroute, die im
|
||||
<xref linkend="network-routing-default"/> genauer beschrieben
|
||||
wird, sowie die <systemitem>localhost</systemitem>
|
||||
Route an.</para>
|
||||
<para>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 <literal>C</literal> gekennzeichnet ist. Für
|
||||
Rechner im lokalen Netzwerk ist dieses Gateway das
|
||||
System, welches eine direkte Verbindung zum Internet
|
||||
hat.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<indexterm>
|
||||
<primary>Loopback-Gerät</primary>
|
||||
</indexterm>
|
||||
<varlistentry>
|
||||
<term>localhost</term>
|
||||
<listitem>
|
||||
<para>Die zweite Zeile zeigt die
|
||||
<literal>localhost</literal> Route. Das festgelegte
|
||||
Interface für <literal>localhost</literal> ist
|
||||
<literal>lo0</literal>
|
||||
(<literal>Netif</literal>-Spalte), das auch als
|
||||
loopback-Gerät bekannt ist. Das bedeutet, dass der
|
||||
gesamte Datenverkehr für dieses Ziel intern bleibt,
|
||||
anstatt ihn über ein Netzwerk zu versenden.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<para>Das in der Routingtabelle für
|
||||
<literal>localhost</literal> festgelegte Interface
|
||||
(<literal>Netif</literal>-Spalte)
|
||||
<filename>lo0</filename>, ist auch als loopback-Gerät
|
||||
(Prüfschleife) bekannt. Das heißt, dass der ganze
|
||||
Datenverkehr für dieses Ziel intern bleibt, anstatt ihn über
|
||||
ein Netzwerk zu versenden.</para>
|
||||
<varlistentry>
|
||||
<term>MAC-Adresse</term>
|
||||
<listitem>
|
||||
<para>Bei den mit <systemitem
|
||||
class="etheraddress">0:e0:</systemitem> beginnenden
|
||||
Adressen handelt es sich um
|
||||
<acronym>MAC</acronym>-Adressen. &os; identifiziert
|
||||
Rechner im lokalen Netz, im Beispiel
|
||||
<systemitem>test0</systemitem>, automatisch und fügt
|
||||
eine direkte Route über die Ethernet-Schnittstelle
|
||||
<filename>re0</filename> zu diesem Rechner hinzu.
|
||||
Außerdem existiert in der Spalte
|
||||
<literal>Expire</literal> ein Timeout, der verwendet
|
||||
wird, wenn dieser Rechner in einem definierten Zeitraum
|
||||
nicht reagiert. Wenn dies passiert, wird die Route zu
|
||||
diesem Rechner automatisch gelöscht. Rechner im lokalen
|
||||
Netz werden über das Routing Information Protocol
|
||||
(<acronym>RIP</acronym>) identifiziert, welches den
|
||||
kürzesten Weg zu den jeweiligen Rechnern
|
||||
berechnet.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<indexterm>
|
||||
<primary>Ethernet</primary>
|
||||
<secondary>MAC-Adresse</secondary>
|
||||
</indexterm>
|
||||
<varlistentry>
|
||||
<term>Subnetz</term>
|
||||
<listitem>
|
||||
<para>&os; fügt Subnetzrouten für das lokale Subnetz
|
||||
hinzu. <systemitem
|
||||
class="ipaddress">10.20.30.255</systemitem> ist die
|
||||
Broadcast-Adresse für das Subnetz <systemitem
|
||||
class="ipaddress">10.20.30</systemitem>, und
|
||||
<systemitem
|
||||
class="fqdomainname">example.com</systemitem> ist der
|
||||
zu diesem Subnetz gehörige Domainname. Das Ziel
|
||||
<literal>link#1</literal> bezieht sich auf die erste
|
||||
Ethernet-Karte im Rechner.</para>
|
||||
|
||||
<para>Bei den mit
|
||||
<systemitem class="etheraddress">0:e0:</systemitem>
|
||||
beginnenden Adressen handelt es sich um Ethernet
|
||||
Hardwareadressen, die auch als
|
||||
<acronym>MAC</acronym>-Adressen bekannt sind. &os;
|
||||
identifiziert Rechner im
|
||||
lokalen Netz, im Beispiel <systemitem>test0</systemitem>,
|
||||
automatisch und fügt eine direkte Route über die
|
||||
Ethernet-Schnittstelle <filename>ed0</filename> zu diesem
|
||||
Rechner hinzu. Außerdem existiert in der Spalte
|
||||
<literal>Expire</literal> ein Timeout, der verwendet wird,
|
||||
wenn dieser Rechner in einem definierten Zeitraum nicht
|
||||
reagiert. Wenn dies passiert, wird die Route zu diesem
|
||||
Rechner automatisch gelöscht. Rechner im lokalen Netz werden
|
||||
über das Routing Information Protocol (<acronym>RIP</acronym>)
|
||||
identifiziert, welches den kürzesten Weg zu den jeweiligen
|
||||
Rechnern berechnet.</para>
|
||||
<para>Routen für Rechner im lokalen Netz und lokale
|
||||
Subnetze werden automatisch durch den
|
||||
&man.routed.8; Daemon konfiguriert. Ist dieser nicht
|
||||
gestartet, existieren nur statische Routen, die vom
|
||||
Administrator definiert werden.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<indexterm>
|
||||
<primary>Subnetz</primary>
|
||||
</indexterm>
|
||||
<varlistentry>
|
||||
<term>Host</term>
|
||||
<listitem>
|
||||
<para>Die Zeile <literal>host1</literal> bezieht sich auf
|
||||
den Rechner, der durch seine Ethernetadresse bekannt ist.
|
||||
Da es sich um den sendenden Rechner handelt, verwendet &os;
|
||||
automatisch das Loopback-Gerät (<filename>lo0</filename>),
|
||||
anstatt den Datenverkehr über die Ethernet-Schnittstelle
|
||||
zu senden.</para>
|
||||
|
||||
<para>&os; fügt Subnetzrouten für das
|
||||
lokale Subnetz hinzu.
|
||||
<systemitem class="ipaddress">10.20.30.255</systemitem> ist
|
||||
die Broadcast-Adresse für das Subnetz
|
||||
<systemitem class="ipaddress">10.20.30</systemitem>, und
|
||||
<systemitem class="fqdomainname">example.com</systemitem> ist
|
||||
der zu diesem Subnetz gehörige Domainname. Das Ziel
|
||||
<literal>link#1</literal> bezieht sich auf die erste
|
||||
Ethernet-Karte im Rechner.</para>
|
||||
<para>Die zwei <literal>host2</literal> Zeilen repräsentieren
|
||||
Aliase, die mit &man.ifconfig.8; erstellt wurden. Das Symbol
|
||||
<literal>=></literal> nach der
|
||||
<filename>lo0</filename>-Schnittstelle sagt aus, dass
|
||||
zusätzlich zur Loopback-Adresse auch ein Alias eingestellt
|
||||
ist. Solche Routen sind nur auf Rechnern vorhanden, die den
|
||||
Alias bereitstellen. Alle anderen Rechner im lokalen Netz
|
||||
haben für solche Routen nur eine
|
||||
<literal>link#1</literal> Zeile.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<para>Routen für Rechner im lokalen Netz und lokale
|
||||
Subnetze werden automatisch durch den
|
||||
&man.routed.8; Daemon konfiguriert. Ist dieser nicht
|
||||
gestartet, existieren nur statische Routen, die vom
|
||||
Administrator definiert werden.</para>
|
||||
|
||||
<para>Die Zeile <literal>host1</literal> bezieht sich auf
|
||||
den Rechner, der durch seine Ethernetadresse bekannt ist.
|
||||
Da es sich um den sendenden Rechner handelt, verwendet &os;
|
||||
automatisch das Loopback-Gerät (<filename>lo0</filename>),
|
||||
anstatt den Datenverkehr über die Ethernetschnittstelle
|
||||
zu senden.</para>
|
||||
|
||||
<para>Die zwei <literal>host2</literal> Zeilen repräsentieren
|
||||
Aliase, die mit &man.ifconfig.8; erstellt wurden. Das Symbol
|
||||
<literal>=></literal> nach der
|
||||
<filename>lo0</filename>-Schnittstelle sagt aus, dass
|
||||
zusätzlich zur Loopback-Adresse auch ein Alias eingestellt
|
||||
ist. Solche Routen sind nur auf Rechnern vorhanden, die den
|
||||
Alias bereitstellen. Alle anderen Rechner im lokalen Netz
|
||||
haben für solche Routen nur eine
|
||||
<literal>link#1</literal> Zeile.</para>
|
||||
|
||||
<para>Die letzte Zeile (Zielsubnetz <literal>224</literal>)
|
||||
behandelt Multicasting.</para>
|
||||
<varlistentry>
|
||||
<term>224</term>
|
||||
<listitem>
|
||||
<para>Die letzte Zeile (Zielsubnetz <literal>224</literal>)
|
||||
behandelt Multicasting.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Schließlich gibt es für Routen noch
|
||||
verschiedene Attribute, die Sie in der Spalte
|
||||
|
|
@ -314,36 +349,6 @@ host2.example.com link#1 UC 0 0
|
|||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="network-routing-default">
|
||||
<title>Standardrouten</title>
|
||||
|
||||
<indexterm>
|
||||
<primary>Defaultroute</primary>
|
||||
</indexterm>
|
||||
|
||||
<indexterm>
|
||||
<primary>Standardroute</primary>
|
||||
<see>Defaultroute</see>
|
||||
</indexterm>
|
||||
|
||||
<para>Wenn sich der lokale Rechner mit einem entfernten Rechner
|
||||
verbinden will, wird die Routingtabelle überprüft,
|
||||
um festzustellen, ob bereits ein bekannter Pfad vorhanden ist.
|
||||
Gehört dieser entfernte Rechner zu einem Subnetz, dessen
|
||||
Pfad bereits bekannt ist, dann versucht der lokale Rechner
|
||||
über diese Schnittstelle eine Verbindung herzustellen.</para>
|
||||
|
||||
<para>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 <literal>C</literal> gekennzeichnet ist.
|
||||
Für Rechner im lokalen Netzwerk ist dieses Gateway das
|
||||
System, welches eine direkte Verbindung zum Internet
|
||||
hat.</para>
|
||||
|
||||
<para>Die Standardroute für einen Rechner, der selbst als
|
||||
Gateway zur Außenwelt fungiert, ist der Gateway-Rechner des
|
||||
|
|
@ -474,8 +479,21 @@ host2.example.com link#1 UC 0 0
|
|||
Netzwerk-Routingtabellen finden Sie in &man.route.8;.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="network-dual-homed-hosts">
|
||||
<title>Rechner mit zwei Heimatnetzen</title>
|
||||
<sect2 xml:id="network-static-routes">
|
||||
<info>
|
||||
<title>Statische Routen einrichten</title>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<personname>
|
||||
<firstname>Al</firstname>
|
||||
<surname>Hoang</surname>
|
||||
</personname>
|
||||
<contrib>Beigetragen von </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</info>
|
||||
<!-- Feb 2004 -->
|
||||
|
||||
<indexterm>
|
||||
<primary>Dual-Homed-Hosts</primary>
|
||||
|
|
@ -505,10 +523,6 @@ host2.example.com link#1 UC 0 0
|
|||
Schnittstellen weiterleiten kann, muss &os; als Router
|
||||
konfiguriert werden. Dies wird im nächsten Abschnitt
|
||||
beschrieben.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="network-dedicated-router">
|
||||
<title>Einen Router konfigurieren</title>
|
||||
|
||||
<indexterm>
|
||||
<primary>Router</primary>
|
||||
|
|
@ -549,23 +563,6 @@ host2.example.com link#1 UC 0 0
|
|||
<acronym>BGP</acronym>v4,
|
||||
<acronym>OSPF</acronym>v2 und andere Protokolle werden
|
||||
von <package>net/zebra</package> unterstützt.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="network-static-routes">
|
||||
<info><title>Statische Routen einrichten</title>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<personname>
|
||||
<firstname>Al</firstname>
|
||||
<surname>Hoang</surname>
|
||||
</personname>
|
||||
<contrib>Beigetragen von </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</info>
|
||||
|
||||
<sect3>
|
||||
<title>Manuelle Konfiguration</title>
|
||||
|
||||
<para>Nehmen wir an, dass wir über folgendes Netzwerk
|
||||
verfügen:</para>
|
||||
|
|
@ -641,7 +638,6 @@ default 10.0.0.1 UGS 0 49378 xl0
|
|||
<para>Ab sofort kann <systemitem>RouterA</systemitem> alle Rechner des
|
||||
Netzwerks <systemitem class="ipaddress">192.168.2.0/24</systemitem>
|
||||
erreichen.</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Routen dauerhaft einrichten</title>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue