Update to r43706:
First 1/2 of edits to this section. Shuffle content into a more logical order and clarify text.
This commit is contained in:
parent
a2eefc8d5e
commit
37d2da8a70
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48811
1 changed files with 136 additions and 141 deletions
|
@ -5,7 +5,7 @@
|
|||
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/books/handbook/network-servers/chapter.xml,v 1.103 2011/12/24 15:51:18 bcr Exp $
|
||||
basiert auf: r43384
|
||||
basiert auf: r43706
|
||||
-->
|
||||
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="network-servers">
|
||||
<!--
|
||||
|
@ -137,20 +137,22 @@
|
|||
<title>Der <application>inetd</application>
|
||||
<quote>Super-Server</quote></title>
|
||||
|
||||
<sect2 xml:id="network-inetd-overview">
|
||||
<title>Überblick</title>
|
||||
<sect2 xml:id="network-inetd-overview">
|
||||
<title>Übersicht</title>
|
||||
|
||||
<para>&man.inetd.8; wird manchmal auch als <quote>Internet
|
||||
Super-Server</quote> bezeichnet, weil er Verbindungen für
|
||||
viele Dienste verwaltet. Wenn eine Verbindung eintrifft,
|
||||
bestimmt <application>inetd</application>, welches Programm
|
||||
für die eingetroffene Verbindung zuständig ist,
|
||||
aktiviert den entsprechenden Prozess und reicht den Socket an
|
||||
ihn weiter (der Socket dient dabei als Standardein- und -ausgabe
|
||||
sowie zur Fehlerbehandlung). Der Einsatz des
|
||||
<application>inetd</application>-Daemons an Stelle
|
||||
viele einzelner Daemonen kann auf nicht komplett ausgelasteten
|
||||
Servern zu einer Verringerung der Systemlast führen.</para>
|
||||
<para>Der &man.inetd.8;-Daemon wird manchmal auch als
|
||||
<quote>Internet Super-Server</quote> bezeichnet, weil er
|
||||
Verbindungen für viele Dienste verwaltet. Anstatt mehrere
|
||||
Anwendungen zu starten, muss nur der
|
||||
<application>inetd</application>-Dienst gestartet werden.
|
||||
Wenn eine Verbindung für einen Dienst eintrifft, der von
|
||||
<application>inetd</application> verwaltet wird, bestimmt
|
||||
<application>inetd</application>, welches Programm für die
|
||||
eingetroffene Verbindung zuständig ist, aktiviert den
|
||||
entsprechenden Prozess und reicht den Socket an ihn weiter.
|
||||
Der Einsatz von <application>inetd</application> an Stelle
|
||||
viele einzelner Daemonen kann auf nicht komplett ausgelasteten
|
||||
Servern zu einer Verringerung der Systemlast führen.</para>
|
||||
|
||||
<para><application>inetd</application> wird vor allem dazu
|
||||
verwendet, andere Daemonen zu aktivieren, einige Protokolle
|
||||
|
@ -160,138 +162,58 @@
|
|||
<application>daytime</application>.</para>
|
||||
|
||||
<para>Dieser Abschnitt beschreibt die Konfiguration von
|
||||
<application>inetd</application> durch Kommandozeilenoptionen
|
||||
sowie die Konfigurationsdatei
|
||||
<filename>/etc/inetd.conf</filename>.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="network-inetd-settings">
|
||||
<title>Einstellungen</title>
|
||||
|
||||
<para><application>inetd</application> wird durch das
|
||||
&man.rc.8;-System initialisiert. Die Option
|
||||
<literal>inetd_enable</literal> ist in der Voreinstellung
|
||||
auf <literal>NO</literal> gesetzt. Es kann durch den
|
||||
Eintrag</para>
|
||||
|
||||
<programlisting>inetd_enable="YES"</programlisting>
|
||||
|
||||
<para>in <filename>/etc/rc.conf</filename> aktiviert werden.
|
||||
<application>inetd</application> wird jetzt beim Systemstart
|
||||
gestartet. Über den Befehl</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>service inetd rcvar</userinput></screen>
|
||||
|
||||
<para>können Sie die aktuelle Konfiguration
|
||||
abfragen.</para>
|
||||
|
||||
<para>Weitere Optionen können über die Option
|
||||
<literal>inetd_flags</literal> an
|
||||
<application>inetd</application> übergeben werden.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="network-inetd-cmdline">
|
||||
<title>Kommandozeilenoptionen</title>
|
||||
|
||||
<para>Wie die meisten anderen Server-Daemonen lässt
|
||||
sich auch <application>inetd</application> über
|
||||
verschiedene Optionen steuern. Eine vollständige Liste
|
||||
dieser Optionen finden Sie in &man.inetd.8;.</para>
|
||||
|
||||
<para>Die verschiedenen Optionen können über die Option
|
||||
<literal>inetd_flags</literal> der Datei
|
||||
<filename>/etc/rc.conf</filename> an
|
||||
<application>inetd</application> übergeben werden. In
|
||||
der Voreinstellung hat diese Option den Wert
|
||||
<literal>-wW -C 60</literal>. Durch das Setzen dieser Werte
|
||||
wird das TCP-Wrapping für alle
|
||||
<application>inetd</application>-Dienste aktiviert.
|
||||
Zusätzlich kann eine einzelne <acronym>IP</acronym>-Adresse jeden Dienst
|
||||
nur maximal 60 Mal pro Minute anfordern.</para>
|
||||
|
||||
<para>Für Einsteiger ist es erfreulich, dass diese Parameter
|
||||
in der Regel nicht angepasst werden müssen. Da diese
|
||||
Parameter aber dennoch von Interesse sein können
|
||||
(beispielsweise, wenn Sie eine enorme Anzahl von
|
||||
Verbindungsanfragen erhalten), werden einige dieser
|
||||
einschränkenden Parameter im Folgenden näher
|
||||
erläutert. Eine vollständige Liste aller
|
||||
Optionen finden Sie in &man.inetd.8;.</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>-c maximum</term>
|
||||
|
||||
<listitem>
|
||||
<para>Legt die maximale Anzahl von parallen Aufrufen eines
|
||||
Dienstes fest; in der Voreinstellung gibt es keine
|
||||
Einschränkung. Diese Einstellung kann für jeden
|
||||
Dienst durch Setzen des <option>max-child</option>
|
||||
-Parameters festgelegt werden.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-C rate</term>
|
||||
|
||||
<listitem>
|
||||
<para>Legt fest, wie oft ein Dienst von einer einzelnen
|
||||
<acronym>IP</acronym>-Adresse in einer Minute aufgerufen werden kann; in der
|
||||
Voreinstellung gibt es keine Einschränkung. Dieser
|
||||
Wert kann für jeden Dienst durch Setzen des
|
||||
Parameters
|
||||
<option>max-connections-per-ip-per-minute</option>
|
||||
festgelegt werden.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-R rate</term>
|
||||
|
||||
<listitem>
|
||||
<para>Legt fest, wie oft ein Dienst in der Minute aktiviert
|
||||
werden kann; in der Voreinstellung sind dies 256
|
||||
Aktivierungen pro Minute. Ein Wert von 0 erlaubt
|
||||
unbegrenzt viele Aktivierungen.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-s maximum</term>
|
||||
|
||||
<listitem>
|
||||
<para>Legt fest, wie oft ein Dienst in der Minute von einer
|
||||
einzelnen <acronym>IP</acronym>-Adresse aus aktiviert werden kann; in der
|
||||
Voreinstellung gibt es hier keine Beschränkung. Diese
|
||||
Einstellung kann für jeden Dienst durch die Angabe
|
||||
<option>max-child-per-ip</option> angepasst werden.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<application>inetd</application>.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="network-inetd-conf">
|
||||
<!-- XXX Dieser Abschnitt ist etwas verwirrend und sollte mal überarbeitet werden. -->
|
||||
<title><filename>inetd.conf</filename></title>
|
||||
<title>Konfigurationsdatei</title>
|
||||
|
||||
<para>Die Konfiguration von <application>inetd</application>
|
||||
erfolgt über <filename>/etc/inetd.conf</filename>.</para>
|
||||
erfolgt über <filename>/etc/inetd.conf</filename> Jede Zeile
|
||||
dieser Datei repräsentiert eine Anwendung, die von
|
||||
<application>inetd</application> gestartet werden kann. In
|
||||
der Voreinstellung beginnt jede Zeile mit einem Kommentar
|
||||
(<literal>#</literal>), was bedeutet dass
|
||||
<application>inetd</application> keine Verbindungen für
|
||||
Anwendungen akzeptiert. Entfernen Sie den Kommentar am Anfang
|
||||
der Zeile, damit <application>inetd</application> Verbindungen
|
||||
für diese Anwendung entgegennimmt.</para>
|
||||
|
||||
<para>Wenn <filename>/etc/inetd.conf</filename> geändert
|
||||
wird, kann <application>inetd</application> veranlasst werden,
|
||||
seine Konfigurationsdatei neu einzulesen.</para>
|
||||
<para>Nachdem Sie die Änderungen gespeichert haben, fügen Sie
|
||||
folgende Zeile in <filename>/etc/rc.conf</filename> ein, damit
|
||||
<application>inetd</application> bei Booten automatisch
|
||||
gestartet wird:</para>
|
||||
|
||||
<programlisting>inetd_enable="YES"</programlisting>
|
||||
|
||||
<para>Starten Sie jetzt <application>inetd</application>, so
|
||||
dass er Verbindungen für die von Ihnen konfigurierten Dienste
|
||||
entgegennimmt:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>service inetd start</userinput></screen>
|
||||
|
||||
<para>Sobald <application>inetd</application> gestartet ist,
|
||||
muss der Dienst benachrichtigt werden, wenn eine Änderung in
|
||||
<filename>/etc/inetd.conf</filename> gemacht wird:</para>
|
||||
|
||||
<example xml:id="network-inetd-reread">
|
||||
<title>Die <application>inetd</application>-Konfiguration neu
|
||||
einlesen</title>
|
||||
|
||||
<screen>&prompt.root; <userinput>service inetd reload</userinput></screen>
|
||||
<title>Die Konfigurationsdatei von
|
||||
<application>inetd</application> neu einlesen</title>
|
||||
|
||||
<screen>&prompt.root; <userinput>service inetd reload</userinput></screen>
|
||||
</example>
|
||||
|
||||
<para>Jede Zeile der Konfigurationsdatei beschreibt jeweils einen
|
||||
Daemon. Kommentare beginnen mit einem <quote>#</quote>. Ein
|
||||
Eintrag der Datei <filename>/etc/inetd.conf</filename> hat
|
||||
folgenden Aufbau:</para>
|
||||
<para>Normalerweise müssen Sie lediglich den Kommentar vor der
|
||||
Anwendung entfernen. In einigen Situationen kann es jedoch
|
||||
sinnvoll sein, den Eintrag weiter zu bearbeiten.</para>
|
||||
|
||||
<para>Als Beispiel dient hier der Standardeintrag für
|
||||
&man.ftpd.8; über IPv4:</para>
|
||||
|
||||
<programlisting>ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l</programlisting>
|
||||
|
||||
<para>Die sieben Spalten in diesem Eintrag haben folgende
|
||||
Bedeutung:</para>
|
||||
|
||||
<programlisting>service-name
|
||||
socket-type
|
||||
|
@ -301,11 +223,6 @@ user[:group][/login-class]
|
|||
server-program
|
||||
server-program-arguments</programlisting>
|
||||
|
||||
<para>Ein Eintrag für den IPv4 verwendenden
|
||||
&man.ftpd.8;-Daemon könnte so aussehen:</para>
|
||||
|
||||
<programlisting>ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l</programlisting>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>service-name</term>
|
||||
|
@ -514,6 +431,84 @@ server-program-arguments</programlisting>
|
|||
</variablelist>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="network-inetd-cmdline">
|
||||
<title>Kommandozeilenoptionen</title>
|
||||
|
||||
<para>Wie die meisten anderen Server-Daemonen lässt sich auch
|
||||
<application>inetd</application> über verschiedene Optionen
|
||||
steuern. In der Voreinstellung wird
|
||||
<application>inetd</application> mit
|
||||
<literal>-wW -C 60</literal> gestartet. Durch das Setzen
|
||||
dieser Werte wird das TCP-Wrapping für alle
|
||||
<application>inetd</application>-Dienste aktiviert.
|
||||
Zudem wird verhindert, dass eine <acronym>IP</acronym>-Adresse
|
||||
eine Dienst öfter als 60 Mal pro Minute anfordern kann.</para>
|
||||
|
||||
<para>Um die Voreinstellungen für
|
||||
<application>inetd</application> zu ändern, fügen Sie einen
|
||||
Eintrag für <literal>inetd_flags</literal> in
|
||||
<filename>/etc/rc.conf</filename> hinzu. Wenn
|
||||
<application>inetd</application> bereits ausgeführt wird,
|
||||
starten Sie ihn mit <command>service inetd restart</command>
|
||||
neu.</para>
|
||||
|
||||
<para>Die verfügbaren Optionen sind:</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>-c maximum</term>
|
||||
|
||||
<listitem>
|
||||
<para>Legt die maximale Anzahl von parallelen Aufrufen
|
||||
eines Dienstes fest; in der Voreinstellung gibt es keine
|
||||
Einschränkung. Diese Einstellung kann für jeden Dienst
|
||||
durch Setzen des Parameters <option>max-child</option>
|
||||
festgelegt werden.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-C rate</term>
|
||||
|
||||
<listitem>
|
||||
<para>Legt fest, wie oft ein Dienst von einer einzelnen
|
||||
<acronym>IP</acronym>-Adresse in einer Minute aufgerufen
|
||||
werden kann; in der Voreinstellung gibt es keine
|
||||
Einschränkung. Dieser Wert kann für jeden Dienst durch
|
||||
das Setzen des Parameters
|
||||
<option>max-connections-per-ip-per-minute</option>
|
||||
festgelegt werden.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-R rate</term>
|
||||
|
||||
<listitem>
|
||||
<para>Legt fest, wie oft ein Dienst in der Minute
|
||||
aktiviert werden kann; in der Voreinstellung sind dies
|
||||
<literal>256</literal> Aktivierungen pro Minute. Ein
|
||||
Wert von <literal>0</literal> erlaubt unbegrenzt viele
|
||||
Aktivierungen.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>-s maximum</term>
|
||||
|
||||
<listitem>
|
||||
<para>Legt fest, wie oft ein Dienst in der Minute von
|
||||
einer einzelnen <acronym>IP</acronym>-Adresse aus
|
||||
aktiviert werden kann; in der Voreinstellung gibt es
|
||||
hier keine Beschränkung. Diese Einstellung kann für
|
||||
jeden Dienst durch die Angabe von
|
||||
<option>max-child-per-ip</option> angepasst
|
||||
werden.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="network-inetd-security">
|
||||
<title>Sicherheit</title>
|
||||
|
||||
|
|
Loading…
Reference in a new issue