diff --git a/puppet/dist/host/stentyst/etc/default/dhcp3-server b/puppet/dist/host/stentyst/etc/default/dhcp3-server new file mode 100644 index 0000000000000000000000000000000000000000..4cc05f721e4b57de29a9955ff30fdc993d1ba59c --- /dev/null +++ b/puppet/dist/host/stentyst/etc/default/dhcp3-server @@ -0,0 +1,11 @@ +# Defaults for dhcp initscript +# sourced by /etc/init.d/dhcp +# installed at /etc/default/dhcp3-server by the maintainer scripts + +# +# This is a POSIX shell fragment +# + +# On what interfaces should the DHCP server (dhcpd) serve DHCP requests? +# Separate multiple interfaces with spaces, e.g. "eth0 eth1". +INTERFACES="eth1" diff --git a/puppet/dist/host/stentyst/etc/dhcp3/dhcpd.conf b/puppet/dist/host/stentyst/etc/dhcp3/dhcpd.conf new file mode 100644 index 0000000000000000000000000000000000000000..00af2e0dfad861f7cb223c35bac8ee0fa9ccc066 --- /dev/null +++ b/puppet/dist/host/stentyst/etc/dhcp3/dhcpd.conf @@ -0,0 +1,140 @@ +# +# Sample configuration file for ISC dhcpd for Debian +# +# $Id: dhcpd.conf,v 1.1.1.1 2002/05/21 00:07:44 peloy Exp $ +# + +# The ddns-updates-style parameter controls whether or not the server will +# attempt to do a DNS update when a lease is confirmed. We default to the +# behavior of the version 2 packages ('none', since DHCP v2 didn't +# have support for DDNS.) +ddns-update-style none; + +# option definitions common to all supported networks... +option domain-name "cederqvist lysator.liu.se"; +option domain-name-servers 192.168.10.2; +option routers 192.168.10.2; +option ntp-servers 192.168.10.2, + ntp1.sth.netnod.se, + ntp-s3-2.lysator.liu.se; + +default-lease-time 600; +max-lease-time 7200; + +# If this DHCP server is the official DHCP server for the local +# network, the authoritative directive should be uncommented. +authoritative; + +# Use this to send dhcp log messages to a different log file (you also +# have to hack syslog.conf to complete the redirection). +#log-facility local7; + +# No service will be given on this subnet, but declaring it helps the +# DHCP server to understand the network topology. + +#subnet 10.152.187.0 netmask 255.255.255.0 { +#} + +# This is a very basic subnet declaration. + +#subnet 10.254.239.0 netmask 255.255.255.224 { +# range 10.254.239.10 10.254.239.20; +# option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org; +#} + +# This declaration allows BOOTP clients to get dynamic addresses, +# which we don't really recommend. + +#subnet 10.254.239.32 netmask 255.255.255.224 { +# range dynamic-bootp 10.254.239.40 10.254.239.60; +# option broadcast-address 10.254.239.31; +# option routers rtr-239-32-1.example.org; +#} + +# A slightly different configuration for an internal subnet. +#subnet 10.5.5.0 netmask 255.255.255.224 { +# range 10.5.5.26 10.5.5.30; +# option domain-name-servers ns1.internal.example.org; +# option domain-name "internal.example.org"; +# option routers 10.5.5.1; +# option broadcast-address 10.5.5.31; +# default-lease-time 600; +# max-lease-time 7200; +#} +subnet 192.168.10.0 netmask 255.255.255.0 { + range 192.168.10.50 192.168.10.90; +} + +# Hosts which require special configuration options can be listed in +# host statements. If no address is specified, the address will be +# allocated dynamically (if possible), but the host-specific information +# will still come from the host declaration. + +#host passacaglia { +# hardware ethernet 0:0:c0:5d:bd:95; +# filename "vmunix.passacaglia"; +# server-name "toccata.fugue.com"; +#} + +# Fixed IP addresses can also be specified for hosts. These addresses +# should not also be listed as being available for dynamic assignment. +# Hosts for which fixed IP addresses have been specified can boot using +# BOOTP or DHCP. Hosts for which no fixed address is specified can only +# be booted with DHCP, unless there is an address range on the subnet +# to which a BOOTP client is connected which has the dynamic-bootp flag +# set. +#host fantasia { +# hardware ethernet 08:00:07:26:c0:a5; +# fixed-address fantasia.fugue.com; +#} +host moria.cederqvist { + hardware ethernet 00:c0:f0:4c:9b:97; + fixed-address moria.cederqvist; +} +host dellalu-lan.cederqvist { + hardware ethernet 00:0D:56:AC:93:35; + fixed-address dellalu-lan.cederqvist; +} +host dellalu.cederqvist { + hardware ethernet 00:04:23:98:5e:23; + fixed-address dellalu.cederqvist; +} +host scribe.cederqvist { + hardware ethernet 00:16:6f:5f:94:62; + fixed-address scribe.cederqvist; +} +host scribe-lan.cederqvist { + hardware ethernet 00:0e:7b:df:93:dc; + fixed-address scribe-lan.cederqvist; +} +host squeezebox.cederqvist { + hardware ethernet 00:04:20:06:a9:2b; + fixed-address squeezebox.cederqvist; +} + + +# You can declare a class of clients and then do address allocation +# based on that. The example below shows a case where all clients +# in a certain class get addresses on the 10.17.224/24 subnet, and all +# other clients get addresses on the 10.0.29/24 subnet. + +#class "foo" { +# match if substring (option vendor-class-identifier, 0, 4) = "SUNW"; +#} + +#shared-network 224-29 { +# subnet 10.17.224.0 netmask 255.255.255.0 { +# option routers rtr-224.example.org; +# } +# subnet 10.0.29.0 netmask 255.255.255.0 { +# option routers rtr-29.example.org; +# } +# pool { +# allow members of "foo"; +# range 10.17.224.10 10.17.224.250; +# } +# pool { +# deny members of "foo"; +# range 10.0.29.10 10.0.29.230; +# } +#} diff --git a/puppet/master/manifests/site.pp b/puppet/master/manifests/site.pp index 0d1c21ab53f8df735bfe73b9d08f878a7958d93b..d68f258bb1aceee1ea3038dbdc046889933e8706 100644 --- a/puppet/master/manifests/site.pp +++ b/puppet/master/manifests/site.pp @@ -26,15 +26,15 @@ node stentyst { } package { ddclient: - ensure => latest; + ensure => latest, } package { "debconf-doc": - ensure => latest; + ensure => latest, } package { "libio-socket-ssl-perl": - ensure => latest; + ensure => latest, } file { "/etc/default/ddclient": @@ -80,7 +80,8 @@ node stentyst { } package { "bind9": - ensure => latest; + ensure => latest, + notify => Service[bind9], } service { "bind9": @@ -111,4 +112,30 @@ node stentyst { mode => 644, notify => Service["bind9"], } + + package { "dhcp3-server": + ensure => latest, + notify => Service["dhcp3-server"], + } + + file { "/etc/default/dhcp3-server": + source => "puppet:///host/etc/default/dhcp3-server", + owner => root, + group => root, + mode => 444, + notify => Service["dhcp3-server"], + } + + file { "/etc/dhcp3/dhcpd.conf": + source => "puppet:///host/etc/dhcp3/dhcpd.conf", + owner => root, + group => root, + mode => 444, + notify => Service["dhcp3-server"], + } + + service { "dhcp3-server": + ensure => running, + enable => true, + } }