29 lines
1.3 KiB
Django/Jinja
29 lines
1.3 KiB
Django/Jinja
# {{ gateway_config.lab_name }} DHCP configuration
|
|
interface=br-{{ gateway_config.lab_name }}
|
|
bind-interfaces
|
|
|
|
{% if gateway_config.dhcp_role == 'primary' %}
|
|
# Primary DHCP server
|
|
dhcp-range={{ gateway_config.subnet | ipaddr('10') | ipaddr('address') }},{{ gateway_config.subnet | ipaddr('127') | ipaddr('address') }},{{ gateway_config.subnet | ipaddr('netmask') }},12h
|
|
{% elif gateway_config.dhcp_role == 'secondary' %}
|
|
# Secondary DHCP server (split range)
|
|
dhcp-range={{ gateway_config.subnet | ipaddr('128') | ipaddr('address') }},{{ gateway_config.subnet | ipaddr('245') | ipaddr('address') }},{{ gateway_config.subnet | ipaddr('netmask') }},12h
|
|
{% else %}
|
|
# Backup server (only responds if others fail)
|
|
dhcp-range={{ gateway_config.subnet | ipaddr('10') | ipaddr('address') }},{{ gateway_config.subnet | ipaddr('245') | ipaddr('address') }},{{ gateway_config.subnet | ipaddr('netmask') }},12h
|
|
{% endif %}
|
|
|
|
dhcp-option=option:router,{{ gateway_config.subnet | ipaddr('1') | ipaddr('address') }}
|
|
dhcp-option=option:dns-server,{{ gateway_config.subnet | ipaddr('1') | ipaddr('address') }}
|
|
|
|
# Local DNS domain
|
|
domain={{ gateway_config.lab_name }}.lab
|
|
local=/{{ gateway_config.lab_name }}.lab/
|
|
|
|
# Lease file
|
|
dhcp-leasefile=/var/lib/misc/dnsmasq.{{ gateway_config.lab_name }}.leases
|
|
|
|
# Logging
|
|
log-dhcp
|
|
log-queries
|