svn commit: r48740 - head/de_DE.ISO8859-1/books/handbook/jails

Bjoern Heidotting bhd at FreeBSD.org
Wed Apr 27 18:44:40 UTC 2016


Author: bhd
Date: Wed Apr 27 18:44:38 2016
New Revision: 48740
URL: https://svnweb.freebsd.org/changeset/doc/48740

Log:
  Update to r45496:
  
  Add new sysutils/ezjail section.
  
  Reviewed by:	bcr
  Differential Revision:	https://reviews.freebsd.org/D6111

Modified:
  head/de_DE.ISO8859-1/books/handbook/jails/chapter.xml

Modified: head/de_DE.ISO8859-1/books/handbook/jails/chapter.xml
==============================================================================
--- head/de_DE.ISO8859-1/books/handbook/jails/chapter.xml	Wed Apr 27 13:57:27 2016	(r48739)
+++ head/de_DE.ISO8859-1/books/handbook/jails/chapter.xml	Wed Apr 27 18:44:38 2016	(r48740)
@@ -5,7 +5,7 @@
 
     $FreeBSD$
     $FreeBSDde: de-docproj/books/handbook/jails/chapter.xml,v 1.23 2011/05/25 20:42:25 jkois Exp $
-    basiert auf: r44908
+    basiert auf: r45496
 -->
 <chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="jails">
   <info><title>Jails</title>
@@ -615,10 +615,12 @@ jail_<replaceable>www</replaceable>_devf
 
 	<note>
 	  <para>Es existieren auch einfachere Lösungen, wie zum
-	    Beispiel <package>sysutils/ezjail</package>, das
+	    Beispiel <application>ezjail</application>, das
 	    einfachere Methoden zur Administration von Jails verwendet
 	    und daher nicht so anspruchsvoll ist, wie der hier
-	    beschriebene Aufbau.</para>
+	    beschriebene Aufbau.  <application>ezjail</application>
+	    wird in <xref linkend="jails-ezjail"/> ausführlich
+	    behandelt.</para>
 	</note>
 
 	<para>Die Ziele des in diesem Abschnitt beschriebenen Aufbaus
@@ -1027,4 +1029,690 @@ jail_www_devfs_enable="YES"</programlist
 	  Konfigurationsdateien aktualisiert werden.</para>
     </sect2>
   </sect1>
