dhcpd.conf.template.in 3.29 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
#
# dhcpd.conf.template - From the emulab software distribution
#
# This file is used with dhcpd_makeconf to generate an actual dhpd.conf file
# from the database.
#
# Make sure to change all subnets (don't forget the mask!), the DHCP and DNS
# servers' IP addresses, the router's IP, and see the comment about nodetypes
# below.
#
11
12
server-identifier               @BOSSNODE_IP@;
server-name                     "@BOSSNODE_IP@";
13

14
# Config these too?
15
option  root-path		"/tftpboot";
16
filename 			"/tftpboot/pxeboot.emu";
17
18
19

default-lease-time              36000;                  # 10 hours
max-lease-time                  36000;                  # 10 hours
20
21
ddns-update-style               none;                   # req'd vers 3 directive

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
# Define the PXE option space
# Code 1: Multicast IP address of bootfile
# Code 2: UDP port that client should monitor for MTFTP responses
# Code 3: UDP port that MTFTP servers are using to listen for MTFTP requests
# Code 4: Number of secondes a client must listen for activity before trying
#         to start a new MTFTP transfer
# Code 5: Number of secondes a client must listen before trying to restart
#         a MTFTP transfer
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 PXE.discovery-control code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr code 7 = ip-address;

#
# For PXE booting nodes we set the magic bits to tell the client that we are
# PXE-saavy so they don't wait around for 12 seconds or so waiting for a
# better response.
#
# If, for some reason, this doesn't work for you, just comment out the
# entire PXE class block.  It will work without it, it will just take longer.
#
class "PXE" {
	match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
	option vendor-class-identifier "PXEClient";
	vendor-option-space PXE;

	# bit 3 = If set, and a boot file name is present in the initial
	# DHCP or ProxyDHCP offer packet, download the boot file (do not
	# prompt/menu/discover).
	option PXE.discovery-control 8;
}

58
@DHCPD_CONTROLNET_DECL@
59
60
61
 
shared-network emulab {
 
62
63
 subnet @CONTROL_NETWORK@ netmask @CONTROL_NETMASK@ {
	option subnet-mask		@CONTROL_NETMASK@;
64

65
66
67
	# Example of a dynamic range. If you uncomment the following line 
	# (after changing the IP addresses to suitable ones, of course)
	# unknown nodes will get assigned a random IP in it
68
	range @DHCPD_DYNRANGE@;
69

70
71
	# testbed PCs
	group {
72
73
74
75
76
		next-server			@BOSSNODE_IP@;
		option routers                  @CONTROL_ROUTER_IP@;
		option  domain-name-servers     @BOSSNODE_IP@;
		option  domain-name             "@OURDOMAIN@";

77
		#
78
		# For every PC nodetype, include a line like the one below.
79
		# These lines will be replaced with auto-generated entries for
80
81
		# nodes of that type. You can also use the class field from the
		# node_types table
82
		#
83
		%%nodetype=pc
84
	}
85

86
87
	# stargates
	group {
88
89
90
91
92
		next-server			@BOSSNODE_IP@;
		option routers                  @CONTROL_ROUTER_IP@;
		option  domain-name-servers     @BOSSNODE_IP@;
		option  domain-name             "@OURDOMAIN@";

93
		%%nodetype=sg
94
	}
95
 }
96

97
98
99
100
101
 #
 # Private network; for virtual (jailed) nodes.
 #
 subnet 172.16.0.0 netmask 255.240.0.0 {
 }
102
}