dhcpd-formula/pillar.example

144 строки
5.3 KiB
Plaintext

dhcpd:
domain_name: example.org
domain_search:
- domain.example.org
- domain2.example.org
domain_name_servers:
- ns1.example.org
- ns2.example.org
default_lease_time: 600
max_lease_time: 7200
log_facility: local7
failover_peers:
dhcp-failover:
primary: true
address: 10.152.187.5
port: 647
peer_address: 10.152.187.6
peer_port: 647
listen_interfaces:
- em1
- em2
subnets:
10.152.187.0:
comment: |
No service will be given on this subnet, but declaring it helps the
DHCP server to understand the network topology.
netmask: 255.255.255.0
pools:
- failover_peer: dhcp-failover
range:
- 10.152.187.1
- 10.152.187.254
10.254.239.0:
comment: This is a very basic subnet declaration.
netmask: 255.255.255.224
range:
- 10.254.239.10
- 10.254.239.20
routers:
- rtr-239-0-1.example.org
- rtr-239-0-2.example.org
10.254.239.32:
comment: |
This declaration allows BOOTP clients to get dynamic addresses,
which we don't really recommend.
netmask: 255.255.255.224
dynamic_bootp: True
range:
- 10.254.239.40
- 10.254.239.60
broadcast_address: 10.254.239.31
routers: rtr-239-32-1.example.org
10.5.5.0:
comment: A slightly different configuration for an internal subnet.
netmask: 255.255.255.224
range:
- 10.5.5.26
- 10.5.5.30
domain_name_servers: ns1.internal.example.org
domain_name: internal.example.org
routers:
- 10.5.5.1
broadcast_address: 10.5.5.31
default_lease_time: 600
max_lease_time: 7200
# End of subnets
hosts:
passacaglia:
comment: |
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.
# We're lucky we don't need the MAC as a key...
hardware: ethernet 0:0:c0:5d:bd:95
filename: vmunix.passacaglia
server_name: toccata.fugue.com
fantasia:
comment: |
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.
hardware: ethernet 08:00:07:26:c0:a5
fixed_address: fantasia.fugue.com
joe:
comment: |
The hostname for a host can be passed in the DHCP response. Using the
host_name key sets option host-name in the dhcpd configuration.
hardware: ethernet 08:00:2b:4c:29:32
fixed_address: joe.fugue.com
host_name: joe
classes:
foo:
comment: |
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.
# I'm suprised this works...
match: if substring (option vendor-class-identifier, 0, 4) = "SUNW"
shared_networks:
224-29:
subnets:
10.17.224.0:
netmask: 255.255.255.0
routers: rtr-224.example.org
10.0.29.0:
netmask: 255.255.255.0
routers: rtr-29.example.org
pools:
# And no, those quotation marks won't get stripped:
- allow: members of "foo"
range:
- 10.17.224.10
- 10.17.224.250
- deny: members of "foo"
range:
- 10.0.29.10
- 10.0.29.230
# DHCP allow customized options, which, once declared, can be used as same as the default options
# on every level, e.g. as global or subnet option.
# These options will be declared on top of dhcpd.conf.
# They consist of a NAME (Attention! '_' will be replaced by '-'), a CODE number
# and a DATATYPE (e.g. string, text, integer, ip-address)
customized_options:
# unique option name, e.g. 'auto_proxy_config' will be 'auto-proxy-config'
auto_proxy_config:
code: 252
type: string