liburcu: Update to 0.8.6
[feed/packages.git] / net / ocserv / files / ocserv.conf.template
1 # User authentication method. Could be set multiple times and in that case
2 # all should succeed.
3 # Options: certificate, pam.
4 #auth = "certificate"
5 #auth = "pam"
6
7 # The gid-min option is used by auto-select-group option, in order to
8 # select the minimum group ID.
9 #auth = "pam[gid-min=1000]"
10
11 # The plain option requires specifying a password file which contains
12 # entries of the following format.
13 # "username:groupname:encoded-password"
14 # One entry must be listed per line, and 'ocpasswd' can be used
15 # to generate password entries.
16 auth = "|AUTH|"
17
18 # A banner to be displayed on clients
19 banner = "Welcome to OpenWRT"
20
21 # Use listen-host to limit to specific IPs or to the IPs of a provided
22 # hostname.
23 #listen-host = [IP|HOSTNAME]
24
25 # Limit the number of clients. Unset or set to zero for unlimited.
26 #max-clients = 1024
27 max-clients = |MAX_CLIENTS|
28
29 # Limit the number of client connections to one every X milliseconds
30 # (X is the provided value). Set to zero for no limit.
31 #rate-limit-ms = 100
32
33 # Limit the number of identical clients (i.e., users connecting
34 # multiple times). Unset or set to zero for unlimited.
35 max-same-clients = |MAX_SAME|
36
37 # TCP and UDP port number
38 tcp-port = |PORT|
39 |UDP|udp-port = |PORT|
40
41 # Keepalive in seconds
42 keepalive = 32400
43
44 # Dead peer detection in seconds.
45 dpd = |DPD|
46
47 # Dead peer detection for mobile clients. The needs to
48 # be much higher to prevent such clients being awaken too
49 # often by the DPD messages, and save battery.
50 # (clients that send the X-AnyConnect-Identifier-DeviceType)
51 #mobile-dpd = 1800
52
53 # MTU discovery (DPD must be enabled)
54 try-mtu-discovery = false
55
56 # The key and the certificates of the server
57 # The key may be a file, or any URL supported by GnuTLS (e.g.,
58 # tpmkey:uuid=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx;storage=user
59 # or pkcs11:object=my-vpn-key;object-type=private)
60 #
61 # There may be multiple certificate and key pairs and each key
62 # should correspond to the preceding certificate.
63 server-cert = /etc/ocserv/server-cert.pem
64 server-key = /etc/ocserv/server-key.pem
65
66 # Diffie-Hellman parameters. Only needed if you require support
67 # for the DHE ciphersuites (by default this server supports ECDHE).
68 # Can be generated using:
69 # certtool --generate-dh-params --outfile /path/to/dh.pem
70 #dh-params = /path/to/dh.pem
71
72 # If you have a certificate from a CA that provides an OCSP
73 # service you may provide a fresh OCSP status response within
74 # the TLS handshake. That will prevent the client from connecting
75 # independently on the OCSP server.
76 # You can update this response periodically using:
77 # ocsptool --ask --load-cert=your_cert --load-issuer=your_ca --outfile response
78 # Make sure that you replace the following file in an atomic way.
79 #ocsp-response = /path/to/ocsp.der
80
81 # In case PKCS #11 or TPM keys are used the PINs should be available
82 # in files. The srk-pin-file is applicable to TPM keys only, and is the
83 # storage root key.
84 #pin-file = /path/to/pin.txt
85 #srk-pin-file = /path/to/srkpin.txt
86
87 # The Certificate Authority that will be used to verify
88 # client certificates (public keys) if certificate authentication
89 # is set.
90 #ca-cert = /etc/ocserv/ca.pem
91
92 # The object identifier that will be used to read the user ID in the client
93 # certificate. The object identifier should be part of the certificate's DN
94 # Useful OIDs are:
95 # CN = 2.5.4.3, UID = 0.9.2342.19200300.100.1.1
96 #cert-user-oid = 0.9.2342.19200300.100.1.1
97
98 # The object identifier that will be used to read the user group in the
99 # client certificate. The object identifier should be part of the certificate's
100 # DN. Useful OIDs are:
101 # OU (organizational unit) = 2.5.4.11
102 #cert-group-oid = 2.5.4.11
103
104 # The revocation list of the certificates issued by the 'ca-cert' above.
105 #crl = /etc/ocserv/crl.pem
106
107 # GnuTLS priority string
108 tls-priorities = "NORMAL:%SERVER_PRECEDENCE:%COMPAT"
109
110 # To enforce perfect forward secrecy (PFS) on the main channel.
111 #tls-priorities = "NORMAL:%SERVER_PRECEDENCE:%COMPAT:-RSA"
112
113 # The time (in seconds) that a client is allowed to stay connected prior
114 # to authentication
115 auth-timeout = 40
116
117 # The time (in seconds) that a client is allowed to stay idle (no traffic)
118 # before being disconnected. Unset to disable.
119 #idle-timeout = 1200
120
121 # The time (in seconds) that a mobile client is allowed to stay idle (no
122 # traffic) before being disconnected. Unset to disable.
123 #mobile-idle-timeout = 2400
124
125 # The time (in seconds) that a client is not allowed to reconnect after
126 # a failed authentication attempt.
127 #min-reauth-time = 2
128
129 # Cookie timeout (in seconds)
130 # which he can reconnect. That cookie will be invalided if not
131 # used within this timeout value. On a user disconnection, that
132 # cookie will also be active for this time amount prior to be
133 # invalid. That should allow a reasonable amount of time for roaming
134 # between different networks.
135 cookie-timeout = 300
136
137 # Whether roaming is allowed, i.e., if true a cookie is
138 # restricted to a single IP address and cannot be re-used
139 # from a different IP.
140 deny-roaming = false
141
142 # ReKey time (in seconds)
143 # ocserv will ask the client to refresh keys periodically once
144 # this amount of seconds is elapsed. Set to zero to disable.
145 rekey-time = 172800
146
147 # ReKey method
148 # Valid options: ssl, new-tunnel
149 # ssl: Will perform an efficient rehandshake on the channel allowing
150 # a seamless connection during rekey.
151 # new-tunnel: Will instruct the client to discard and re-establish the channel.
152 # Use this option only if the connecting clients have issues with the ssl
153 # option.
154 rekey-method = ssl
155
156 # Script to call when a client connects and obtains an IP
157 # Parameters are passed on the environment.
158 # REASON, USERNAME, GROUPNAME, HOSTNAME (the hostname selected by client),
159 # DEVICE, IP_REAL (the real IP of the client), IP_LOCAL (the local IP
160 # in the P-t-P connection), IP_REMOTE (the VPN IP of the client),
161 # ID (a unique numeric ID); REASON may be "connect" or "disconnect".
162 connect-script = /usr/bin/ocserv-script
163 disconnect-script = /usr/bin/ocserv-script
164
165 # UTMP
166 use-utmp = false
167
168 # Whether to enable support for the occtl tool (i.e., either through D-BUS,
169 # or via a unix socket).
170 use-occtl = true
171
172 # socket file used for IPC with occtl. You only need to set that,
173 # if you use more than a single servers.
174 occtl-socket-file = /var/run/occtl.socket
175
176 # PID file. It can be overriden in the command line.
177 pid-file = /var/run/ocserv.pid
178
179 # The default server directory. Does not require any devices present.
180 chroot-dir = /var/lib/ocserv
181
182 # socket file used for IPC, will be appended with .PID
183 # It must be accessible within the chroot environment (if any)
184 #socket-file = /var/run/ocserv-socket
185 socket-file = ocserv-socket
186
187 # The user the worker processes will be run as. It should be
188 # unique (no other services run as this user).
189 run-as-user = ocserv
190 run-as-group = ocserv
191
192 # Set the protocol-defined priority (SO_PRIORITY) for packets to
193 # be sent. That is a number from 0 to 6 with 0 being the lowest
194 # priority. Alternatively this can be used to set the IP Type-
195 # Of-Service, by setting it to a hexadecimal number (e.g., 0x20).
196 # This can be set per user/group or globally.
197 #net-priority = 3
198
199 # Set the VPN worker process into a specific cgroup. This is Linux
200 # specific and can be set per user/group or globally.
201 #cgroup = "cpuset,cpu:test"
202
203 #
204 # Network settings
205 #
206
207 # The name of the tun device
208 device = vpns
209
210 # Whether the generated IPs will be predictable, i.e., IP stays the
211 # same for the same user when possible.
212 predictable-ips = |PREDICTABLE_IPS|
213
214 # The default domain to be advertised
215 #default-domain = example.com
216
217 # The pool of addresses that leases will be given from.
218 ipv4-network = |IPV4ADDR|
219 ipv4-netmask = |NETMASK|
220
221 # The advertized DNS server. Use multiple lines for
222 # multiple servers.
223 # dns = fc00::4be0
224 #dns = 192.168.1.2
225
226 # The NBNS server (if any)
227 #nbns = 192.168.1.3
228
229 # The IPv6 subnet that leases will be given from.
230 |ENABLE_IPV6|ipv6-network = |IPV6ADDR|
231 |ENABLE_IPV6|ipv6-prefix = |IPV6PREFIX|
232
233 # The domains over which the provided DNS should be used. Use
234 # multiple lines for multiple domains.
235 #split-dns = example.com
236
237 # Prior to leasing any IP from the pool ping it to verify that
238 # it is not in use by another (unrelated to this server) host.
239 ping-leases = false
240
241 # Unset to assign the default MTU of the device
242 # mtu =
243
244 # Unset to enable bandwidth restrictions (in bytes/sec). The
245 # setting here is global, but can also be set per user or per group.
246 #rx-data-per-sec = 40000
247 #tx-data-per-sec = 40000
248
249 # The number of packets (of MTU size) that are available in
250 # the output buffer. The default is low to improve latency.
251 # Setting it higher will improve throughput.
252 #output-buffer = 10
253
254 # Routes to be forwarded to the client. If you need the
255 # client to forward routes to the server, you may use the
256 # config-per-user/group or even connect and disconnect scripts.
257 #
258 # To set the server as the default gateway for the client just
259 # comment out all routes from the server.
260 #route = 192.168.1.0/255.255.255.0
261 #route = 192.168.5.0/255.255.255.0
262 #route = fef4:db8:1000:1001::/64
263
264 # Configuration files that will be applied per user connection or
265 # per group. Each file name on these directories must match the username
266 # or the groupname.
267 # The options allowed in the configuration files are dns, nbns,
268 # ipv?-network, ipv4-netmask, ipv6-prefix, rx/tx-per-sec, iroute, route,
269 # net-priority and cgroup.
270 #
271 # Note that the 'iroute' option allows to add routes on the server
272 # based on a user or group. The syntax depends on the input accepted
273 # by the commands route-add-cmd and route-del-cmd (see below).
274
275 #config-per-user = /etc/ocserv/config-per-user/
276 #config-per-group = /etc/ocserv/config-per-group/
277
278 # When config-per-xxx is specified and there is no group or user that
279 # matches, then utilize the following configuration.
280
281 #default-user-config = /etc/ocserv/defaults/user.conf
282 #default-group-config = /etc/ocserv/defaults/group.conf
283
284 # Groups that a client is allowed to select from.
285 # A client may belong in multiple groups, and in certain use-cases
286 # it is needed to switch between them. For these cases the client can
287 # select prior to authentication. Add multiple entries for multiple groups.
288 #select-group = group1
289 #select-group = group2[My group 2]
290 #select-group = tost[The tost group]
291
292 # The name of the group that if selected it would allow to use
293 # the assigned by default group.
294 #default-select-group = DEFAULT
295
296 # Instead of specifying manually all the allowed groups, you may instruct
297 # ocserv to scan all available groups and include the full list. That
298 # option is only functional on plain authentication.
299 #auto-select-group = true
300
301 # The system command to use to setup a route. %{R} will be replaced with the
302 # route/mask and %{D} with the (tun) device.
303 #
304 # The following example is from linux systems. %{R} should be something
305 # like 192.168.2.0/24
306
307 #route-add-cmd = "ip route add %{R} dev %{D}"
308 #route-del-cmd = "ip route delete %{R} dev %{D}"
309
310 # This option allows to forward a proxy. The special strings '%{U}'
311 # and '%{G}', if present will be replaced by the username and group name.
312 #proxy-url = http://example.com/
313 #proxy-url = http://example.com/%{U}/%{G}/hello
314
315 #
316 # The following options are for (experimental) AnyConnect client
317 # compatibility.
318
319 # Client profile xml. A sample file exists in doc/profile.xml.
320 # This file must be accessible from inside the worker's chroot.
321 # It is not used by the openconnect client.
322 #user-profile = profile.xml
323
324 # Binary files that may be downloaded by the CISCO client. Must
325 # be within any chroot environment.
326 #binary-files = /path/to/binaries
327
328 # Unless set to false it is required for clients to present their
329 # certificate even if they are authenticating via a previously granted
330 # cookie and complete their authentication in the same TCP connection.
331 # Legacy CISCO clients do not do that, and thus this option should be
332 # set for them.
333 cisco-client-compat = |CISCO_COMPAT|
334
335 #Advanced options
336
337 # Option to allow sending arbitrary custom headers to the client after
338 # authentication and prior to VPN tunnel establishment.
339 #custom-header = "X-My-Header: hi there"