svn commit: r44605 - head/de_DE.ISO8859-1/books/handbook/advanced-networking
Benedict Reuschling
bcr at FreeBSD.org
Fri Apr 18 17:35:06 UTC 2014
Author: bcr
Date: Fri Apr 18 17:35:05 2014
New Revision: 44605
URL: http://svnweb.freebsd.org/changeset/doc/44605
Log:
Add missing section about PXE booting that didn't get noticed until now.
A big thanks goes out to Bjoern who noticed it and did the work of translating the section.
Submitted by: Bjoern Heidotting
Obtained from: The FreeBSD German Documentation Project
Modified:
head/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml
Modified: head/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml
==============================================================================
--- head/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml Fri Apr 18 16:10:46 2014 (r44604)
+++ head/de_DE.ISO8859-1/books/handbook/advanced-networking/chapter.xml Fri Apr 18 17:35:05 2014 (r44605)
@@ -50,6 +50,11 @@
</listitem>
<listitem>
+ <para>Wissen, wie man mithilfe von PXE über ein Netzwerk
+ bootet und ein NFS-Root-Dateisystem einrichtet.</para>
+ </listitem>
+
+ <listitem>
<para>Wissen, wie man NAT (Network Address Translation)
einrichtet.</para>
</listitem>
@@ -4810,6 +4815,340 @@ cd /usr/src/etc; make distribution</prog
</sect2>
</sect1>
+
+ <sect1 xml:id="network-pxe-nfs">
+ <info>
+ <title><acronym>PXE</acronym>-Boot mit einem
+ <acronym>NFS</acronym>-Root-Dateisystem</title>
+
+ <authorgroup>
+ <author>
+ <personname>
+ <firstname>Craig</firstname>
+ <surname>Rodrigues</surname>
+ </personname>
+ <affiliation>
+ <address>rodrigc at FreeBSD.org</address>
+ </affiliation>
+ <contrib>Beigetragen von </contrib>
+ </author>
+ </authorgroup>
+ </info>
+
+ <para>Das &intel; Preboot eXecution Environment
+ (<acronym>PXE</acronym>) erlaubt es, ein Betriebssystem über das
+ Netzwerk zu starten. <acronym>PXE</acronym>-Unterstützung wird
+ von modernen Mainboards über das <acronym>BIOS</acronym>
+ bereitgestellt, wo Sie es bei den Einstellungen zum Starten über
+ das Netzwerk aktivieren können. Ein voll funktionsfähiges
+ <acronym>PXE</acronym>-Setup erfordert zusätzlich einen richtig
+ konfigurierten <acronym>DHCP</acronym>- und
+ <acronym>TFTP</acronym>-Server.</para>
+
+ <para>Sobald das Gastsystem startet, erhält es vom
+ <acronym>DHCP</acronym>-Server Informationen, wo der initiale
+ Bootloader per <acronym>TFTP</acronym> zu bekommen ist. Nachdem
+ das Gastsystem diese Informationen erhält, lädt es den
+ Bootloader über <acronym>TFTP</acronym> herunter und führt
+ diesen anschließend aus. Dieses Verfahren ist in Sektion 2.2.1
+ der <link
+ xlink:href="http://download.intel.com/design/archives/wfm/downloads/pxespec.pdf">Preboot
+ Execution Environment (PXE) Specification</link> dokumentiert.
+ In &os; ist <filename>/boot/pxeboot</filename> der Bootloader,
+ der während des <acronym>PXE</acronym>-Vorgangs abgerufen wird.
+ Nachdem <filename>/boot/pxeboot</filename> ausgeführt und der
+ &os;-Kernel geladen wurde, wird mit dem Rest der
+ &os;-Bootsequenz fortgefahren. Weitere Informationen über den
+ Bootvorgang unter &os; finden Sie in <xref
+ linkend="boot"/>.</para>
+
+ <sect2>
+ <title>Einrichtung der <command>chroot</command>-Umgebung für
+ das NFS-Root-Dateisystem</title>
+
+ <procedure>
+ <step>
+ <para>Wählen Sie ein Verzeichnis welches eine
+ &os;-Installation enthält und über NFS eingehangen
+ werden kann. Als Beispiel kann das Verzeichnis
+ <filename>/b/tftpboot/FreeBSD/install</filename>
+ verwendet werden.</para>
+
+ <screen>&prompt.root; <userinput>export NFSROOTDIR=/b/tftpboot/FreeBSD/install</userinput>
+&prompt.root; <userinput>mkdir -p ${NFSROOTDIR}</userinput></screen>
+ </step>
+
+ <step>
+ <para>Aktivieren Sie den NFS-Server. Diese Prozedur wird
+ im Kapitel <xref linkend="network-configuring-nfs"/>
+ beschrieben.</para>
+
+ <para>Exportieren Sie das eben erstellte Verzeichnis über
+ NFS, indem Sie folgende Zeile in
+ <filename>/etc/exports</filename> hinzufügen:</para>
+
+ <programlisting>/b -ro -alldirs</programlisting>
+ </step>
+
+ <step>
+ <para>Starten Sie den NFS-Server neu:</para>
+
+ <screen>&prompt.root; <userinput>/etc/rc.d/nfsd restart</userinput></screen>
+ </step>
+
+ <step>
+ <para>Aktivieren Sie &man.inetd.8; wie im Kapitel <xref
+ linkend="network-inetd-settings"/> beschrieben.</para>
+ </step>
+
+ <step>
+ <para>Fügen Sie folgende Zeilen in
+ <filename>/etc/inetd.conf</filename> hinzu:</para>
+
+ <programlisting>tftp dgram udp wait root /usr/libexec/tftp tftp -l -s /b/tftpboot</programlisting>
+ </step>
+
+ <step>
+ <para>Starten Sie inetd neu:</para>
+
+ <screen>&prompt.root; <userinput>/etc/rc.d/inetd restart</userinput></screen>
+ </step>
+
+ <step>
+ <para><link linkend="makeworld">Erstellen Sie einen neues
+ Basissystem und einen &os;-Kernel</link>:</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/src</userinput>
+&prompt.root; <userinput>make buildworld</userinput>
+&prompt.root; <userinput>make buildkernel</userinput></screen>
+ </step>
+
+ <step>
+ <para>Installieren sie &os; in das Verzeichnis, welches
+ über <acronym>NFS</acronym> eingehangen ist:</para>
+
+ <screen>
+&prompt.root; <userinput>make installworld DESTDIR=${NFSROOTDIR}</userinput>
+&prompt.root; <userinput>make installkernel DESTDIR=${NFSROOTDIR}</userinput>
+&prompt.root; <userinput>make distribution DESTDIR=${NFSROOTDIR}</userinput>
+ </screen>
+ </step>
+
+ <step>
+ <para>Testen Sie den <acronym>TFTP</acronym>-Server und
+ vergewissern Sie sich, dass Sie den Bootloader
+ herunterladen können, der über <acronym>PXE</acronym>
+ bereitgestellt wird:</para>
+
+ <screen>
+&prompt.root; <userinput>tftp localhost</userinput>
+tftp> <userinput>get FreeBSD/install/boot/pxeboot</userinput>
+Received 264951 bytes in 0.1 seconds
+ </screen>
+ </step>
+
+ <step>
+ <para>Bearbeiten Sie
+ <filename>${NFSROOTDIR}/etc/fstab</filename> und
+ erstellen Sie einen Eintrag, um das Root-Dateisystem
+ über <acronym>NFS</acronym> einzuhängen:</para>
+
+ <programlisting>
+# Device Mountpoint FSType Options Dump Pass
+myhost.example.com:/b/tftpboot/FreeBSD/install / nfs ro 0 0
+ </programlisting>
+
+ <para>Ersetzen Sie
+ <replaceable>myhost.example.com</replaceable> durch den
+ Hostnamen oder die <acronym>IP</acronym>-Adresse Ihres
+ <acronym>NFS</acronym>-Servers. In diesem Beispiel wird
+ das Root-Dateisystem schreibgeschützt eingehangen, um
+ ein potenzielles Löschen des Inhalts durch die
+ <acronym>NFS</acronym>-Clients zu verhindern.</para>
+ </step>
+
+ <step>
+ <para>Setzen Sie das root-Passwort in der
+ &man.chroot.8;-Umgebung:</para>
+
+ <screen>&prompt.root; <userinput>chroot ${NFSROOTDIR} </userinput>
+&prompt.root; <userinput>passwd</userinput></screen>
+
+ <para>Damit setzen Sie das root-Passwort für die
+ Client-Maschinen, welche über <acronym>PXE</acronym>
+ starten.</para>
+ </step>
+
+ <step>
+ <para>Aktivieren Sie &man.ssh.1; root-Logins für
+ Client-Maschinen, die über <acronym>PXE</acronym>
+ starten, indem Sie die Option
+ <literal>PermitRootLogin</literal> in
+ <filename>${NFSROOTDIR}/etc/ssh/sshd_config</filename>
+ aktivieren. Dies ist in &man.sshd.config.5;
+ dokumentiert.</para>
+ </step>
+
+ <step>
+ <para>Führen Sie weitere Anpassungen der
+ &man.chroot.8;-Umgebung in ${NFSROOTDIR} durch, wie zum
+ Beispiel die Installation weiterer Pakete mittels
+ &man.pkg.add.1;, dass Bearbeiten der Passwortdatei mit
+ &man.vipw.8;, oder &man.amd.conf.5; für den Automounter.
+ Ein Beispiel:</para>
+
+ <screen>
+&prompt.root; <userinput>chroot ${NFSROOTDIR}</userinput>
+&prompt.root; <userinput>pkg_add -r bash</userinput></screen>
+ </step>
+ </procedure>
+ </sect2>
+
+
+ <sect2>
+ <title>Speicher-Dateisysteme für
+ <filename>/etc/rc.initdiskless</filename></title>
+
+ <para>Booten Sie von einem <acronym>NFS</acronym>-Root-Volume,
+ so erkennt <filename>/etc/rc</filename> dies und startet
+ daraufhin das <filename>/etc/rc.initdiskless</filename>
+ Skript. Lesen Sie die Kommentare in diesem Skript um zu
+ verstehen, was dort vor sich geht. Weil das
+ <acronym>NFS</acronym>-Root-Verzeichnis schreibgeschützt ist,
+ wir aber Schreibzugriff für <filename>/etc</filename> und
+ <filename>/var</filename> benötigen, müssen wir diese
+ Verzeichnisse über Speicher-Dateisysteme (memory backed file
+ system) einbinden.</para>
+
+ <screen>
+&prompt.root; <userinput>chroot ${NFSROOTDIR}</userinput>
+&prompt.root; <userinput>mkdir -p conf/base</userinput>
+&prompt.root; <userinput>tar -c -v -f conf/base/etc.cpio.gz --format cpio
+--gzip etc</userinput>
+&prompt.root; <userinput>tar -c -v -f conf/base/var.cpio.gz --format cpio
+--gzip var</userinput></screen>
+
+ <para>Bei Starten werden die Speicher-Dateisysteme für
+ <filename>/etc</filename> und <filename>/var</filename>
+ erstellt und eingehangen und der Inhalt der
+ <filename>cpio.gz</filename>-Dateien in diese hinein
+ kopiert.</para>
+ </sect2>
+
+ <sect2>
+ <title>Einrichtung des DHCP-Servers</title>
+
+ <para><acronym>PXE</acronym> benötigt für die Einrichtung einen
+ <acronym>TFTP</acronym>-Server und einen
+ <acronym>DHCP</acronym>-Server. Der
+ <acronym>DHCP</acronym>-Server muss nicht unbedingt auf der
+ gleichen Maschine laufen wie der
+ <acronym>TFTP</acronym>-Server, aber er muss in Ihrem Netzwerk
+ erreichbar sein.</para>
+
+ <procedure>
+ <step>
+ <para>Installieren Sie den <acronym>DHCP</acronym>-Server,
+ indem Sie den Anweisungen in <xref
+ linkend="network-dhcp-server"/> folgen. Stellen Sie
+ sicher, dass <filename>/etc/rc.conf</filename> und
+ <filename>/usr/local/etc/dhcpd.conf</filename> richtig
+ konfiguriert sind.</para>
+ </step>
+
+ <step>
+ <para>Konfigurieren Sie in
+ <filename>/usr/local/etc/dhcpd.conf</filename> die
+ <literal>next-server</literal>,
+ <literal>filename</literal> und <literal>option
+ root-path</literal> Einstellungen, um die
+ <acronym>IP</acronym>-Adresse des
+ <acronym>TFTP</acronym>-Servers, den Pfad zu
+ <filename>/boot/pxeboot</filename> in
+ <acronym>TFTP</acronym> und den Pfad zum
+ <acronym>NFS</acronym>-Root-Dateisystem zu bestimmen.
+ Hierzu ein Beispiel für
+ <filename>/usr/local/etc/dhcpd.conf</filename>:</para>
+
+ <programlisting>
+subnet 192.168.0.0 netmask 255.255.255.0 {
+ range 192.168.0.2 192.168.0.3;
+ option subnet-mask 255.255.255.0;
+ option routers 192.168.0.1;
+ option broadcast-address 192.168.0.255;
+ option domain-name-server 192.168.35.35 192.168.35.36;
+ option domain-name "example.com";
+
+ # IP address of TFTP server
+ next-server 192.168.0.1;
+
+ # path of boot loader obtained
+ # via tftp
+ filename "FreeBSD/install/boot/pxeboot";
+
+ # pxeboot boot loader will try to NFS mount this directory for root FS
+ option root-path "192.168.0.1:/b/tftpboot/FreeBSD/install/";
+
+}
+ </programlisting>
+ </step>
+ </procedure>
+ </sect2>
+
+ <sect2>
+ <title>Konfiguration des <acronym>PXE</acronym>-Clients und
+ Fehlersuche bei Verbindungsproblemen</title>
+
+ <procedure>
+ <step>
+ <para>Sobald die Client-Maschine startet, gehen Sie in die
+ <acronym>BIOS</acronym>-Einstellungen und konfigurieren
+ Sie den Start über das Netzwerk (boot from network). Sind
+ Ihre bisherigen Konfigurationsschritte korrekt, sollte
+ alles funktionieren.</para>
+ </step>
+
+ <step>
+ <para>Benutzen Sie den <filename
+ role="package">net/wireshark</filename> Port zur
+ Fehlersuche im Netzwerkverkehr von <acronym>DHCP</acronym>
+ und <acronym>TFTP</acronym>.</para>
+ </step>
+
+ <step>
+ <para>Stellen Sie sicher, dass Sie die
+ <filename>pxeboot</filename>-Datei über
+ <acronym>TFTP</acronym> herunterladen können. Schauen Sie
+ in <filename>/var/log/xferlog</filename> auf Ihrem
+ <acronym>TFTP</acronym>-Server und vergewissern Sie sich,
+ dass die <filename>pxeboot</filename>-Datei von der
+ richtigen Adresse heruntergeladen wurde. Um die obige
+ Konfiguration von <filename>dhcpd.conf</filename> zu
+ testen, geben Sie folgendes ein:</para>
+
+ <screen>&prompt.root; <userinput>tftp 192.168.0.1</userinput>
+tftp> <userinput>get FreeBSD/install/boot/pxeboot</userinput>
+Received 264951 bytes in 0.1 seconds</screen>
+
+ <para>Weitere Informationen finden Sie in &man.tftpd.8; und
+ &man.tftp.1;. Die <literal>BUGS</literal>-Sektionen dieser
+ Seiten dokumentieren einige Einschränkungen von
+ <acronym>TFTP</acronym>.</para>
+ </step>
+
+ <step>
+ <para>Achten Sie darauf, dass Sie das Root-Dateisystem über
+ <acronym>NFS</acronym> einhängen können. Auch hier können
+ Sie Ihre Einstellungen aus <filename>dhcpd.conf</filename>
+ wie folgt testen:</para>
+
+ <screen>&prompt.root; <userinput>mount -t nfs 192.168.0.1:/b
+/tftpboot/FreeBSD/install /mnt</userinput></screen>
+ </step>
+ </procedure>
+ </sect2>
+ </sect1>
+
<sect1 xml:id="network-isdn">
<title>ISDN – diensteintegrierendes digitales Netzwerk</title>
@@ -6433,7 +6772,7 @@ route_hostD="192.168.173.4 hatm0 0 102 l
<info><title>CARP - Common Address Redundancy Protocol</title>
<authorgroup>
<author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Beigetragen von </contrib></author>
- <author><personname><firstname>Allan</firstname><surname>Jude</surname></personname><contrib>Aktualisiert von</contrib></author>
+ <author><personname><firstname>Allan</firstname><surname>Jude</surname></personname><contrib>Aktualisiert von </contrib></author>
</authorgroup>
</info>
More information about the svn-doc-head
mailing list