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$
|
$FreeBSD$
|
||||||
$FreeBSDde: de-docproj/books/handbook/firewalls/chapter.xml,v 1.53 2012/04/30 16:15:52 bcr Exp $
|
$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"
|
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
||||||
|
@ -367,8 +367,10 @@
|
||||||
<warning>
|
<warning>
|
||||||
<para>Bedenken Sie beim Studium der <link
|
<para>Bedenken Sie beim Studium der <link
|
||||||
xlink:href="http://www.openbsd.org/faq/pf/">PF FAQ</link>,
|
xlink:href="http://www.openbsd.org/faq/pf/">PF FAQ</link>,
|
||||||
dass &os; die <application>PF</application>-Version aus
|
dass die <application>PF</application>-Version von &os;
|
||||||
OpenBSD 4.5 enthält.</para>
|
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>
|
</warning>
|
||||||
|
|
||||||
<para>Die &a.pf; ist ein guter Anlaufpunkt für Fragen zur
|
<para>Die &a.pf; ist ein guter Anlaufpunkt für Fragen zur
|
||||||
|
@ -378,31 +380,26 @@
|
||||||
Frage stellen. Vielleicht wurde die Frage dort schon
|
Frage stellen. Vielleicht wurde die Frage dort schon
|
||||||
beantwortet.</para>
|
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
|
<para>Dieser Abschnitt konzentriert sich auf
|
||||||
<application>PF</application> in &os;. Es wird beschrieben, wie
|
<application>PF</application> in &os;. Es wird beschrieben, wie
|
||||||
<application>PF</application> und
|
<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
|
wird demonstriert, wie Regelsätze auf einem &os;-System erstellt
|
||||||
werden.</para>
|
werden.</para>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title><application>PF</application> aktivieren</title>
|
<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
|
muss zunächst das Kernelmodul geladen werden. Dieser
|
||||||
Abschnitt beschreibt die Einträge für
|
Abschnitt beschreibt die Einträge für
|
||||||
<filename>/etc/rc.conf</filename>, die verwendet werden können
|
<filename>/etc/rc.conf</filename>, die verwendet werden können
|
||||||
um <application>PF</application> zu aktivieren.</para>
|
um <application>PF</application> zu aktivieren.</para>
|
||||||
|
|
||||||
<para>Beginnen Sie mit folgender Zeile in
|
<para>Beginnen Sie damit <literal>pf_enable=yes</literal> in
|
||||||
<filename>/etc/rc.conf</filename>:</para>
|
<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
|
<para>&man.pfctl.8; beschreibt zusätzliche Optionen, die beim
|
||||||
Start an <application>PF</application> übergeben werden
|
Start an <application>PF</application> übergeben werden
|
||||||
|
@ -425,15 +422,17 @@
|
||||||
|
|
||||||
<para>Protokollierungsfunktionen für
|
<para>Protokollierungsfunktionen für
|
||||||
<application>PF</application> werden von &man.pflog.4; zur
|
<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
|
<filename>/etc/rc.conf</filename> ein, um diese Funktion zu
|
||||||
aktivieren:</para>
|
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,
|
<para>Die folgenden Zeilen können zusätzlich hinzugefügt
|
||||||
um den Speicherort der Protokolldatei zu bestimmen und weitere
|
werden, um den Speicherort der Protokolldatei zu bestimmen und
|
||||||
Optionen beim Start an &man.pflog.4; zu übergeben:</para>
|
weitere Optionen beim Start an &man.pflog.4; zu
|
||||||
|
übergeben:</para>
|
||||||
|
|
||||||
<programlisting>pflog_logfile="/var/log/pflog" # where pflogd should store the logfile
|
<programlisting>pflog_logfile="/var/log/pflog" # where pflogd should store the logfile
|
||||||
pflog_flags="" # additional flags for pflogd startup</programlisting>
|
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
|
<para>Falls ein <acronym>LAN</acronym> hinter der Firewall
|
||||||
existiert und die Pakete an die Rechner im
|
existiert und die Pakete an die Rechner im
|
||||||
<acronym>LAN</acronym> weitergeleitet werden müssen, oder
|
<acronym>LAN</acronym> weitergeleitet werden müssen, oder
|
||||||
wenn <acronym>NAT</acronym> benötigt wird, fügen Sie die
|
wenn <acronym>NAT</acronym> benötigt wird, aktivieren Sie die
|
||||||
folgende Option hinzu:</para>
|
folgende Option:</para>
|
||||||
|
|
||||||
<programlisting>gateway_enable="YES" # Enable as LAN gateway</programlisting>
|
<programlisting>gateway_enable="YES" # Enable as LAN gateway</programlisting>
|
||||||
|
|
||||||
|
@ -585,102 +584,6 @@ device pfsync</programlisting>
|
||||||
von &man.top.1; sehr ähnlich.</para>
|
von &man.top.1; sehr ähnlich.</para>
|
||||||
</sect2>
|
</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">
|
<sect2 xml:id="pf-tutorial">
|
||||||
<info>
|
<info>
|
||||||
<title><application>PF</application> Regelsätze</title>
|
<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>
|
<screen>&prompt.root; <userinput>sysctl net.inet6.ip6.forwarding=1</userinput></screen>
|
||||||
|
|
||||||
<para>Um diese Einstellungen beim Systemstart zu aktivieren,
|
<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>
|
<filename>/etc/rc.conf</filename> ein:</para>
|
||||||
|
|
||||||
<programlisting>gateway_enable="YES" #für ipv4
|
<screen>&prompt.root; <userinput>sysrc gateway_enable=yes</userinput>
|
||||||
ipv6_gateway_enable="YES" #für ipv6</programlisting>
|
&prompt.root; <userinput>sysrc ipv6_gateway_enable=yes</userinput></screen>
|
||||||
|
|
||||||
<para>Prüfen Sie mit <command>ifconfig</command>, dass beide
|
<para>Prüfen Sie mit <command>ifconfig</command>, dass beide
|
||||||
Schnittstellen vorhanden und aktiv sind.</para>
|
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>
|
block drop out quick on $ext_if from any to $martians</programlisting>
|
||||||
</sect3>
|
</sect3>
|
||||||
</sect2>
|
</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>
|
||||||
|
|
||||||
<sect1 xml:id="firewalls-ipfw">
|
<sect1 xml:id="firewalls-ipfw">
|
||||||
|
|
Loading…
Reference in a new issue