12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- # {{ ansible_managed }}
- #
- # DHCP Server Configuration file.
- # see /usr/share/doc/dhcp*/dhcpd.conf.example
- # see dhcpd.conf(5) man page
- #
- authoritative;
- default-lease-time 43200; # 12 hours
- max-lease-time 86400; # 24 hours
- subnet {{ dhcp_cidr|ansible.utils.ipaddr('network') }} netmask {{ dhcp_cidr|ansible.utils.ipaddr('netmask') }} {
- option routers {{ dhcp_gw_default }};
- option domain-name-servers {{ dhcp_gw_secured }}, {{ dns_primary }}, {{ dns_secondary }};
- option domain-name "{{ dhcp_domain }}";
- # Dynamic IPs
- range {{ dhcp_range_start }} {{ dhcp_range_end }};
- class "secured" {
- option routers {{ dhcp_gw_secured }};
- match hardware;
- }
- class "cloudflare" {
- option domain-name-servers 1.1.1.3, 1.0.0.3; # cloudflare block malware + porn
- match hardware;
- }
- class "betagate" {
- option domain-name-servers 1.1.1.3, 1.0.0.3; # cloudflare block malware + porn
- option routers {{ dhcp_gw_betagate }};
- match hardware;
- }
- class "devnull" {
- option domain-name-servers 127.0.0.1;
- match hardware;
- }
- # nothing in here (yet)
- class "default" {
- match hardware;
- }
- {% for node in reservations %}
- subclass "{{ node.type }}" 1:{{ node.mac }}; # {{ node.name }}
- {% endfor %}
- {% for node in reservations %}
- host {{ node.name }}
- {
- hardware ethernet {{ node.mac }};
- fixed-address {{ node.ip }};
- }
- {% endfor %}
- }
|