commit bd973f1cb701b8baf67f7d976c488fab4fe71288
Author: Pete Travis <immanetize(a)fedoraproject.org>
Date: Sat Sep 6 13:49:25 2014 -0600
Present a simplified dhcp configuration.
The previous example presented a many options and demonstrated the vast
potential of dhcpd, but administrators who are likely to configure their
infrastructure at this level *will* be consulting dhcpd.conf and other
documentation.
This new example configuration is targeted towards users who want a
configuration that can drop in to their existing small network.
NOTE: The build is broken here, I'm working incrementally. Don't check
out this commit and expect a deliverable product.
en-US/Network_based_Installations.xml | 146 +++++++++++++++------------------
1 files changed, 67 insertions(+), 79 deletions(-)
---
diff --git a/en-US/Network_based_Installations.xml
b/en-US/Network_based_Installations.xml
index 0781236..3c4e54d 100644
--- a/en-US/Network_based_Installations.xml
+++ b/en-US/Network_based_Installations.xml
@@ -64,14 +64,71 @@
<remark>A link to mirrormanager and some instructions to other guides too.
All the elaboration on installation methods might be going to far, but we can ref.
--Pete</remark>
</formalpara>
</section>
-
- <section id="sect-network-boot-setup-bios">
- <title>Configuring a PXE Server for BIOS-based
Clients</title>
- <para>
- The following procedure will prepare the PXE server for booting
BIOS-based AMD64 and Intel 64 systems. For information on UEFI-based systems, see
<xref linkend="sect-network-boot-setup-uefi" />.
- </para>
- <procedure>
- <title>Configuring PXE Boot for BIOS-based
Systems</title>
+ <section id="pxe-dhcpd">
+ <title>DHCP Server Configuration</title>
+ <remark>Needs adminition about static IP, reference out to Networking Guide.
Example assumes 192.168.1.2 for server.</remark>
+ <procedure>
+ <title>Installing and configuring dhcpd</title>
+ <step>
+ <para>
+ Install the dhcp server package.
+ </para>
+ <screen><command>yum install dhcp</command></screen>
+ </step>
+ <step>
+ <para>
+ Create a simple configuration for the dhcp server at
<filename>/etc/dhcp/dhcpd.conf</filename>
+ </para>
+ <screen>
+ subnet 192.168.1.0 netmask 255.255.255.0 {
+ authoritative;
+ default-lease-time 600;
+ max-lease-time 7200;
+ ddns-update-style none;
+
+ option domain-name-servers 192.168.1.1;
+ option routers 192.168.1.1;
+
+ }
+ </screen>
+ </step>
+ <step>
+ <para>
+ Test your configuration and address any problems you discover.
+ </para>
+ <screen>
+ <command>systemctl start dhcpd</command>
+ <command>journalctl --unit dhcpd --since -2m
--follow</command>
+ </screen>
+ </step>
+ <step>
+ <para>
+ Add entries to point clients to their bootloader and the server that
provides it to your subnet configuration in
<filename>/etc/dhcp/dhcpd.conf</filename>. Because DHCP clients provide the
server with identifying information along with their address request, BIOS clients and
UEFI clients can each be directed to the correct bootloader.
+ </para>
+ <screen>
+ subnet 192.168.1.0 netmask 255.255.255.0 {
+ if option arch = 00:07 {
+ filename "uefi/shim.efi";
+ } else {
+ filename "pxelinux/pxelinux.0";
+ }
+
+ next-server 192.168.1.2;
+
+ ...
+ </screen>
+ </step>
+ <step>
+ <para>
+ Restart the dhcp service to check the configuration and make changes as
needed.
+ </para>
+ <screen>
+ <command>systemctl restart dhcpd</command>
+ <command>journalctl --unit dhcpd --since -2m
--follow</command>
+ </screen>
+ </step>
+ </procedure>
+ </section>
<step>
<para>
Install the <package>tftp</package> package. To
do this, run the following command as <systemitem
class="username">root</systemitem>:
@@ -89,38 +146,7 @@
<para>
Configure your <systemitem
class="protocol">DHCP</systemitem> server to use the boot images
packaged with SYSLINUX. If you do not have a DHCP server installed, see the
<citetitle>&PRODUCT; Networking Guide</citetitle>, available at the
<ulink
url="http://docs.fedoraproject.org/">Fedora Documentation
website</ulink>, for instructions.
</para>
- <para>
- A sample configuration in the
<filename>/etc/dhcp/dhcpd.conf</filename> file might look like:
- </para>
- <programlisting>
- option space pxelinux;
- option pxelinux.magic code 208 = string;
- option pxelinux.configfile code 209 = text;
- option pxelinux.pathprefix code 210 = text;
- option pxelinux.reboottime code 211 = unsigned integer 32;
-
- subnet 10.0.0.0 netmask 255.255.255.0 {
- option routers 10.0.0.254;
- range 10.0.0.2 10.0.0.253;
-
- class "pxeclients" {
- match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
- next-server 10.0.0.1;
-
- if option arch = 00:07 {
- filename "uefi/shim.efi";
- } else {
- filename "pxelinux/pxelinux.0";
- }
- }
-
- host example-ia32 {
- hardware ethernet XX:YY:ZZ:11:22:33;
- fixed-address 10.0.0.2;
- }
- }
- </programlisting>
- </step>
+ </step>
<step>
<para>
You now need the <filename>pxelinux.0</filename>
file from the SYSLINUX package in the ISO image file. To access it, run the following
commands as root:
@@ -235,45 +261,7 @@ label local
</para>
</step>
<step>
- <para>
- Configure your <systemitem
class="protocol">DHCP</systemitem> server to use the EFI boot images
packaged with <package>shim</package>. If you do not have a DHCP server
installed, see the <citetitle>&PRODUCT; Networking Guide</citetitle>,
available at the <ulink
url="http://docs.fedoraproject.org/">Fedora
Documentation website</ulink>, for instructions.
- </para>
- <para>
- A sample configuration in the
<filename>/etc/dhcp/dhcpd.conf</filename> file might look like:
- </para>
- <programlisting>
- option space PXE;
- option PXE.mtftp-ip code 1 = ip-address;
- option PXE.mtftp-cport code 2 = unsigned integer 16;
- option PXE.mtftp-sport code 3 = unsigned integer 16;
- option PXE.mtftp-tmout code 4 = unsigned integer 8;
- option PXE.mtftp-delay code 5 = unsigned integer 8;
- option arch code 93 = unsigned integer 16; # RFC4578
-
- subnet 10.0.0.0 netmask 255.255.255.0 {
- option routers 10.0.0.254;
- range 10.0.0.2 10.0.0.253;
-
- class "pxeclients" {
- match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
- next-server 10.0.0.1;
-
- if option arch = 00:07 {
- filename "uefi/shim.efi";
- } else {
- filename "pxelinux/pxelinux.0";
- }
- }
-
- host example-ia32 {
- hardware ethernet XX:YY:ZZ:11:22:33;
- fixed-address 10.0.0.2;
- }
- }
- </programlisting>
- </step>
- <step>
- <para>
+ <para>
You now need the <filename>shim.efi</filename>
file from the <package>shim</package> package and the
<filename>grubx64.efi</filename> file from the
<package>grub2-efi</package> package in the ISO image file. To access them,
run the following commands as root:
</para>
<screen>