46 lines
1.4 KiB
Django/Jinja
46 lines
1.4 KiB
Django/Jinja
# {{ ansible_managed }}
|
|
|
|
# option definitions common to all supported networks...
|
|
option domain-name "{{ site_domain }}";
|
|
option domain-name-servers {{ name_server }};
|
|
|
|
local-address {{ batman_ipv4 | ipaddr('address') }};
|
|
|
|
default-lease-time 3600;
|
|
max-lease-time 14400;
|
|
|
|
# Use this to enble / disable dynamic dns updates globally.
|
|
ddns-update-style none;
|
|
|
|
# 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;
|
|
|
|
|
|
# Freifunk Regensburg
|
|
subnet {{ batman_ipv4 | ipaddr('network') }} netmask {{ batman_ipv4 | ipaddr('netmask') }} {
|
|
option routers {{ batman_ipv4 | ipaddr('address') }};
|
|
option interface-mtu {{ dhcpd_mtu }};
|
|
pool {
|
|
range {{ dhcpd_first }} {{ dhcpd_last }} ;
|
|
}
|
|
# use static arp entries to reduce broadcast
|
|
on commit {
|
|
set clip = binary-to-ascii(10, 8, ".", leased-address);
|
|
set clhw = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
|
|
execute("/usr/sbin/arp", "-s", clip, clhw);
|
|
}
|
|
on release {
|
|
set clip = binary-to-ascii(10, 8, ".", leased-address);
|
|
execute("/usr/sbin/arp", "-d", clip);
|
|
}
|
|
on expiry {
|
|
set clip = binary-to-ascii(10, 8, ".", leased-address);
|
|
execute("/usr/sbin/arp", "-d", clip);
|
|
}
|
|
}
|