summaryrefslogtreecommitdiff
path: root/eu/install-methods/tftp/dhcp.xml
blob: a6ba6286e97c61ad5693e35777449d344877ec74 (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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<!-- retain these comments for translator revision tracking -->
<!-- original version: 16879 untranslated -->


  <sect2 condition="supports-dhcp" id="dhcpd">
   <title>Setting up a DHCP server</title>
<para>

At the time of this writing, there is only one DHCP server which is
free software, namely ISC <command>dhcpd</command>.  In &debian;, this
is available in the <classname>dhcp</classname> package.  Here is a
sample configuration file for it (usually
<filename>/etc/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/tftpboot.img";
  server-name "servername";
  next-server servername;
  hardware ethernet 01:23:45:67:89:AB; 
  fixed-address 192.168.1.90;
}

</screen></informalexample>

Note: the new (and preferred) <classname>dhcp3</classname> package uses
<filename>/etc/dhcp3/dhcpd.conf</filename>.

</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/dhcpd restart</userinput>.

</para>

   <sect3 arch="i386">
   <title>PXE Booting</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 6048;
max-lease-time 604800;

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 subnet-mask 255.255.255.0;
  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;
}

host tftpserver {
# tftp server ip address
  fixed-address 192.168.1.90;
# tftp server hardware address
  hardware ethernet 01:23:45:67:89:AB;
}

group {
 next-server 192.168.1.3;
 host tftpclient {
# tftp client hardware address
  hardware ethernet  00:10:DC:27:6C:15;
  filename "/tftpboot/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>