Date: Fri, 18 Apr 2014 17:35:05 +0000 (UTC) From: Benedict Reuschling <bcr@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r44605 - head/de_DE.ISO8859-1/books/handbook/advanced-networking Message-ID: <201404181735.s3IHZ5ch063570@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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@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>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404181735.s3IHZ5ch063570>