1 # the following variables are available in the template:
3 # $INTERFACE_ (interface for the terminalserver)
4 # $IP_ (ip for the terminalserver to bind)
5 # $NETMASK_ (network mask)
7 # $NAMESERVERS_ (nameservers for the nodes)
8 # $IPRANGE_FROM_ (user configured iprange, first ip)
9 # $IPRANGE_TO_ (user configured iprange, last ip)
10 # $NETWORK_ (first ip in this subnet)
11 # $OPTIONS_ (options for grml-terminalserver)
12 # $BOOT_ARGS_ (boot arguments for the nodes)
15 # templates are shellscript fragments and will be sourced from the
21 # this is the template to create the config file for the dhcpd server
24 date_=`execute date warn`
26 # insert commas when having multiple nameservers
27 DNS_=$(echo "$NAMESERVERS_" | sed -e 's/\([0-9]\) \([0-9]\)/\1, \2/g')
28 # note: we don't support multiple routers options
30 cat >"$DHCPD_CONFIG_FILE_" <<EOT
31 # ${DHCPD_CONFIG_FILE_##/*/} for GRML terminalserver
33 # THIS IS A GENERATED CONFIG FROM GRML-TERMINALSERVER, DO NOT EDIT!!!
34 # better adapt $TEMPLATE_CONFIG_DIR_/dhcpd_config to your needs and update config
35 # with grml-terminalserver config dhcp
37 # If you really want to edit _this_ file remove the next line
38 # __PLEASE_UPDATE_THIS_FILE__
43 #option option-150 code 150 = text ;
44 #option T150 code 150 = string;
45 default-lease-time 600;
48 subnet $NETWORK_ netmask $NETMASK_ {
50 if substring (option vendor-class-identifier, 0, 9) = "Etherboot" { filename "etherboot.nbi"; }
51 else { filename "pxelinux.0"; }
52 # option subnet-mask $NETMASK_;
53 range $IPRANGE_FROM_ $IPRANGE_TO_;
55 option domain-name-servers $DNS_;
56 # option T150 "/menu.lst";
57 # option option-150 "(nd)/menu.lst";