dhcpd.conf.template.in 3.1 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
	option routers                  @CONTROL_ROUTER_IP@;
	option domain-name-servers      @BOSSNODE_IP@;
	option domain-name              "@OURDOMAIN@";
	next-server			@BOSSNODE_IP@;
68

69 70 71
	# 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
72
	range @DHCPD_DYNRANGE@;
73

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

85 86 87
	# stargates
	group {
		%%nodetype=sg
88
	}
89
 }
90

91 92 93 94 95
 #
 # Private network; for virtual (jailed) nodes.
 #
 subnet 172.16.0.0 netmask 255.240.0.0 {
 }
96
}