summaryrefslogtreecommitdiffstats
path: root/doc/examples/ddns/all-keys.json
blob: 7de1703e329c969d679246c3e7f365b77a7c2057 (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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
// WARNING: This example configuration is not meant for production use.
// The Kea Kea's DHCP-DDNS server can refuse this configuration because
// it may contain mutually exclusive configuration parameters.
//
// The primary purpose of the example file is to provide a comprehensive
// list of parameters supported by Kea DHCP-DDNS server along with the
// brief description of each parameter.
//
// This current version should be up to date, i.e. new keywords should be
// added in this file at the same time than in the syntax.
{
    // Kea DHCP-DDNS server configuration begins here.
    "DhcpDdns": {

    // Global Parameters

    // IP address D2 will listen for update requests at.
    // Default is 127.0.0.1
    "ip-address": "127.0.0.1",

    // Port D2 will listen for update requests on.
    // Default is 53001.
    "port": 53001,

    // Maximum time to we will wait for a DNS server to respond to us.
    // Unit is the millisecond, default is 100ms.
    "dns-server-timeout" : 100,

    // Protocol to use for Name Change Requests from a Kea DHCP server.
    // Currently only 'UDP' is supported.
    "ncr-protocol": "UDP",

    // Format to use for Name Change Requests from a Kea DHCP server.
    // Currently only 'JSON' is supported.
    "ncr-format": "JSON",

    // Command control socket configuration parameters for Kea DHCP-DDNS server.
    "control-socket": {

        // Location of the unix domain socket file the DHCP-DDNS server uses
        // to receive control commands from the Kea Control Agent or the
        // local server administrator.
        "socket-name": "/tmp/kea-ddns-ctrl-socket",

        // Control socket type used by the Kea DHCP-DDNS server.
        // The 'unix' socket is currently the only supported type.
        "socket-type": "unix"
    },

    // List of hooks libraries and their specific configuration parameters
    // to be loaded by Kea DHCP-DDNS server.
    "hooks-libraries": [
        {
            // Location of the hooks library to be loaded.
            "library": "/opt/local/ddns-server-commands.so",

            // Hook library specific configuration parameters.
            "parameters": { }
        }
    ],

    // Forward DDNS (Dynamic DNS).
    "forward-ddns": {

        // List of DDNS domains.
        "ddns-domains": [
            {
                // Name of the zone (required).
                "name": "example.com.",

                // Name of the TSIG key used to protect DNS updates for
                // names in the domain.
                "key-name": "d2.md5.key",

                // List of DNS servers where to send DNS updates.
                "dns-servers": [
                    {
                        // DNS server IP address (required).
                        "ip-address": "2001:db8:1::10",

                        // DNS server UDP port. Default is 53 (DNS service).
                        "port": 7802,

                        // Name of the TSIG key used to protect DNS updates
                        // sent to the DNS server.
                        "key-name": "d2.sha1.key"
                    }
                ]
            }
        ]
    },

    // Reverse DDNS (Dynamic DNS).
    "reverse-ddns": {

        // List of DDNS domains.
        "ddns-domains": [
            {
                // Name of the zone (required).
                "name": "2.0.192.in-addr.arpa.",

                // Name of the TSIG key used to protect DNS updates for
                // names in the domain.
                "key-name": "d2.sha1.key",

                // List of DNS servers where to send DNS updates.
                "dns-servers": [
                    {
                        // DNS server IP address (required).
                        "ip-address": "172.16.1.1",

                        // DNS server UDP port. Default is 53 (DNS service).
                        "port": 5301,

                        // Name of the TSIG key used to protect DNS updates
                        "key-name": "d2.md5.key"
                    }
                ]
            }
        ]
    },

    // List of TSIG keys used to protect DNS updates.
    "tsig-keys": [
        {
            // Name of the TSIG key (required).
            "name": "d2.md5.key",

            // Algorithm of the TSIG key (required).
            // The value must be a valid algorithm name e.g.
            // HMAC-MD5, HMAC-SHA1, HMAC-SHA224, ...
            "algorithm": "HMAC-MD5",

            // Number of bits in the digest. Default is 0 which means
            // to use all bits provided by the algorithm. Too short values
            // (depending on the algorithm) are rejected.
            "digest-bits": 0,

            // Secret of the TSIG key (required) in base-64.
            "secret": "LSWXnfkKZjdPJI5QxlpnfQ=="
        }
    ],

    // List of loggers used by the servers using this configuration file.
    "loggers": [
        {
            // Debug level, a value between 0..99. The greater the value
            // the more detailed debug log.
            "debuglevel": 99,

            // Name of the logger.
            "name": "kea-dhcp-ddns",

            // Configures how the log should be output.
            "output_options": [
                {
                    // Determines whether the log should flushed to a file.
                    "flush": true,

                    // Specifies maximum filesize before the file is being rotated.
                    "maxsize": 10240000,

                    // Specifies the maximum number of rotated files being kept.
                    "maxver": 1,

                    // Specifies logging destination.
                    "output": "stdout",

                    // Specifies log entry content
                    "pattern": "%D{%Y-%m-%d %H:%M:%S.%q} %-5p [%c/%i] %m\n"
                }
            ],

            // Specifies logging severity, i.e. "ERROR", "WARN", "INFO", "DEBUG".
            "severity": "INFO"
        }
    ],

    // Look at sample1 example for the use of user-contexts.
    "user-context": { }
}

}