nfsense/internal/dhcp_server/template/v4_config.tmpl

46 lines
No EOL
1.5 KiB
Cheetah

# Global Options
authoritative;
deny bootp;
deny declines;
one-lease-per-client on;
# Servers
{{- range $i, $server := .Service.DHCPv4Servers }}
subnet {{ getInterfaceNetworkAddress $ $server.Interface }} netmask {{ getInterfaceNetworkMask $ $server.Interface }} {
# Pool
{{- range $j, $p := $server.Pool }}
range {{ getAddressObjectAsPoolRange $ $p }};
{{- end}}
# Settings
default-lease-time {{ getTimeInSecond $server.DefaultLeaseTime }};
max-lease-time {{ getTimeInSecond $server.MaxLeaseTime }};
# Options
option subnet-mask {{ getInterfaceNetworkMask $ $server.Interface }};
option broadcast-address {{ getInterfaceBroadcastAddress $ $server.Interface }};
{{- if eq $server.GatewayMode 1 }}
option routers {{ getInterfaceAddress $ $server.Interface }};
{{- else if eq $server.GatewayMode 2 }}
option routers {{ $server.Gateway }};
{{- end }}
{{- if eq $server.DNSServerMode 1 }}
option domain-name-servers {{ getInterfaceAddress $ $server.Interface }};
{{- else if eq $server.DNSServerMode 2 }}
option domain-name-servers {{ getAddressObjectsAsCommaList $ $server.DNSServers }};
{{- end }}
{{- if eq $server.NTPServerMode 1 }}
option time-servers {{ getInterfaceAddress $ $server.Interface }};
{{- else if eq $server.NTPServerMode 2 }}
option time-servers {{ getAddressObjectsAsCommaList $ $server.NTPServers }};
{{- end }}
# Hosts
{{- range $j, $reservation := $server.Reservations }}
host {{ $j }} {
hardware ethernet $reservation.HardwareAddress;
fixed-address $reservation.IPAddress;
}
{{end}}
}
{{end}}