+
+  <sect1 xml:id="jails-ezjail">
+    <info>
+      <title>Verwaltung von Jails mit
+	<application>ezjail</application></title>
+
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>Warren</firstname>
+	    <surname>Block</surname>
+	  </personname>
+	  <contrib>Beigetragen von </contrib>
+	</author>
+      </authorgroup>
+      <authorgroup>
+	<author>
+	  <personname>
+	    <firstname>Björn</firstname>
+	    <surname>Heidotting</surname>
+	  </personname>
+	  <contrib>Übersetzt von </contrib>
+	</author>
+      </authorgroup>
+    </info>
+
+    <para>Das Erstellen und Verwalten von mehreren Jails kann schnell
+      zeitaufwändig und fehleranfällig werden.  Dirk Engling's
+      <application>ezjail</application> automatisiert und vereinfacht
+      viele dieser Aufgaben.  Als Vorlage wird ein
+      <emphasis>Basejail</emphasis> erzeugt.  Zusätzliche Jails nutzen
+      &man.mount.nullfs.8; um viele Verzeichnisse aus der Basejail zu
+      teilen, ohne dabei zusätzlichen Speicherplatz zu belegen.  Jedes
+      weitere Jail benötigt daher nur wenige Megabyte an
+      Speicherplatz, bevor die Anwendungen installiert werden.</para>
+
+    <para>Weitere Vorteile und Merkmale werden im Detail auf der
+      Webseite von <application>ezjail</application> beschrieben:
+      <link
+	xlink:href="https://erdgeist.org/arts/software/ezjail/"></link>.</para>
+
+    <sect2 xml:id="jails-ezjail-install">
+      <title><application>ezjail</application> installieren</title>
+
+      <para>Für die Installation von <application>ezjail</application>
+	wird zunächst eine Loopback-Schnittstelle für die Jails
+	benötigt.  Anschließend kann
+	<application>ezjail</application> installiert und der
+	dazugehörige Dienst aktiviert werden.</para>
+
+      <procedure xml:id="jails-ezjail-install-procedure">
+	<step>
+	  <para>Damit der Verkehr auf der Loopback-Schnittstelle des
+	    Jails vom Host-System separiert ist, wird eine zweite
+	    Loopback-Schnittstelle in
+	    <filename>/etc/rc.conf</filename> erstellt:</para>
+
+	  <programlisting>cloned_interfaces="lo1"</programlisting>
+
+	  <para>Die zusätzliche Schnittstelle <literal>lo1</literal>
+	    wird erstellt, wenn das System neu gestartet wird.  Die
+	    Schnittstelle kann auch ohne Neustart manuell erstellt
+	    werden:</para>
+
+	  <screen>&prompt.root; <userinput>service netif cloneup</userinput>
+Created clone interfaces: lo1.</screen>
+
+	  <para>Jails können die Aliase dieser sekundären
+	    Schnittstelle verwenden, ohne dabei das Host-System zu
+	    stören.</para>
+
+	  <para>Der Zugang zur Loopback-Adresse <systemitem
+	      class="ipaddress">127.0.0.1</systemitem> wird an die
+	    erste <acronym>IP</acronym>-Adresse umgeleitet, die dem
+	    Jail zugewiesen ist.  Damit die Loopback-Schnittstelle des
+	    Jails der neuen <literal>lo1</literal>-Schnittstelle
+	    zugeordnet werden kann, muss beim Erstellen der Jail diese
+	    Schnittstelle als erstes in der Liste der
+	    <acronym>IP</acronym>-Adressen angegeben werden.</para>
+
+	  <para>Teilen Sie jedem Jail eine Loopback-Adresse aus dem
+	    Netzblock <systemitem
+	      class="ipaddress">127.0.0.0</systemitem><systemitem
+	      class="netmask">/8</systemitem> zu.</para>
+	</step>
+
+	<step>
+	  <para>Installieren Sie
+	    <package>sysutils/ezjail</package>:</para>
+
+	  <screen>&prompt.root; <userinput>cd /usr/ports/sysutils/ezjail</userinput>
+&prompt.root; <userinput>make install clean</userinput></screen>
+	</step>
+
+	<step>
+	  <para>Aktivieren Sie <application>ezjail</application>,
+	    indem Sie folgende Zeile in
+	    <filename>/etc/rc.conf</filename> hinzufügen:</para>
+
+	  <programlisting>ezjail_enable="YES"</programlisting>
+	</step>
+
+	<step>
+	  <para>Der Dienst wird automatisch gestartet, wenn das System
+	    bootet.  Er kann auch direkt für die aktuelle Sitzung
+	    gestartet werden:</para>
+
+	  <screen>&prompt.root; <userinput>service ezjail start</userinput></screen>
+	</step>
+      </procedure>
+    </sect2>
+
+    <sect2 xml:id="jails-ezjail-initialsetup">
+      <title>Einrichtung</title>
+
+      <para>Nach erfolgreicher Installation von
+	<application>ezjail</application> kann die Verzeichnisstruktur
+	für die Basejail erstellt und befüllt werden.  Dieser Schritt
+	wird einmalig auf dem Host-System ausgeführt.</para>
+
+      <para>In diesen beiden Beispielen wird <option>-p</option>
+	verwendet, um die Ports-Sammlung mit &man.portsnap.8; in die
+	Basejail herunterzuladen.  Diese Kopie kann dann von allen
+	Jails gemeinsam genutzt werden.  Eine separate Kopie der
+	Ports-Sammlung für die Jails ermöglicht die Isolierung der
+	Ports vom Host-System.  Die <acronym>FAQ</acronym> von
+	<application>ezjail</application> erklärt dies im Detail:
+	<link
+	  xlink:href="https://erdgeist.org/arts/software/ezjail/#FAQ"></link>.</para>
+
+      <procedure xml:id="jails-ezjail-initialsetup-procedure">
+	<step>
+	  <stepalternatives>
+	    <step>
+	      <title>Die Jail mit &os;-RELEASE installieren</title>
+
+	      <para>Benutzen Sie <command>install</command>, wenn das
+		&os;-RELEASE für die Jail der Version auf dem
+		Host-System entspricht.  Wenn beispielsweise auf dem
+		Host-System &os; 10-STABLE installiert ist, wird
+		in der Jail das neueste RELEASE von &os;-10
+		installiert:</para>
+
+	      <screen>&prompt.root; <userinput>ezjail-admin install -p</userinput></screen>
+	    </step>
+
+	    <step>
+	      <title>Die Jail mit <command>installworld</command>
+		installieren</title>
+
+	      <para>Mit <command>ezjail-admin update</command> kann
+		die Basejail mit den Binärdateien aus dem Host-System
+		befüllt werden.  Diese Dateien wurden auf dem
+		Host-System mittels
+		<buildtarget>buildworld</buildtarget> erzeugt.</para>
+
+	      <para>In diesem Beispiel wird &os; 10-STABLE aus
+		den Quellen gebaut.  Die Verzeichnisse für die Jail
+		wurden bereits erstellt.  Anschließend wird
+		<command>installworld</command> ausgeführt, das
+		<filename>/usr/obj</filename> aus dem Host-System in
+		die Basejail installiert.</para>
+
+	      <screen>&prompt.root; <userinput>ezjail-admin update -i -p</userinput></screen>
+
+	      <para>In der Voreinstellung wird
+		<filename>/usr/src</filename> des Host-Systems
+		verwendet.  Ein anderes Quellverzeichnis kann durch
+		die Angabe von <option>-s</option>, oder durch Setzen
+		der Variable <varname>ezjail_sourcetree</varname> in
+		<filename>/usr/local/etc/ezjail.conf</filename>
+		definiert werden.</para>
+	    </step>
+	  </stepalternatives>
+	</step>
+      </procedure>
+
+      <tip>
+	<para>Die Ports-Sammlung der Basejail wird mit den anderen
+	  Jails geteilt, jedoch werden die heruntergeladenen
+	  Distfiles im jeweiligen Jail gespeichert.  In der
+	  Voreinstellung werden diese Dateien in
+	  <filename>/var/ports/distfiles</filename> der Jail
+	  gespeichert.  Wenn die Ports gebaut werden, wird
+	  <filename>/var/ports</filename> im Jail als
+	  Arbeitsverzeichnis genutzt.</para>
+      </tip>
+    </sect2>
+
+    <sect2 xml:id="jails-ezjail-create">
+      <title>Eine neue Jail erstellen und starten</title>
+
+      <para>Neue Jails werden mit <command>ezjail-admin
+	  create</command> erstellt.  In diesen Beispielen wird die
+	<literal>lo1</literal> Loopback-Schnittstelle, wie oben
+	beschrieben, verwendet.</para>
+
+      <procedure xml:id="jails-ezjail-create-steps">
+	<title>Eine neue Jail erstellen und starten</title>
+
+	<step>
+	  <para>Geben Sie bei der Erstellung der Jail einen Namen
+	    und die verwendeten Loopback- und Netzwerk-Schnittstellen
+	    mit den <acronym>IP</acronym>-Adressen an.  In diesem
+	    Beispiel trägt die Jail den Namen
+	    <literal>dnsjail</literal>.</para>
+
+	  <screen>&prompt.root; <userinput>ezjail-admin create <replaceable>dnsjail</replaceable> '<replaceable>lo1|127.0.1.1</replaceable>,<replaceable>em0</replaceable>|<replaceable>192.168.1.50</replaceable>'</userinput></screen>
+
+	  <tip xml:id="jails-ezjail-raw-network-sockets">
+	    <para>Die meisten Netzwerkdienste laufen problemlos in
+	      einer Jail.  Ein paar wenige Netzwerkdienste, vor allem
+	      &man.ping.8; verwenden Netzwerk-Sockets.  Aus
+	      Sicherheitsgründen werden Netzwerk-Sockets innerhalb der
+	      Jails deaktiviert, so dass Dienste, die diese Sockets
+	      benötigten, nicht funktionieren werden.  Gelegentlich
+	      benötigt ein Jail jedoch den Zugriff auf Raw-Sockets.
+	      Beispielsweise verwenden Netzwerk-Monitoring-Anwendungen
+	      &man.ping.8;, um die Verfügbarkeit von anderen Rechnern
+	      zu überprüfen.  Sollten diese Sockets tatsächlich
+	      benötigt werden, können sie durch einen Eintrag in der
+	      Konfigurationsdatei von
+	      <application>ezjail</application>,
+	      <filename>/usr/local/etc/<replaceable>jailname</replaceable></filename>,
+	      für einzelne Jails aktiviert werden.  Bearbeiten Sie den
+	      Eintrag <literal>parameters</literal>:</para>
+
+	    <programlisting>export jail_<replaceable>jailname</replaceable>_parameters="allow.raw_sockets=1"</programlisting>
+
+	    <para>Aktivieren Sie keine Netzwerk-Sockets, solange
+	      die Dienste im Jail sie nicht tatsächlich
+	      benötigen.</para>
+	  </tip>
+	</step>
+
+	<step>
+	  <para>Starten Sie die Jail:</para>
+
+	  <screen>&prompt.root; <userinput>ezjail-admin start <replaceable>dnsjail</replaceable></userinput></screen>
+	</step>
+
+	<step>
+	  <para>Starten Sie eine Konsole in der Jail:</para>
+
+	  <screen>&prompt.root; <userinput>ezjail-admin console <replaceable>dnsjail</replaceable></userinput></screen>
+	</step>
+      </procedure>
+
+      <para>Die Jail ist jetzt in Betrieb und die zusätzliche
+	Konfiguration kann nun abgeschlossen werden.  Typische
+	Einstellungen an dieser Stelle sind:</para>
+
+      <procedure>
+	<step>
+	  <title>Das <systemitem
+	      class="username">root</systemitem>-Passwort
+	    setzen</title>
+
+	  <para>Verbinden Sie sich mit der Jail und setzen Sie das
+	    Passwort für den Benutzer
+	    <systemitem class="username">root</systemitem>:</para>
+
+	  <screen>&prompt.root; <userinput>ezjail-admin console <replaceable>dnsjail</replaceable></userinput>
+&prompt.root; <userinput>passwd</userinput>
+Changing local password for root
+New Password:
+Retype New Password:</screen>
+	</step>
+
+	<step>
+	  <title>Konfiguration der Zeitzone</title>
+
+	  <para>Die Zeitzone kann innerhalb der Jail mit
+	    &man.tzsetup.8; gesetzt werden.  Um störende
+	    Fehlermeldungen zu vermeiden, kann der Eintrag
+	    &man.adjkerntz.8; in <filename>/etc/crontab</filename>
+	    auskommentiert werden.  Dieser Job versucht die
+	    Uhr des Rechners zu aktualisieren, was jedoch in einem
+	    Jail fehlschlägt, da die Jail nicht auf diese Hardware
+	    zugreifen darf.</para>
+	</step>
+
+	<step>
+	  <title><acronym>DNS</acronym>-Server</title>
+
+	  <para>Tragen Sie die Zeilen für die Nameserver der Domäne
+	    in <filename>/etc/resolv.conf</filename> ein, damit die
+	    Namensauflösung in der Jail funktioniert.</para>
+	</step>
+
+	<step>
+	  <title><filename>/etc/hosts</filename> anpassen</title>
+
+	  <para>Ändern Sie die Adresse und fügen Sie den Namen der
+	    Jail zu den <literal>localhost</literal>-Einträgen in
+	    <filename>/etc/hosts</filename> hinzu.</para>
+	</step>
+
+	<step>
+	  <title><filename>/etc/rc.conf</filename>
+	    konfigurieren</title>
+
+	  <para>Tragen Sie Konfigurationseinstellungen in
+	    <filename>/etc/rc.conf</filename> ein.  Der Rechnername
+	    und die <acronym>IP</acronym>-Adresse werden nicht
+	    eingestellt, da diese Werte bereits durch die
+	    Jail-Konfiguration zur Verfügung gestellt werden.</para>
+	</step>
+      </procedure>
+
+      <para>Nach der Konfiguration der Jail können die Anwendungen,
+	für die die Jail erstellt wurde, installiert werden.</para>
+
+      <tip>
+	<para>Einige Ports müssen mit speziellen Optionen gebaut
+	  werden, damit sie in der Jail verwendet werden können.  Zum
+	  Beispiel haben die Netzwerk-Monitoring-Pakete
+	  <package>net-mgmt/nagios-plugins</package> und
+	  <package>net-mgmt/monitoring-plugins</package> eine Option
+	  <literal>JAIL</literal>, die aktiviert werden muss, damit
+	  diese Werkzeuge innerhalb einer Jail funktionieren.</para>
+      </tip>
+    </sect2>
+
+    <sect2 xml:id="jails-ezjail-update">
+      <title>Jails aktualisieren</title>
+
+      <sect3 xml:id="jails-ezjail-update-os">
+	<title>Das Betriebssystem aktualisieren</title>
+
+	<para>Da das Basissystem der Basejail von den anderen Jails
+	  gemeinsam genutzt wird, werden bei einem Update der Basejail
+	  automatisch alle anderen Jails aktualisiert.  Die
+	  Aktualisierung kann entweder über den Quellcode oder über
+	  binäre Updates erfolgen.</para>
+
+	<para>Um das Basissystem auf dem Host-System zu bauen und in
+	  der Basejail zu installieren, geben Sie folgendes
+	  ein:</para>
+
+	<screen>&prompt.root; <userinput>ezjail-admin update -b</userinput></screen>
+
+	<para>Wenn das Basissystem bereits auf dem Host-System gebaut
+	  wurde, kann es in der Basejail installiert werden:</para>
+
+	<screen>&prompt.root; <userinput>ezjail-admin update -i</userinput></screen>
+
+	<para>Binär-Updates verwenden &man.freebsd-update.8;.  Das
+	  Update unterliegt dabei den gleichen Einschränkungen, als
+	  wenn &man.freebsd-update.8; direkt ausgeführt würde.  Vor
+	  allem stehen mit dieser Methode nur -RELEASE Versionen von
+	  &os; zur Verfügung.</para>
+
+	<para>Aktualisieren Sie die Basejail auf die neueste
+	  &os;-Version des Host-Systems.  Zum Beispiel von
+	  RELEASE-p1 auf RELEASE-p2.</para>
+
+	<screen>&prompt.root; <userinput>ezjail-admin update -u</userinput></screen>
+
+	<para>Damit das Basejail aktualisiert werden kann, muss
+	  zunächst das Host-System, wie in <xref
+	    linkend="freebsdupdate-upgrade"/> beschrieben,
+	  aktualisiert werden.  Sobald das Host-System aktualisiert
+	  und neu gestartet wurde, kann die Basejail aktualisiert
+	  werden.  Da &man.freebsd-update.8; keine Möglichkeit
+	  besitzt, die derzeit installierte Version der Basejail zu
+	  bestimmen, muss die ursprüngliche Version beim Aufruf mit
+	  angegeben werden.  Benutzen Sie &man.file.1; um die
+	  ursprüngliche Version der Basejail zu bestimmen:</para>
+
+	<screen>&prompt.root; <userinput>file /usr/jails/basejail/bin/sh</userinput>
+/usr/jails/basejail/bin/sh: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked (uses shared libs), for FreeBSD 9.3, stripped</screen>
+
+	<para>Nutzen Sie diese Information, um die Aktualisierung von
+	  <literal>9.3-RELEASE</literal> auf die aktuelle Version des
+	  Host-Systems durchzuführen:</para>
+
+	<screen>&prompt.root; <userinput>ezjail-admin update -U -s <replaceable>9.3-RELEASE</replaceable></userinput></screen>
+
+	<para>Nachdem die Basejail aktualisiert ist, muss in jeder
+	  Jail &man.mergemaster.8; ausgeführt werden, um die
+	  Konfigurationsdateien zu aktualisieren.</para>
+
+	<para>Wie &man.mergemaster.8; verwendet wird, hängt stark vom
+	  Zweck und Vertrauenswürdigkeit der Jail ab.  Wenn die
+	  Dienste oder Benutzer nicht vertrauenswürdig sind, dann
+	  sollte &man.mergemaster.8; nur innerhalb der Jail ausgeführt
+	  werden:</para>
+
+	<example xml:id="jails-ezjail-update-mergemaster-untrusted">
+	  <title>&man.mergemaster.8; in einer nicht vertrauenswürdigen
+	    Jail ausführen</title>
+
+	  <para>Entfernen Sie die Verknüpfung von
+	    <filename>/usr/src</filename> des Jails zur Basejail und
+	    erstellen Sie ein neues <filename>/usr/src</filename> als
+	    Mountpunkt für die Jail.  Hängen Sie
+	    <filename>/usr/src</filename> vom Host-System
+	    schreibgeschützt in den Mountpunkt für die Jail
+	    ein:</para>
+
+	  <screen>&prompt.root; <userinput>rm /usr/jails/<replaceable>jailname</replaceable>/usr/src</userinput>
+&prompt.root; <userinput>mkdir /usr/jails/<replaceable>jailname</replaceable>/usr/src</userinput>
+&prompt.root; <userinput>mount -t nullfs -o ro /usr/src /usr/jails/<replaceable>jailname</replaceable>/usr/src</userinput></screen>
+
+	  <para>Öffnen Sie eine Konsole in der Jail:</para>
+
+	  <screen>&prompt.root; <userinput>ezjail-admin console <replaceable>jailname</replaceable></userinput></screen>
+
+	  <para>Innerhalb der Jail führen Sie dann &man.mergemaster.8;
+	    aus.  Danach verlassen Sie die Konsole:</para>
+
+	  <screen>&prompt.root; <userinput>cd /usr/src</userinput>
+&prompt.root; <userinput>mergemaster -U</userinput>
+&prompt.root; <userinput>exit</userinput></screen>
+
+	  <para>Abschließend können Sie <filename>/usr/src</filename>
+	    aus der Jail aushängen:</para>
+
+	  <screen>&prompt.root; <userinput>umount /usr/jails/<replaceable>jailname</replaceable>/usr/src</userinput></screen>
+	</example>
+
+	<example xml:id="jails-ezjail-update-mergemaster-trusted">
+	  <title>&man.mergemaster.8; in einer vertrauenswürdigen Jail
+	    ausführen</title>
+
+	  <para>Wenn den Benutzern und den Diensten in der Jail
+	    vertraut wird, kann &man.mergemaster.8; auf dem
+	    Host-System ausgeführt werden:</para>
+
+	  <screen>&prompt.root; <userinput>mergemaster -U -D /usr/jails/<replaceable>jailname</replaceable></userinput></screen>
+	</example>
+      </sect3>
+
+      <sect3 xml:id="jails-ezjail-update-ports">
+	<title>Ports aktualisieren</title>
+
+	<para>Die Ports-Sammlung der Basejail wird von den anderen
+	  Jails gemeinsam genutzt.  Somit genügt es, die
+	  Ports-Sammlung in der Basejail zu aktualisieren.</para>
+
+	<para>Die Ports-Sammlung der Basejail wird mit
+	  &man.portsnap.8; aktualisiert:</para>
+
+	<screen>&prompt.root; <userinput>ezjail-admin update -P</userinput></screen>
+      </sect3>
+    </sect2>
+
+    <sect2 xml:id="jails-ezjail-control">
+      <title>Jails verwalten</title>
+
+      <sect3 xml:id="jail-ezjail-control-stop-start">
+	<title>Jails starten und stoppen</title>
+
+	<para><application>ezjail</application> startet automatisch
+	  alle Jails, wenn das System hochfährt.  Jails können auch
+	  manuell mit <command>stop</command> und
+	  <command>start</command> gestoppt und neu gestartet
+	  werden:</para>
+
+	<screen>&prompt.root; <userinput>ezjail-admin stop <replaceable>sambajail</replaceable></userinput>
+Stopping jails: sambajail</screen>
+
+	<para>In der Voreinstellung werden die Jails automatisch
+	  gestartet, wenn das Host-System hochfährt.  Der automatische
+	  Start kann mit <command>config</command> deaktiviert
+	  werden:</para>
+
+	<screen>&prompt.root; <userinput>ezjail-admin config -r norun <replaceable>seldomjail</replaceable></userinput></screen>
+
+	<para>Diese Einstellung wird aktiviert, wenn das Host-System
+	  das nächste mal neu gestartet wird.  Eine Jail, die bereits
+	  läuft, wird hiermit nicht gestoppt.</para>
+
+	<para>Der automatische Start kann auch aktiviert
+	  werden:</para>
+
+	<screen>&prompt.root; <userinput>ezjail-admin config -r run <replaceable>oftenjail</replaceable></userinput></screen>
+      </sect3>
+
+      <sect3 xml:id="jails-ezjail-control-backup">
+	<title>Jails archivieren und wiederherstellen</title>
+
+	<para>Benutzen Sie <command>archive</command> um ein
+	  <filename>.tar.gz</filename>-Archiv einer Jail zu erstellen.
+	  Der Dateiname wird aus dem Namen der Jail und dem aktuellen
+	  Datum zusammengesetzt.  Archivdateien werden in
+	  <filename>/usr/jails/ezjail_archives</filename> abgelegt.
+	  Ein alternatives Verzeichnis für die Ablage kann in der
+	  Variable <varname>ezjail_archivedir</varname> der
+	  Konfigurationsdatei definiert werden.</para>
+
+	<para>Die Archivdatei kann an anderer Stelle als Sicherung
+	  gespeichert werden, oder eine andere Jail kann daraus
+	  mit <command>restore</command> wiederhergestellt werden.
+	  Eine neue Jail kann auch aus dem Archiv erstellt werden, was
+	  eine bequeme Möglichkeit bietet, bestehende Jails zu
+	  klonen.</para>
+
+	<para>Die Jail <literal>wwwserver</literal> stoppen und
+	  archivieren:</para>
+
+	<screen>&prompt.root; <userinput>ezjail-admin stop <replaceable>wwwserver</replaceable></userinput>
+Stopping jails: wwwserver.
+&prompt.root; <userinput>ezjail-admin archive <replaceable>wwwserver</replaceable></userinput>
+&prompt.root; <userinput>ls /usr/jails/ezjail-archives/</userinput>
+wwwserver-201407271153.13.tar.gz</screen>
+
+	<para>Erstellen Sie aus dem eben erzeugten Archiv eine neue
+	  Jail namens <literal>wwwserver-clone</literal>.  Verwenden
+	  Sie die Schnittstelle <filename>em1</filename> und weisen
+	  Sie eine neue <acronym>IP</acronym>-Adresse zu, um einen
+	  Konflikt mit dem Original zu vermeiden:</para>
+
+	<screen>&prompt.root; <userinput>ezjail-admin create -a /usr/jails/ezjail_archives/wwwserver-201407271153.13.tar.gz <replaceable>wwwserver-clone</replaceable> 'lo1|127.0.3.1,em1|192.168.1.51'</userinput></screen>
+      </sect3>
+    </sect2>
+
+    <sect2 xml:id="jails-ezjail-example-bind">
+      <title>Vollständiges Beispiel: <application>BIND</application>
+	in einer Jail</title>
+
+      <para>Einen <application>BIND</application>
+	<acronym>DNS</acronym>-Server innerhalb einer Jail zu
+	betreiben erhöht die Sicherheit, da der Dienst isoliert
+	wird.  Dieses Beispiel erstellt einen einfachen
+	<foreignphrase>caching-only</foreignphrase> Nameserver.</para>
+
+      <itemizedlist>
+	<listitem>
+	  <para>Die Jail bekommt den Namen
+	    <literal>dns1</literal>.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Die Jail erhält die <acronym>IP</acronym>-Adresse
+	    <literal>192.168.1.240</literal> auf der Schnittstelle
+	    <literal>re0</literal> des Host-Systems.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Die Upstream-<acronym>DNS</acronym>-Server des
+	    <acronym>ISP</acronym>s lauten
+	    <literal>10.0.0.62</literal> und
+	    <literal>10.0.0.61</literal>.</para>
+	</listitem>
+
+	<listitem>
+	  <para>Die Basejail wurde bereits erstellt und die
+	    Ports-Sammlung ist installiert.</para>
+	</listitem>
+      </itemizedlist>
+
+      <example xml:id="jails-ezjail-example-bind-steps">
+	<title><application>BIND</application> in einer Jail laufen
+	  lassen</title>
+
+	<para>Erstellen Sie eine geklonte Loopback-Schnittstelle durch
+	  einen Eintrag in <filename>/etc/rc.conf</filename>:</para>
+
+	<programlisting>cloned_interfaces="lo1"</programlisting>
+
+	<para>Erzeugen Sie jetzt die Loopback-Schnittstelle:</para>
+
+	<screen>&prompt.root; <userinput>service netif cloneup</userinput>
+Created clone interface: lo1</screen>
+
+	<para>Erstellen Sie die Jail:</para>
+
+	<screen>&prompt.root; <userinput>ezjail-admin create dns1 'lo1|127.0.2.1,re0|192.168.1.240'</userinput></screen>
+
+	<para>Starten Sie die Jail, verbinden Sie sich mit der Konsole
+	  und führen Sie die grundlegende Konfiguration durch:</para>
+
+	<screen>&prompt.root; <userinput>ezjail-admin start dns1</userinput>
+&prompt.root; <userinput>ezjail-admin console dns1</userinput>
+&prompt.root; <userinput>passwd</userinput>
+Changing local password for root
+New Password:
+Retype New Password:
+&prompt.root; <userinput>tzsetup</userinput>
+&prompt.root; <userinput>sed -i .bak -e '/adjkerntz/ s/^/#/' /etc/crontab</userinput>
+&prompt.root; <userinput>sed -i .bak -e 's/127.0.0.1/127.0.2.1/g; s/localhost.my.domain/dns1.my.domain dns1/' /etc/hosts</userinput></screen>
+
+	<para>Setzen Sie vorübergehend die
+	  Upstream-<acronym>DNS</acronym>-Server in
+	  <filename>/etc/resolv.conf</filename>, damit die
+	  Ports-Sammlung heruntergeladen werden kann:</para>
+
+	<programlisting>nameserver 10.0.0.62
+nameserver 10.0.0.62</programlisting>
+
+	<para>Immer noch in der Konsole der Jail, installieren Sie
+	  <package>dns/bind99</package>.</para>
+
+	<screen>&prompt.root; <userinput>make -C /usr/ports/dns/bind99 install clean</userinput></screen>
+
+	<para>Konfigurieren Sie den Nameserver in
+	  <filename>/usr/local/etc/namedb/named.conf</filename>.</para>
+
+	<para>Erstellen Sie eine Zugriffskontrollliste
+	  (<acronym>ACL</acronym>) der Adressen und Netzwerke, die
+	  <acronym>DNS</acronym>-Anfragen an diesen Nameserver senden
+	  dürfen.  Diese Sektion wird vor der Sektion
+	  <literal>options</literal> hinzugefügt, die sich bereits in
+	  der Datei befindet:</para>
+
+	<programlisting>...
+// or cause huge amounts of useless Internet traffic.
+
+acl "trusted" {
+	192.168.1.0/24;
+	localhost;
+	localnets;
+};
+
+options {
+...</programlisting>
+
+	<para>Verwenden Sie die <acronym>IP</acronym>-Adresse der
+	  Jail in der Direktive <literal>listen-on</literal>, um
+	  <acronym>DNS</acronym>-Anfragen von anderen Rechnern aus
+	  dem Netzwerk zu akzeptieren:</para>
+
+	<programlisting>	listen-on	{ 192.168.1.240; };</programlisting>
+
+	<para>Entfernen Sie die Kommentarzeichen <literal>/*</literal>
+	  und <literal>*/</literal>.  Tragen Sie die
+	  <acronym>IP</acronym>-Adressen der
+	  Upstream-<acronym>DNS</acronym>-Server ein.  Unmittelbar
+	  nach der Sektion <literal>forwarders</literal> fügen Sie
+	  Verweise auf die bereits definierten <acronym>ACL</acronym>s
+	  ein:</para>
+
+	<programlisting>	forwarders {
+		10.0.0.62;
+		10.0.0.61;
+	};
+
+	allow-query       { any; };
+	allow-recursion   { trusted; };
+	allow-query-cache { trusted; };</programlisting>
+
+	<para>Aktivieren Sie den Dienst in
+	  <filename>/etc/rc.conf</filename>:</para>
+
+	<programlisting>named_enable="YES"</programlisting>
+
+	<para>Starten und testen Sie den Nameserver:</para>
+
+	<screen>&prompt.root; <userinput>service named start</userinput>
+wrote key file "/usr/local/etc/namedb/rndc.key"
+Starting named.
+&prompt.root; <userinput>/usr/local/bin/dig @192.168.1.240 freebsd.org</userinput></screen>
+
+	<para>Beinhaltet die Antwort</para>
+
+	<screen>;; Got answer;</screen>
+
+	<para>dann funktioniert der Nameserver.  Eine längere
+	  Verzögerung, gefolgt von der Antwort</para>
+
+	<screen>;; connection timed out; no servers could be reached</screen>
+
+	<para>weist auf ein Problem hin.  Überprüfen Sie die
+	  Konfigurationseinstellungen und stellen Sie sicher, dass
+	  alle lokalen Firewalls den <acronym>DNS</acronym>-Zugriff
+	  auf die Upstream-<acronym>DNS</acronym>-Server
+	  erlauben.</para>
+
+	<para>Wie auch jeder andere lokale Rechner, kann der
+	  <acronym>DNS</acronym>-Server Anfragen für Namensauflösung
+	  an sich selbst stellen.  Tragen Sie die Adresse des
+	  <acronym>DNS</acronym>-Servers in die
+	  <filename>/etc/resolv.conf</filename> der
+	  Client-Rechner:</para>
+
+	<programlisting>nameserver 192.168.1.240</programlisting>
+
+	<para>Ein lokaler <acronym>DHCP</acronym>-Server kann die
+	  Adresse eines lokalen <acronym>DNS</acronym>-Servers
+	  automatisch für alle <acronym>DHCP</acronym>-Clients zur
+	  Verfügung stellen.</para>
+      </example>
+    </sect2>
+  </sect1>
 </chapter>


More information about the svn-doc-all mailing list