svn commit: r44123 - head/en_US.ISO8859-1/books/handbook/advanced-networking
Dru Lavigne
dru at FreeBSD.org
Tue Mar 4 22:40:58 UTC 2014
Author: dru
Date: Tue Mar 4 22:40:57 2014
New Revision: 44123
URL: http://svnweb.freebsd.org/changeset/doc/44123
Log:
Start to merge content.
Many more commits needed to get this into a logical flow.
Sponsored by: iXsystems
Modified:
head/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.xml
Modified: head/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.xml Tue Mar 4 20:54:36 2014 (r44122)
+++ head/en_US.ISO8859-1/books/handbook/advanced-networking/chapter.xml Tue Mar 4 22:40:57 2014 (r44123)
@@ -3862,24 +3862,34 @@ ifconfig_<literal>lagg0</literal>="laggp
is relatively easy to set up because all the necessary elements
are readily available:</para>
+ <itemizedlist>
+ <listitem>
<para>The &intel; Preboot eXecution Environment
(<acronym>PXE</acronym>) can be used to load the kernel over
the network. It provides a form of smart boot
<acronym>ROM</acronym> built into some networking cards or
motherboards. See &man.pxeboot.8; for more details.</para>
+ </listitem>
+ <listitem>
<para>A sample script
(<filename>/usr/share/examples/diskless/clone_root</filename>)
eases the creation and maintenance of the workstation's root
file system on the server. The script will probably require
a little customization.</para>
+ </listitem>
+ <listitem>
<para>Standard system startup files exist in
<filename>/etc</filename> to detect and support a diskless
system startup.</para>
+ </listitem>
+ <listitem>
<para>Swapping, if needed, can be done either to an
<acronym>NFS</acronym> file or to a local disk.</para>
+ </listitem>
+</itemizedlist>
<para>There are many ways to set up diskless workstations. Many
elements are involved, and most can be customized to suit local
@@ -3893,12 +3903,16 @@ ifconfig_<literal>lagg0</literal>="laggp
<para>The diskless workstations use a shared, read-only
<filename>/</filename> and
<filename>/usr</filename>.</para>
+ </listitem>
+ <listitem>
<para>The root file system is a copy of a standard &os; root,
with some configuration files overridden by ones specific to
diskless operation or, possibly, to the workstation they
belong to.</para>
+ </listitem>
+ <listitem>
<para>The parts of the root which have to be writable are
overlaid with &man.md.4; file systems. Any changes will be
lost when the system reboots.</para>
@@ -3914,28 +3928,8 @@ ifconfig_<literal>lagg0</literal>="laggp
<sect2>
<title>Background Information</title>
- <para>Setting up diskless workstations is both relatively
- straightforward and prone to errors. These are sometimes
- difficult to diagnose for a number of reasons. For
- example:</para>
-
- <itemizedlist>
- <listitem>
- <para>Compile time options may determine different behaviors
- at runtime.</para>
- </listitem>
-
- <listitem>
- <para>Error messages are often cryptic or totally
- absent.</para>
- </listitem>
- </itemizedlist>
-
- <para>In this context, having some knowledge of the background
- mechanisms involved is useful to solve the problems that may
- arise.</para>
-
- <para>Several operations need to be performed for a successful
+ <para>When setting up diskless workstations, several operations
+ need to be performed for a successful
bootstrap:</para>
<itemizedlist>
@@ -3950,9 +3944,7 @@ ifconfig_<literal>lagg0</literal>="laggp
configure a system to use only <acronym>BOOTP</acronym>
and &man.bootpd.8; is included in the base &os;
system.</para>
- </listitem>
- <listitem>
<para><acronym>DHCP</acronym> has a number of advantages
over <acronym>BOOTP</acronym> such as nicer configuration
files and support for <acronym>PXE</acronym>. This
@@ -3964,16 +3956,13 @@ ifconfig_<literal>lagg0</literal>="laggp
</listitem>
<listitem>
- <para>The machine needs to transfer one or several programs
- to local memory. Either <acronym>TFTP</acronym> or
- <acronym>NFS</acronym> are used. The choice between
- <acronym>TFTP</acronym> and <acronym>NFS</acronym> is a
- compile time option in several places. A common source of
- error is to specify filenames for the wrong protocol.
- <acronym>TFTP</acronym> typically transfers all files from
- a single directory on the server and expects filenames
- relative to this directory. <acronym>NFS</acronym> needs
- absolute file paths.</para>
+ <para>The machine needs to boot the loader using
+ <acronym>TFTP</acronym>.</para>
+ </listitem>
+
+ <listitem>
+ <para>The root filesystem needs to be loaded using
+ <acronym>NFS</acronym>.</para>
</listitem>
<listitem>
@@ -3997,15 +3986,21 @@ ifconfig_<literal>lagg0</literal>="laggp
<para>Refer to &man.diskless.8; for more information.</para>
</sect2>
- <sect2>
- <title>Configuration Using <application>ISC
- DHCP</application></title>
+ <sect2 xml:id="network-pxe-setting-up-dhcp">
+ <title>Configuring the <application>ISC
+ DHCP</application> Server</title>
<indexterm>
<primary>DHCP</primary>
<secondary>diskless operation</secondary>
</indexterm>
+ <para><acronym>PXE</acronym> requires a <acronym>TFTP</acronym>
+ and a <acronym>DHCP</acronym> server to be set up. The
+ <acronym>DHCP</acronym> server does not need to be the same
+ machine as the <acronym>TFTP</acronym> server, but it needs
+ to be accessible in the network.</para>
+
<para>The <application>ISC DHCP</application> server can
answer both <acronym>BOOTP</acronym> and
<acronym>DHCP</acronym> requests.</para>
@@ -4013,56 +4008,62 @@ ifconfig_<literal>lagg0</literal>="laggp
<para><application>ISC DHCP</application> is not part of the
base system. Install the
<package>net/isc-dhcp42-server</package> port or
- package.</para>
+ package, following the instructions documented at <xref
+ linkend="network-dhcp-server"/>. Make sure that
+ <filename>/etc/rc.conf</filename> and
+ <filename>/usr/local/etc/dhcpd.conf</filename> are
+ correctly configured..</para>
<para>Once <application>ISC DHCP</application> is installed,
edit its configuration file,
- <filename>/usr/local/etc/dhcpd.conf</filename>. Here
- follows a commented example for <acronym>PXE</acronym> host
- <systemitem>corbieres</systemitem>:</para>
-
- <programlisting>default-lease-time 600;
-max-lease-time 7200;
-authoritative;
-
-option domain-name "example.com";
-option domain-name-servers 192.168.4.1;
-option routers 192.168.4.1;
-
-subnet 192.168.4.0 netmask 255.255.255.0 {
- use-host-decl-names on; <co xml:id="co-dhcp-host-name"/>
- option subnet-mask 255.255.255.0;
- option broadcast-address 192.168.4.255;
-
- host corbieres {
- hardware ethernet 00:02:b3:27:62:df;
- fixed-address corbieres.example.com;
- next-server 192.168.4.4; <co xml:id="co-dhcp-next-server"/>
- filename "pxeboot"; <co xml:id="co-dhcp-filename"/>
- option root-path "192.168.4.4:/data/misc/diskless"; <co xml:id="co-dhcp-root-path"/>
- }
+ <filename>/usr/local/etc/dhcpd.conf</filename>. Configure
+ the <literal>next-server</literal>,
+ <literal>filename</literal>, and
+ <literal>option root-path</literal> settings to specify
+ the <acronym>TFTP</acronym> server <acronym>IP</acronym>
+ address, the path to <filename>/boot/pxeboot</filename>
+ in <acronym>TFTP</acronym>, and the path to the
+ <acronym>NFS</acronym> root file system. Here is a sample
+ <filename>dhcpd.conf</filename> setup:</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-servers 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>
- <calloutlist>
- <callout arearefs="co-dhcp-host-name">
+ <!--
+ This option still needed?
+ host corbieres {
<para>This option tells <application>dhcpd</application>
to send the value in the <literal>host</literal>
declarations as the hostname for the diskless host.
An alternate way would be to add an <literal>option
host-name corbieres</literal>
inside the <literal>host</literal> declarations.</para>
- </callout>
+ -->
- <callout arearefs="co-dhcp-next-server">
<para>The <literal>next-server</literal> directive
designates the <acronym>TFTP</acronym> or
<acronym>NFS</acronym> server to use for loading
&man.loader.8; or the kernel file. The default is to
use the same host as the <acronym>DHCP</acronym>
server.</para>
- </callout>
- <callout arearefs="co-dhcp-filename">
<para>The <literal>filename</literal> directive defines
the file that <acronym>PXE</acronym> will load for the
next execution step. It must be specified according
@@ -4078,9 +4079,7 @@ subnet 192.168.4.0 netmask 255.255.255.0
<filename>GENERIC</filename> kernel, it is possible to
use <acronym>PXE</acronym> to boot from a remote
CD-ROM.</para>
- </callout>
- <callout arearefs="co-dhcp-root-path">
<para>The <literal>root-path</literal> option defines
the path to the root file system, in usual
<acronym>NFS</acronym> notation. When using
@@ -4089,27 +4088,40 @@ subnet 192.168.4.0 netmask 255.255.255.0
<acronym>BOOTP</acronym> kernel option is not enabled.
The <acronym>NFS</acronym> server will then be the
same as the <acronym>TFTP</acronym> one.</para>
- </callout>
- </calloutlist>
</sect2>
<sect2>
- <title>Configuring the <acronym>TFTP</acronym> and
- <acronym>NFS</acronym> Servers</title>
+ <title>Configuring the
+ <acronym>NFS</acronym> Server</title>
- <para>By default, &man.pxeboot.8; loads the kernel via
- <acronym>NFS</acronym>. It can be compiled to use
- <acronym>TFTP</acronym> instead by specifying the
- <literal>LOADER_TFTP_SUPPORT</literal> option in
- <filename>/etc/make.conf</filename>. See the comments in
- <filename>/usr/share/examples/etc/make.conf</filename> for
- instructions.</para>
-
- <para>There are two other <filename>make.conf</filename>
- options which may be useful for setting up a serial console
- diskless machine:
- <literal>BOOT_PXELDR_PROBE_KEYBOARD</literal>, and
- <literal>BOOT_PXELDR_ALWAYS_SERIAL</literal>.</para>
+ <para>Enable
+ <acronym>NFS</acronym> and export the appropriate file
+ system on the <acronym>NFS</acronym> server.</para>
+
+ <para>Add this line to
+ <filename>/etc/rc.conf</filename>:</para>
+
+ <programlisting>nfs_server_enable="YES"</programlisting>
+
+ <para>Export the file system where the diskless root
+ directory is located by adding the following to
+ <filename>/etc/exports</filename>. Adjust the
+ mount point and replace <replaceable>
+ corbieres</replaceable> with the names of the diskless
+ workstations:</para>
+
+ <programlisting><replaceable>/data/misc</replaceable> -alldirs -ro <replaceable>margaux corbieres</replaceable></programlisting>
+
+ <para>Tell &man.mountd.8; to reread its configuration
+ file. If <acronym>NFS</acronym> is enabled in
+ <filename>/etc/rc.conf</filename>, it is recommended
+ to reboot instead.</para>
+
+ <screen>&prompt.root; <userinput>service mountd restart</userinput></screen>
+ </sect2>
+
+ <sect2>
+ <title>Configuring the <acronym>TFTP</acronym> Server</title>
<para>To use <acronym>PXE</acronym> when the machine starts,
select the <literal>Boot from network</literal> option in
@@ -4125,9 +4137,7 @@ subnet 192.168.4.0 netmask 255.255.255.0
<secondary>diskless operation</secondary>
</indexterm>
- <para>If <acronym>PXE</acronym> is configured to use
- <acronym>TFTP</acronym>, enable &man.tftpd.8; on the file
- server:</para>
+ <para>To enable &man.tftpd.8;, perform the following steps:</para>
<procedure>
<step>
@@ -4166,40 +4176,7 @@ subnet 192.168.4.0 netmask 255.255.255.0
anywhere on the server. Make sure that the location is
set in both <filename>/etc/inetd.conf</filename> and
<filename>/usr/local/etc/dhcpd.conf</filename>.</para>
-
- <para>Enable
- <acronym>NFS</acronym> and export the appropriate file
- system on the <acronym>NFS</acronym> server.</para>
-
- <procedure>
- <step>
- <para>Add this line to
- <filename>/etc/rc.conf</filename>:</para>
-
- <programlisting>nfs_server_enable="YES"</programlisting>
- </step>
-
- <step>
- <para>Export the file system where the diskless root
- directory is located by adding the following to
- <filename>/etc/exports</filename>. Adjust the
- mount point and replace <replaceable>
- corbieres</replaceable> with the names of the diskless
- workstations:</para>
-
- <programlisting><replaceable>/data/misc</replaceable> -alldirs -ro <replaceable>margaux corbieres</replaceable></programlisting>
- </step>
-
- <step>
- <para>Tell &man.mountd.8; to reread its configuration
- file. If <acronym>NFS</acronym> is enabled in
- <filename>/etc/rc.conf</filename>, it is recommended
- to reboot instead.</para>
-
- <screen>&prompt.root; <userinput>service mountd restart</userinput></screen>
- </step>
- </procedure>
- </sect2>
+ </sect2>
<sect2>
<title>Preparing the Root File System</title>
@@ -4520,59 +4497,6 @@ myhost.example.com:/b/tftpboot/FreeBSD/i
them.</para>
</sect2>
- <sect2 xml:id="network-pxe-setting-up-dhcp">
- <title>Setting up the <acronym>DHCP</acronym> Server</title>
-
- <para><acronym>PXE</acronym> requires a <acronym>TFTP</acronym>
- and a <acronym>DHCP</acronym> server to be set up. The
- <acronym>DHCP</acronym> server does not need to be the same
- machine as the <acronym>TFTP</acronym> server, but it needs
- to be accessible in the network.</para>
-
- <procedure>
- <step>
- <para>Install the <acronym>DHCP</acronym> server by
- following the instructions documented at <xref
- linkend="network-dhcp-server"/>. Make sure that
- <filename>/etc/rc.conf</filename> and
- <filename>/usr/local/etc/dhcpd.conf</filename> are
- correctly configured.</para>
- </step>
-
- <step>
- <para>In <filename>/usr/local/etc/dhcpd.conf</filename>,
- configure the <literal>next-server</literal>,
- <literal>filename</literal>, and
- <literal>option root-path</literal> settings to specify
- the <acronym>TFTP</acronym> server <acronym>IP</acronym>
- address, the path to <filename>/boot/pxeboot</filename>
- in <acronym>TFTP</acronym>, and the path to the
- <acronym>NFS</acronym> root file system. Here is a sample
- <filename>dhcpd.conf</filename> setup:</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-servers 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>Configuring the <acronym>PXE</acronym> Client and
Debugging Connection Problems</title>
More information about the svn-doc-all
mailing list