Mon, 28 Jan 2013 17:37:18 +0100
Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.
michael@13 | 1 | ## |
michael@13 | 2 | ## dhcpd.conf -- ISC DHCP Daemon Configuration |
michael@13 | 3 | ## |
michael@13 | 4 | |
michael@13 | 5 | # Options applicable to all subnets |
michael@13 | 6 | option domain-name "example.com"; |
michael@13 | 7 | authoritative; |
michael@13 | 8 | default-lease-time 600; |
michael@13 | 9 | max-lease-time 7200; |
michael@13 | 10 | ddns-update-style none; |
michael@13 | 11 | use-host-decl-names on; |
michael@13 | 12 | |
michael@13 | 13 | # Define some non-standard options |
michael@13 | 14 | option freebsd-swappath code 128 = text; |
michael@13 | 15 | option freebsd-rootopts code 130 = text; |
michael@13 | 16 | option freebsd-swapopts code 131 = text; |
michael@13 | 17 | |
michael@13 | 18 | # Test drive using loopback |
michael@13 | 19 | subnet 127.0.0.0 netmask 255.0.0.0 { |
michael@13 | 20 | } |
michael@13 | 21 | |
michael@13 | 22 | # Define a particular sample subnet |
michael@13 | 23 | subnet 192.168.1.0 netmask 255.255.255.0 { |
michael@13 | 24 | |
michael@13 | 25 | # Options applicable to this particular subnet |
michael@13 | 26 | option broadcast-address 192.168.1.255; |
michael@13 | 27 | option subnet-mask 255.255.255.0; |
michael@13 | 28 | option routers 192.168.1.1; |
michael@13 | 29 | option domain-name-servers 192.168.1.2; |
michael@13 | 30 | |
michael@13 | 31 | # Dynamic DNS (DDNS) Updating |
michael@13 | 32 | ddns-updates off; |
michael@13 | 33 | ddns-domainname "example.com"; |
michael@13 | 34 | ddns-rev-domainname "in-addr.arpa"; |
michael@13 | 35 | |
michael@13 | 36 | # Pool of known clients (i.e. MAC known but IP not specified) |
michael@13 | 37 | pool { |
michael@13 | 38 | range 192.168.1.100 192.168.1.149; |
michael@13 | 39 | min-lease-time 600; # 10min |
michael@13 | 40 | default-lease-time 43200; # 12hour |
michael@13 | 41 | max-lease-time 86400; # 24hour |
michael@13 | 42 | deny unknown clients; |
michael@13 | 43 | } |
michael@13 | 44 | |
michael@13 | 45 | # Pool of unknown clients (i.e. MAC not known) |
michael@13 | 46 | pool { |
michael@13 | 47 | range 192.168.1.150 192.168.1.199; |
michael@13 | 48 | min-lease-time 300; # 5min |
michael@13 | 49 | default-lease-time 3600; # 1hour |
michael@13 | 50 | max-lease-time 10800; # 3hour |
michael@13 | 51 | allow unknown clients; |
michael@13 | 52 | } |
michael@13 | 53 | } |
michael@13 | 54 | |
michael@13 | 55 | # The list of clients we explicitly configure |
michael@13 | 56 | group { |
michael@13 | 57 | # Just assign a fixed IP address for machine "quux1" |
michael@13 | 58 | host quux1 { |
michael@13 | 59 | hardware ethernet 01:02:03:00:00:01; |
michael@13 | 60 | fixed-address 192.168.1.3; |
michael@13 | 61 | } |
michael@13 | 62 | |
michael@13 | 63 | # Provide full boot information for a FreeBSD diskless client "quux2": |
michael@13 | 64 | # On the server, create a 32MB swapfile /dlc/fs/swap/swap.192.168.1.4 |
michael@13 | 65 | # with `dd if=/dev/zero of=swap.192.168.1.4 bs=1m count=32' and the |
michael@13 | 66 | # filesystem /dlc/fs/quux2 with `cd /usr/src; make buildworld; make |
michael@13 | 67 | # installworld DESTDIR=/dlc/fs/quux2'. Then use Etherboot for booting. |
michael@13 | 68 | host quux2 { |
michael@13 | 69 | hardware ethernet 01:02:03:00:00:02; |
michael@13 | 70 | fixed-address 192.168.1.4; |
michael@13 | 71 | next-server 192.168.1.2; |
michael@13 | 72 | option tftp-server-name "192.168.1.2"; |
michael@13 | 73 | filename "kernel.quux"; |
michael@13 | 74 | always-reply-rfc1048 on; |
michael@13 | 75 | option root-path "192.168.1.2:/dlc/fs/quux2"; |
michael@13 | 76 | option freebsd-rootopts "rw,noatime"; |
michael@13 | 77 | option swap-server 192.168.1.2; |
michael@13 | 78 | option freebsd-swappath "192.168.1.2:/dlc/fs/swap"; |
michael@13 | 79 | option freebsd-swapopts "sw"; |
michael@13 | 80 | } |
michael@13 | 81 | } |
michael@13 | 82 | |
michael@13 | 83 | # The list of clients we know, but which get IP addresses from pool |
michael@13 | 84 | group { |
michael@13 | 85 | host quux3 { hardware ethernet 01:02:03:00:00:03; } |
michael@13 | 86 | host quux4 { hardware ethernet 01:02:03:00:00:04; } |
michael@13 | 87 | } |
michael@13 | 88 |