summaryrefslogtreecommitdiff
path: root/data/templates/dhcpv6-server/dhcpdv6.conf.tmpl
blob: aa6d7fb5d23e29bfae4bdfb601aeda4212498d5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
### Autogenerated by dhcpv6_server.py ###

# For options please consult the following website:
# https://www.isc.org/wp-content/uploads/2017/08/dhcp43options.html

log-facility local7;
{% if preference %}
option dhcp6.preference {{ preference }};
{% endif %}

# Shared network configration(s)
{% for network in shared_network %}
{% if not network.disabled %}
shared-network {{ network.name }} {
    {% if network.common.info_refresh_time %}
    option dhcp6.info-refresh-time {{ network.common.info_refresh_time }};
    {% endif %}
    {% if network.common.domain_search %}
    option dhcp6.domain-search "{{ network.common.domain_search | join('", "') }}";
    {% endif %}
    {% if network.common.dns_server %}
    option dhcp6.name-servers {{ network.common.dns_server | join(', ') }};
    {% endif %}
    {% for subnet in network.subnet %}
    subnet6 {{ subnet.network }} {
        {% for range in subnet.range6_prefix %}
        range6 {{ range.prefix }}{{ " temporary" if range.temporary }};
        {% endfor %}
        {% for range in subnet.range6 %}
        range6 {{ range.start }} {{ range.stop }};
        {% endfor %}
        {% if subnet.domain_search %}
        option dhcp6.domain-search "{{ subnet.domain_search | join('", "') }}";
        {% endif %}
        {% if subnet.lease_def %}
        default-lease-time {{ subnet.lease_def }};
        {% endif %}
        {% if subnet.lease_max %}
        max-lease-time {{ subnet.lease_max }};
        {% endif %}
        {% if subnet.lease_min %}
        min-lease-time {{ subnet.lease_min }};
        {% endif %}
        {% if subnet.dns_server %}
        option dhcp6.name-servers {{ subnet.dns_server | join(', ') }};
        {% endif %}
        {% if subnet.nis_domain %}
        option dhcp6.nis-domain-name "{{ subnet.nis_domain }}";
        {% endif %}
        {% if subnet.nis_server %}
        option dhcp6.nis-servers {{ subnet.nis_server | join(', ') }};
        {% endif %}
        {% if subnet.nisp_domain %}
        option dhcp6.nisp-domain-name "{{ subnet.nisp_domain }}";
        {% endif %}
        {% if subnet.nisp_server %}
        option dhcp6.nisp-servers {{ subnet.nisp_server | join(', ') }};
        {% endif %}
        {% if subnet.sip_address %}
        option dhcp6.sip-servers-addresses {{ subnet.sip_address | join(', ') }};
        {% endif %}
        {% if subnet.sip_hostname %}
        option dhcp6.sip-servers-names "{{ subnet.sip_hostname | join('", "') }}";
        {% endif %}
        {% if subnet.sntp_server %}
        option dhcp6.sntp-servers {{ subnet.sntp_server | join(', ') }};
        {% endif %}
        {% for prefix in subnet.prefix_delegation %}
        prefix6 {{ prefix.start }} {{ prefix.stop }} /{{ prefix.length }};
        {% endfor %}
        {% for host in subnet.static_mapping %}
        {% if not host.disabled %}
        host {{ network.name }}_{{ host.name }} {
            {% if host.client_identifier %}
            host-identifier option dhcp6.client-id {{ host.client_identifier }};
            {% endif %}
            {% if host.ipv6_address %}
            fixed-address6 {{ host.ipv6_address }};
            {% endif %}
        }
        {% endif %}
        {% endfor %}
    }
    {% endfor %}
    on commit {
        set shared-networkname = "{{ network.name }}";
    }
}
{% endif %}
{% endfor %}