Update to r52936:
This patch updates the PF chapter regarding structure and various updates.
This commit is contained in:
parent
cadf73b760
commit
7eb6669e14
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=53265
1 changed files with 118 additions and 119 deletions
|
@ -5,7 +5,7 @@
|
|||
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/books/handbook/firewalls/chapter.xml,v 1.53 2012/04/30 16:15:52 bcr Exp $
|
||||
basiert auf: r52855
|
||||
basiert auf: r52936
|
||||
-->
|
||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
||||
|
@ -367,8 +367,10 @@
|
|||
<warning>
|
||||
<para>Bedenken Sie beim Studium der <link
|
||||
xlink:href="http://www.openbsd.org/faq/pf/">PF FAQ</link>,
|
||||
dass &os; die <application>PF</application>-Version aus
|
||||
OpenBSD 4.5 enthält.</para>
|
||||
dass die <application>PF</application>-Version von &os;
|
||||
im Laufe der Jahre erheblich von der Version in OpenBSD
|
||||
abgewichen ist. Nicht alle Eigenschaften funktionieren
|
||||
unter &os; genauso wie unter OpenBSD und umgekehrt.</para>
|
||||
</warning>
|
||||
|
||||
<para>Die &a.pf; ist ein guter Anlaufpunkt für Fragen zur
|
||||
|
@ -378,31 +380,26 @@
|
|||
Frage stellen. Vielleicht wurde die Frage dort schon
|
||||
beantwortet.</para>
|
||||
|
||||
<para>Weitere Informationen über die Portierung von
|
||||
<application>PF</application> nach &os; finden Sie unter <link
|
||||
xlink:href="http://pf4freebsd.love2party.net/">
|
||||
http://pf4freebsd.love2party.net/</link>.</para>
|
||||
|
||||
<para>Dieser Abschnitt konzentriert sich auf
|
||||
<application>PF</application> in &os;. Es wird beschrieben, wie
|
||||
<application>PF</application> und
|
||||
<application>ALTQ</application> aktiviert werden. Anschließend
|
||||
<application>ALTQ</application> aktiviert werden. Zusätzlich
|
||||
wird demonstriert, wie Regelsätze auf einem &os;-System erstellt
|
||||
werden.</para>
|
||||
|
||||
<sect2>
|
||||
<title><application>PF</application> aktivieren</title>
|
||||
|
||||
<para>Damit <application>PF</application> benutzt werden kann,
|
||||
<para>Um <application>PF</application> zu benutzen,
|
||||
muss zunächst das Kernelmodul geladen werden. Dieser
|
||||
Abschnitt beschreibt die Einträge für
|
||||
<filename>/etc/rc.conf</filename>, die verwendet werden können
|
||||
um <application>PF</application> zu aktivieren.</para>
|
||||
|
||||
<para>Beginnen Sie mit folgender Zeile in
|
||||
<filename>/etc/rc.conf</filename>:</para>
|
||||
<para>Beginnen Sie damit <literal>pf_enable=yes</literal> in
|
||||
<filename>/etc/rc.conf</filename> hinzuzufügen:</para>
|
||||
|
||||
<programlisting>pf_enable="YES"</programlisting>
|
||||
<screen>&prompt.root; <userinput>sysrc pf_enable=yes</userinput></screen>
|
||||
|
||||
<para>&man.pfctl.8; beschreibt zusätzliche Optionen, die beim
|
||||
Start an <application>PF</application> übergeben werden
|
||||
|
@ -425,15 +422,17 @@
|
|||
|
||||
<para>Protokollierungsfunktionen für
|
||||
<application>PF</application> werden von &man.pflog.4; zur
|
||||
Verfügung gestellt. Fügen Sie folgende Zeile in
|
||||
Verfügung gestellt. Fügen Sie
|
||||
<literal>pflog_enable=yes</literal> in
|
||||
<filename>/etc/rc.conf</filename> ein, um diese Funktion zu
|
||||
aktivieren:</para>
|
||||
|
||||
<programlisting>pflog_enable="YES"</programlisting>
|
||||
<screen>&prompt.root; <userinput>sysrc pflog_enable=yes</userinput></screen>
|
||||
|
||||
<para>Die folgenden Zeilen können ebenfalls hinzugefügt werden,
|
||||
um den Speicherort der Protokolldatei zu bestimmen und weitere
|
||||
Optionen beim Start an &man.pflog.4; zu übergeben:</para>
|
||||
<para>Die folgenden Zeilen können zusätzlich hinzugefügt
|
||||
werden, um den Speicherort der Protokolldatei zu bestimmen und
|
||||
weitere Optionen beim Start an &man.pflog.4; zu
|
||||
übergeben:</para>
|
||||
|
||||
<programlisting>pflog_logfile="/var/log/pflog" # where pflogd should store the logfile
|
||||
pflog_flags="" # additional flags for pflogd startup</programlisting>
|
||||
|
@ -441,8 +440,8 @@ pflog_flags="" # additional flags for pflogd startup</programli
|
|||
<para>Falls ein <acronym>LAN</acronym> hinter der Firewall
|
||||
existiert und die Pakete an die Rechner im
|
||||
<acronym>LAN</acronym> weitergeleitet werden müssen, oder
|
||||
wenn <acronym>NAT</acronym> benötigt wird, fügen Sie die
|
||||
folgende Option hinzu:</para>
|
||||
wenn <acronym>NAT</acronym> benötigt wird, aktivieren Sie die
|
||||
folgende Option:</para>
|
||||
|
||||
<programlisting>gateway_enable="YES" # Enable as LAN gateway</programlisting>
|
||||
|
||||
|
@ -585,102 +584,6 @@ device pfsync</programlisting>
|
|||
von &man.top.1; sehr ähnlich.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title><application>ALTQ</application> aktivieren</title>
|
||||
|
||||
<para>Unter &os; kann <application>ALTQ</application> zusammen
|
||||
mit <application>PF</application> benutzt werden, um Quality
|
||||
of Service (<acronym>QoS</acronym>) bereitzustellen. Sobald
|
||||
<application>ALTQ</application> aktiviert ist, können
|
||||
Warteschlangen definiert werden, mit denen Sie die Priorität
|
||||
für ausgehende Pakete festlegen können.</para>
|
||||
|
||||
<para>Bevor Sie <application>ALTQ</application> aktivieren,
|
||||
sollten Sie &man.altq.4; lesen und sicherstellen, das der
|
||||
Treiber der Netzwerkkarte diese Funktion unterstützt.</para>
|
||||
|
||||
<para><application>ALTQ</application> steht nicht als ladbares
|
||||
Kernelmodul zur Verfügung. Wenn die Netzwerkkarte des Systems
|
||||
<application>ALTQ</application> unterstützt, erstellen Sie
|
||||
nach den Anweisungen in <xref linkend="kernelconfig"/> einen
|
||||
angepassten Kernel. Als erstes muss
|
||||
<application>ALTQ</application> aktiviert werden. Zudem ist
|
||||
mindestens eine weitere Option nötig, um den Algorithmus für
|
||||
die Warteschlange zu bestimmen:</para>
|
||||
|
||||
<programlisting>options ALTQ
|
||||
options ALTQ_CBQ # Class Based Queuing (CBQ)
|
||||
options ALTQ_RED # Random Early Detection (RED)
|
||||
options ALTQ_RIO # RED In/Out
|
||||
options ALTQ_HFSC # Hierarchical Packet Schedule (HFSC)
|
||||
options ALTQ_PRIQ # Priority Queuing (PRIQ)</programlisting>
|
||||
|
||||
<para>Die folgenden Algorithmen stehen zur Verfügung:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>CBQ</term>
|
||||
<listitem>
|
||||
<para>Class Based Queuing (<acronym>CBQ</acronym>) erlaubt
|
||||
es, die Bandbreite einer Verbindung in verschiedene
|
||||
Klassen oder Warteschlangen zu unterteilen, um die
|
||||
Priorität von Datenpaketen basierend auf Filterregeln zu
|
||||
beeinflussen.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>RED</term>
|
||||
<listitem>
|
||||
<para>Random Early Detection (<acronym>RED</acronym>) wird
|
||||
eingesetzt, um eine Überlastung des Netzwerks zu
|
||||
vermeiden. Dazu ermittelt <acronym>RED</acronym> 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 nach dem
|
||||
Zufallsprinzip verworfen.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>RIO</term>
|
||||
<listitem>
|
||||
<para>Random Early Detection In and Out
|
||||
(<acronym>RIO</acronym>). Dieser Modus verwaltet
|
||||
mehrere Warteschlangen durchschnittlicher Größe mit
|
||||
mehreren Schwellwerten, eine für jedes
|
||||
<acronym>QoS</acronym>-Level.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>HFSC</term>
|
||||
<listitem>
|
||||
<para>Hierachical Fair Service Curve Packet Scheduler
|
||||
(<acronym>HFSC</acronym>) wird in <link
|
||||
xlink:href="http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html">
|
||||
http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html</link>
|
||||
beschrieben.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>PRIQ</term>
|
||||
<listitem>
|
||||
<para>Priority Queuing (<acronym>PRIQ</acronym>) lässt den
|
||||
Verkehr einer Warteschlange mit höherer Priorität zuerst
|
||||
durch.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Weitere Informationen über diese Algorithmen und Beispiele
|
||||
für Regelsätze finden Sie in den <uri
|
||||
xlink:href="https://web.archive.org/web/20151109213426/http://www.openbsd.org/faq/pf/queueing.html">
|
||||
OpenBSD Archiven</uri>.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="pf-tutorial">
|
||||
<info>
|
||||
<title><application>PF</application> Regelsätze</title>
|
||||
|
@ -814,11 +717,11 @@ pass proto udp to any port $udp_services keep state</programlisting>
|
|||
<screen>&prompt.root; <userinput>sysctl net.inet6.ip6.forwarding=1</userinput></screen>
|
||||
|
||||
<para>Um diese Einstellungen beim Systemstart zu aktivieren,
|
||||
fügen Sie folgende Zeilen in
|
||||
fügen Sie sie mit Hilfe von &man.sysrc.8; in
|
||||
<filename>/etc/rc.conf</filename> ein:</para>
|
||||
|
||||
<programlisting>gateway_enable="YES" #für ipv4
|
||||
ipv6_gateway_enable="YES" #für ipv6</programlisting>
|
||||
<screen>&prompt.root; <userinput>sysrc gateway_enable=yes</userinput>
|
||||
&prompt.root; <userinput>sysrc ipv6_gateway_enable=yes</userinput></screen>
|
||||
|
||||
<para>Prüfen Sie mit <command>ifconfig</command>, dass beide
|
||||
Schnittstellen vorhanden und aktiv sind.</para>
|
||||
|
@ -1706,6 +1609,102 @@ block drop in quick on $ext_if from $martians to any
|
|||
block drop out quick on $ext_if from any to $martians</programlisting>
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title><application>ALTQ</application> aktivieren</title>
|
||||
|
||||
<para>Unter &os; kann <application>ALTQ</application> zusammen
|
||||
mit <application>PF</application> benutzt werden, um Quality
|
||||
of Service (<acronym>QoS</acronym>) bereitzustellen. Sobald
|
||||
<application>ALTQ</application> aktiviert ist, können
|
||||
Warteschlangen definiert werden, mit denen Sie die Priorität
|
||||
für ausgehende Pakete festlegen können.</para>
|
||||
|
||||
<para>Bevor Sie <application>ALTQ</application> aktivieren,
|
||||
sollten Sie &man.altq.4; lesen und sicherstellen, das der
|
||||
Treiber der Netzwerkkarte diese Funktion unterstützt.</para>
|
||||
|
||||
<para><application>ALTQ</application> steht nicht als ladbares
|
||||
Kernelmodul zur Verfügung. Wenn die Netzwerkkarte des Systems
|
||||
<application>ALTQ</application> unterstützt, erstellen Sie
|
||||
nach den Anweisungen in <xref linkend="kernelconfig"/> einen
|
||||
angepassten Kernel. Als erstes muss
|
||||
<application>ALTQ</application> aktiviert werden. Zudem ist
|
||||
mindestens eine weitere Option nötig, um den Algorithmus für
|
||||
die Warteschlange zu bestimmen:</para>
|
||||
|
||||
<programlisting>options ALTQ
|
||||
options ALTQ_CBQ # Class Based Queuing (CBQ)
|
||||
options ALTQ_RED # Random Early Detection (RED)
|
||||
options ALTQ_RIO # RED In/Out
|
||||
options ALTQ_HFSC # Hierarchical Packet Schedule (HFSC)
|
||||
options ALTQ_PRIQ # Priority Queuing (PRIQ)</programlisting>
|
||||
|
||||
<para>Die folgenden Algorithmen stehen zur Verfügung:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>CBQ</term>
|
||||
<listitem>
|
||||
<para>Class Based Queuing (<acronym>CBQ</acronym>) erlaubt
|
||||
es, die Bandbreite einer Verbindung in verschiedene
|
||||
Klassen oder Warteschlangen zu unterteilen, um die
|
||||
Priorität von Datenpaketen basierend auf Filterregeln zu
|
||||
beeinflussen.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>RED</term>
|
||||
<listitem>
|
||||
<para>Random Early Detection (<acronym>RED</acronym>) wird
|
||||
eingesetzt, um eine Überlastung des Netzwerks zu
|
||||
vermeiden. Dazu ermittelt <acronym>RED</acronym> 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 nach dem
|
||||
Zufallsprinzip verworfen.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>RIO</term>
|
||||
<listitem>
|
||||
<para>Random Early Detection In and Out
|
||||
(<acronym>RIO</acronym>). Dieser Modus verwaltet
|
||||
mehrere Warteschlangen durchschnittlicher Größe mit
|
||||
mehreren Schwellwerten, eine für jedes
|
||||
<acronym>QoS</acronym>-Level.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>HFSC</term>
|
||||
<listitem>
|
||||
<para>Hierachical Fair Service Curve Packet Scheduler
|
||||
(<acronym>HFSC</acronym>) wird in <link
|
||||
xlink:href="http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html">
|
||||
http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html</link>
|
||||
beschrieben.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>PRIQ</term>
|
||||
<listitem>
|
||||
<para>Priority Queuing (<acronym>PRIQ</acronym>) lässt den
|
||||
Verkehr einer Warteschlange mit höherer Priorität zuerst
|
||||
durch.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<para>Weitere Informationen über diese Algorithmen und Beispiele
|
||||
für Regelsätze finden Sie in den <uri
|
||||
xlink:href="https://web.archive.org/web/20151109213426/http://www.openbsd.org/faq/pf/queueing.html">
|
||||
OpenBSD Archiven</uri>.</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="firewalls-ipfw">
|
||||
|
|
Loading…
Reference in a new issue