mirror of
https://github.com/speatzle/nfsense.git
synced 2025-05-11 02:48:21 +00:00
46 lines
No EOL
1.5 KiB
Cheetah
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}} |