summaryrefslogtreecommitdiff
path: root/en/install-methods/tftp/dhcp.xml
blob: 6982c2a98b4550091bee5d8bec38d44d5ee2759a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<!-- retain these comments for translator revision tracking -->
<!-- $Id$ -->

  <sect2 id="dhcpd">
   <title>Setting up a DHCP server</title>
<para>

One free software DHCP server is ISC <command>dhcpd</command>.
For &debian-gnu;, the <classname>isc-dhcp-server</classname> package is
recommended.  Here is a sample configuration file for it (see
<filename>/etc/dhcp/dhcpd.conf</filename>):

<informalexample><screen>
option domain-name "example.com";
option domain-name-servers ns1.example.com;
option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;
server-name "servername";

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.200 192.168.1.253;
  option routers 192.168.1.1;
}

host clientname {
  filename "/tftpboot.img";
  server-name "servername";
  next-server servername;
  hardware ethernet 01:23:45:67:89:AB;
  fixed-address 192.168.1.90;
}
</screen></informalexample>

</para><para>

In this example, there is one server
<replaceable>servername</replaceable> which performs all of the work
of DHCP server, TFTP server, and network gateway.  You will almost
certainly need to change the domain-name options, as well as the
server name and client hardware address.  The
<replaceable>filename</replaceable> option should be the name of the
file which will be retrieved via TFTP.

</para><para>

After you have edited the <command>dhcpd</command> configuration file,
restart it with <userinput>/etc/init.d/isc-dhcp-server restart</userinput>.

</para>

   <sect3 arch="x86">
   <title>Enabling PXE Booting in the DHCP configuration</title>
<para>
Here is another example for a <filename>dhcp.conf</filename> using the
Pre-boot Execution Environment (PXE) method of TFTP.

<informalexample><screen>
option domain-name "example.com";

default-lease-time 600;
max-lease-time 7200;

allow booting;
allow bootp;

# The next paragraph needs to be modified to fit your case
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.200 192.168.1.253;
  option broadcast-address 192.168.1.255;
# the gateway address which can be different
# (access to the internet for instance)
  option routers 192.168.1.1;
# indicate the dns you want to use
  option domain-name-servers 192.168.1.3;
}

group {
  next-server 192.168.1.3;
  host tftpclient {
# tftp client hardware address
  hardware ethernet  00:10:DC:27:6C:15;
  filename "pxelinux.0";
 }
}
</screen></informalexample>

Note that for PXE booting, the client filename <filename>pxelinux.0</filename>
is a boot loader, not a kernel image (see <xref linkend="tftp-images"/>
below).

</para>
   </sect3>
  </sect2>