1 | # Master libvirt daemon configuration file |
---|
2 | # |
---|
3 | # For further information consult http://libvirt.org/format.html |
---|
4 | # |
---|
5 | # NOTE: the tests/daemon-conf regression test script requires |
---|
6 | # that each "PARAMETER = VALUE" line in this file have the parameter |
---|
7 | # name just after a leading "#". |
---|
8 | |
---|
9 | ################################################################# |
---|
10 | # |
---|
11 | # Network connectivity controls |
---|
12 | # |
---|
13 | |
---|
14 | # Flag listening for secure TLS connections on the public TCP/IP port. |
---|
15 | # NB, must pass the --listen flag to the libvirtd process for this to |
---|
16 | # have any effect. |
---|
17 | # |
---|
18 | # It is necessary to setup a CA and issue server certificates before |
---|
19 | # using this capability. |
---|
20 | # |
---|
21 | # This is enabled by default, uncomment this to disable it |
---|
22 | #listen_tls = 0 |
---|
23 | |
---|
24 | # Listen for unencrypted TCP connections on the public TCP/IP port. |
---|
25 | # NB, must pass the --listen flag to the libvirtd process for this to |
---|
26 | # have any effect. |
---|
27 | # |
---|
28 | # Using the TCP socket requires SASL authentication by default. Only |
---|
29 | # SASL mechanisms which support data encryption are allowed. This is |
---|
30 | # DIGEST_MD5 and GSSAPI (Kerberos5) |
---|
31 | # |
---|
32 | # This is disabled by default, uncomment this to enable it. |
---|
33 | #listen_tcp = 1 |
---|
34 | |
---|
35 | |
---|
36 | |
---|
37 | # Override the port for accepting secure TLS connections |
---|
38 | # This can be a port number, or service name |
---|
39 | # |
---|
40 | #tls_port = "16514" |
---|
41 | |
---|
42 | # Override the port for accepting insecure TCP connections |
---|
43 | # This can be a port number, or service name |
---|
44 | # |
---|
45 | #tcp_port = "16509" |
---|
46 | |
---|
47 | |
---|
48 | # Override the default configuration which binds to all network |
---|
49 | # interfaces. This can be a numeric IPv4/6 address, or hostname |
---|
50 | # |
---|
51 | # If the libvirtd service is started in parallel with network |
---|
52 | # startup (e.g. with systemd), binding to addresses other than |
---|
53 | # the wildcards (0.0.0.0/::) might not be available yet. |
---|
54 | # |
---|
55 | #listen_addr = "192.168.0.1" |
---|
56 | |
---|
57 | |
---|
58 | # Flag toggling mDNS advertizement of the libvirt service. |
---|
59 | # |
---|
60 | # Alternatively can disable for all services on a host by |
---|
61 | # stopping the Avahi daemon |
---|
62 | # |
---|
63 | # This is disabled by default, uncomment this to enable it |
---|
64 | #mdns_adv = 1 |
---|
65 | |
---|
66 | # Override the default mDNS advertizement name. This must be |
---|
67 | # unique on the immediate broadcast network. |
---|
68 | # |
---|
69 | # The default is "Virtualization Host HOSTNAME", where HOSTNAME |
---|
70 | # is substituted for the short hostname of the machine (without domain) |
---|
71 | # |
---|
72 | #mdns_name = "Virtualization Host Joe Demo" |
---|
73 | |
---|
74 | |
---|
75 | ################################################################# |
---|
76 | # |
---|
77 | # UNIX socket access controls |
---|
78 | # |
---|
79 | |
---|
80 | # Beware that if you are changing *any* of these options, and you use |
---|
81 | # socket activation with systemd, you need to adjust the settings in |
---|
82 | # the libvirtd.socket file as well since it could impose a security |
---|
83 | # risk if you rely on file permission checking only. |
---|
84 | |
---|
85 | # Set the UNIX domain socket group ownership. This can be used to |
---|
86 | # allow a 'trusted' set of users access to management capabilities |
---|
87 | # without becoming root. |
---|
88 | # |
---|
89 | # This is restricted to 'root' by default. |
---|
90 | #unix_sock_group = "libvirt" |
---|
91 | |
---|
92 | # Set the UNIX socket permissions for the R/O socket. This is used |
---|
93 | # for monitoring VM status only |
---|
94 | # |
---|
95 | # Default allows any user. If setting group ownership, you may want to |
---|
96 | # restrict this too. |
---|
97 | #unix_sock_ro_perms = "0777" |
---|
98 | |
---|
99 | # Set the UNIX socket permissions for the R/W socket. This is used |
---|
100 | # for full management of VMs |
---|
101 | # |
---|
102 | # Default allows only root. If PolicyKit is enabled on the socket, |
---|
103 | # the default will change to allow everyone (eg, 0777) |
---|
104 | # |
---|
105 | # If not using PolicyKit and setting group ownership for access |
---|
106 | # control, then you may want to relax this too. |
---|
107 | #unix_sock_rw_perms = "0770" |
---|
108 | |
---|
109 | # Set the UNIX socket permissions for the admin interface socket. |
---|
110 | # |
---|
111 | # Default allows only owner (root), do not change it unless you are |
---|
112 | # sure to whom you are exposing the access to. |
---|
113 | #unix_sock_admin_perms = "0700" |
---|
114 | |
---|
115 | # Set the name of the directory in which sockets will be found/created. |
---|
116 | #unix_sock_dir = "/var/run/libvirt" |
---|
117 | |
---|
118 | |
---|
119 | |
---|
120 | ################################################################# |
---|
121 | # |
---|
122 | # Authentication. |
---|
123 | # |
---|
124 | # - none: do not perform auth checks. If you can connect to the |
---|
125 | # socket you are allowed. This is suitable if there are |
---|
126 | # restrictions on connecting to the socket (eg, UNIX |
---|
127 | # socket permissions), or if there is a lower layer in |
---|
128 | # the network providing auth (eg, TLS/x509 certificates) |
---|
129 | # |
---|
130 | # - sasl: use SASL infrastructure. The actual auth scheme is then |
---|
131 | # controlled from /etc/sasl2/libvirt.conf. For the TCP |
---|
132 | # socket only GSSAPI & DIGEST-MD5 mechanisms will be used. |
---|
133 | # For non-TCP or TLS sockets, any scheme is allowed. |
---|
134 | # |
---|
135 | # - polkit: use PolicyKit to authenticate. This is only suitable |
---|
136 | # for use on the UNIX sockets. The default policy will |
---|
137 | # require a user to supply their own password to gain |
---|
138 | # full read/write access (aka sudo like), while anyone |
---|
139 | # is allowed read/only access. |
---|
140 | # |
---|
141 | # Set an authentication scheme for UNIX read-only sockets |
---|
142 | # By default socket permissions allow anyone to connect |
---|
143 | # |
---|
144 | # To restrict monitoring of domains you may wish to enable |
---|
145 | # an authentication mechanism here |
---|
146 | #auth_unix_ro = "none" |
---|
147 | |
---|
148 | # Set an authentication scheme for UNIX read-write sockets |
---|
149 | # By default socket permissions only allow root. If PolicyKit |
---|
150 | # support was compiled into libvirt, the default will be to |
---|
151 | # use 'polkit' auth. |
---|
152 | # |
---|
153 | # If the unix_sock_rw_perms are changed you may wish to enable |
---|
154 | # an authentication mechanism here |
---|
155 | #auth_unix_rw = "none" |
---|
156 | |
---|
157 | # Change the authentication scheme for TCP sockets. |
---|
158 | # |
---|
159 | # If you don't enable SASL, then all TCP traffic is cleartext. |
---|
160 | # Don't do this outside of a dev/test scenario. For real world |
---|
161 | # use, always enable SASL and use the GSSAPI or DIGEST-MD5 |
---|
162 | # mechanism in /etc/sasl2/libvirt.conf |
---|
163 | #auth_tcp = "sasl" |
---|
164 | |
---|
165 | # Change the authentication scheme for TLS sockets. |
---|
166 | # |
---|
167 | # TLS sockets already have encryption provided by the TLS |
---|
168 | # layer, and limited authentication is done by certificates |
---|
169 | # |
---|
170 | # It is possible to make use of any SASL authentication |
---|
171 | # mechanism as well, by using 'sasl' for this option |
---|
172 | #auth_tls = "none" |
---|
173 | |
---|
174 | |
---|
175 | # Change the API access control scheme |
---|
176 | # |
---|
177 | # By default an authenticated user is allowed access |
---|
178 | # to all APIs. Access drivers can place restrictions |
---|
179 | # on this. By default the 'nop' driver is enabled, |
---|
180 | # meaning no access control checks are done once a |
---|
181 | # client has authenticated with libvirtd |
---|
182 | # |
---|
183 | #access_drivers = [ "polkit" ] |
---|
184 | |
---|
185 | ################################################################# |
---|
186 | # |
---|
187 | # TLS x509 certificate configuration |
---|
188 | # |
---|
189 | |
---|
190 | |
---|
191 | # Override the default server key file path |
---|
192 | # |
---|
193 | #key_file = "/etc/pki/libvirt/private/serverkey.pem" |
---|
194 | |
---|
195 | # Override the default server certificate file path |
---|
196 | # |
---|
197 | #cert_file = "/etc/pki/libvirt/servercert.pem" |
---|
198 | |
---|
199 | # Override the default CA certificate path |
---|
200 | # |
---|
201 | #ca_file = "/etc/pki/CA/cacert.pem" |
---|
202 | |
---|
203 | # Specify a certificate revocation list. |
---|
204 | # |
---|
205 | # Defaults to not using a CRL, uncomment to enable it |
---|
206 | #crl_file = "/etc/pki/CA/crl.pem" |
---|
207 | |
---|
208 | |
---|
209 | |
---|
210 | ################################################################# |
---|
211 | # |
---|
212 | # Authorization controls |
---|
213 | # |
---|
214 | |
---|
215 | |
---|
216 | # Flag to disable verification of our own server certificates |
---|
217 | # |
---|
218 | # When libvirtd starts it performs some sanity checks against |
---|
219 | # its own certificates. |
---|
220 | # |
---|
221 | # Default is to always run sanity checks. Uncommenting this |
---|
222 | # will disable sanity checks which is not a good idea |
---|
223 | #tls_no_sanity_certificate = 1 |
---|
224 | |
---|
225 | # Flag to disable verification of client certificates |
---|
226 | # |
---|
227 | # Client certificate verification is the primary authentication mechanism. |
---|
228 | # Any client which does not present a certificate signed by the CA |
---|
229 | # will be rejected. |
---|
230 | # |
---|
231 | # Default is to always verify. Uncommenting this will disable |
---|
232 | # verification - make sure an IP whitelist is set |
---|
233 | #tls_no_verify_certificate = 1 |
---|
234 | |
---|
235 | |
---|
236 | # A whitelist of allowed x509 Distinguished Names |
---|
237 | # This list may contain wildcards such as |
---|
238 | # |
---|
239 | # "C=GB,ST=London,L=London,O=Red Hat,CN=*" |
---|
240 | # |
---|
241 | # See the POSIX fnmatch function for the format of the wildcards. |
---|
242 | # |
---|
243 | # NB If this is an empty list, no client can connect, so comment out |
---|
244 | # entirely rather than using empty list to disable these checks |
---|
245 | # |
---|
246 | # By default, no DN's are checked |
---|
247 | #tls_allowed_dn_list = ["DN1", "DN2"] |
---|
248 | |
---|
249 | |
---|
250 | # A whitelist of allowed SASL usernames. The format for usernames |
---|
251 | # depends on the SASL authentication mechanism. Kerberos usernames |
---|
252 | # look like username@REALM |
---|
253 | # |
---|
254 | # This list may contain wildcards such as |
---|
255 | # |
---|
256 | # "*@EXAMPLE.COM" |
---|
257 | # |
---|
258 | # See the POSIX fnmatch function for the format of the wildcards. |
---|
259 | # |
---|
260 | # NB If this is an empty list, no client can connect, so comment out |
---|
261 | # entirely rather than using empty list to disable these checks |
---|
262 | # |
---|
263 | # By default, no Username's are checked |
---|
264 | #sasl_allowed_username_list = ["joe@EXAMPLE.COM", "fred@EXAMPLE.COM" ] |
---|
265 | |
---|
266 | |
---|
267 | |
---|
268 | ################################################################# |
---|
269 | # |
---|
270 | # Processing controls |
---|
271 | # |
---|
272 | |
---|
273 | # The maximum number of concurrent client connections to allow |
---|
274 | # over all sockets combined. |
---|
275 | #max_clients = 5000 |
---|
276 | |
---|
277 | # The maximum length of queue of connections waiting to be |
---|
278 | # accepted by the daemon. Note, that some protocols supporting |
---|
279 | # retransmission may obey this so that a later reattempt at |
---|
280 | # connection succeeds. |
---|
281 | #max_queued_clients = 1000 |
---|
282 | |
---|
283 | # The maximum length of queue of accepted but not yet |
---|
284 | # authenticated clients. The default value is zero, meaning |
---|
285 | # the feature is disabled. |
---|
286 | #max_anonymous_clients = 20 |
---|
287 | |
---|
288 | # The minimum limit sets the number of workers to start up |
---|
289 | # initially. If the number of active clients exceeds this, |
---|
290 | # then more threads are spawned, up to max_workers limit. |
---|
291 | # Typically you'd want max_workers to equal maximum number |
---|
292 | # of clients allowed |
---|
293 | #min_workers = 5 |
---|
294 | #max_workers = 20 |
---|
295 | |
---|
296 | |
---|
297 | # The number of priority workers. If all workers from above |
---|
298 | # pool are stuck, some calls marked as high priority |
---|
299 | # (notably domainDestroy) can be executed in this pool. |
---|
300 | #prio_workers = 5 |
---|
301 | |
---|
302 | # Total global limit on concurrent RPC calls. Should be |
---|
303 | # at least as large as max_workers. Beyond this, RPC requests |
---|
304 | # will be read into memory and queued. This directly impacts |
---|
305 | # memory usage, currently each request requires 256 KB of |
---|
306 | # memory. So by default up to 5 MB of memory is used |
---|
307 | # |
---|
308 | # XXX this isn't actually enforced yet, only the per-client |
---|
309 | # limit is used so far |
---|
310 | #max_requests = 20 |
---|
311 | |
---|
312 | # Limit on concurrent requests from a single client |
---|
313 | # connection. To avoid one client monopolizing the server |
---|
314 | # this should be a small fraction of the global max_requests |
---|
315 | # and max_workers parameter |
---|
316 | #max_client_requests = 5 |
---|
317 | |
---|
318 | # Same processing controls, but this time for the admin interface. |
---|
319 | # For description of each option, be so kind to scroll few lines |
---|
320 | # upwards. |
---|
321 | |
---|
322 | #admin_min_workers = 1 |
---|
323 | #admin_max_workers = 5 |
---|
324 | #admin_max_clients = 5 |
---|
325 | #admin_max_queued_clients = 5 |
---|
326 | #admin_max_client_requests = 5 |
---|
327 | |
---|
328 | ################################################################# |
---|
329 | # |
---|
330 | # Logging controls |
---|
331 | # |
---|
332 | |
---|
333 | # Logging level: 4 errors, 3 warnings, 2 information, 1 debug |
---|
334 | # basically 1 will log everything possible |
---|
335 | # Note: Journald may employ rate limiting of the messages logged |
---|
336 | # and thus lock up the libvirt daemon. To use the debug level with |
---|
337 | # journald you have to specify it explicitly in 'log_outputs', otherwise |
---|
338 | # only information level messages will be logged. |
---|
339 | #log_level = 3 |
---|
340 | |
---|
341 | # Logging filters: |
---|
342 | # A filter allows to select a different logging level for a given category |
---|
343 | # of logs |
---|
344 | # The format for a filter is one of: |
---|
345 | # x:name |
---|
346 | # x:+name |
---|
347 | |
---|
348 | # where name is a string which is matched against the category |
---|
349 | # given in the VIR_LOG_INIT() at the top of each libvirt source |
---|
350 | # file, e.g., "remote", "qemu", or "util.json" (the name in the |
---|
351 | # filter can be a substring of the full category name, in order |
---|
352 | # to match multiple similar categories), the optional "+" prefix |
---|
353 | # tells libvirt to log stack trace for each message matching |
---|
354 | # name, and x is the minimal level where matching messages should |
---|
355 | # be logged: |
---|
356 | |
---|
357 | # 1: DEBUG |
---|
358 | # 2: INFO |
---|
359 | # 3: WARNING |
---|
360 | # 4: ERROR |
---|
361 | # |
---|
362 | # Multiple filters can be defined in a single @filters, they just need to be |
---|
363 | # separated by spaces. |
---|
364 | # |
---|
365 | # e.g. to only get warning or errors from the remote layer and only errors |
---|
366 | # from the event layer: |
---|
367 | #log_filters="3:remote 4:event" |
---|
368 | |
---|
369 | # Logging outputs: |
---|
370 | # An output is one of the places to save logging information |
---|
371 | # The format for an output can be: |
---|
372 | # x:stderr |
---|
373 | # output goes to stderr |
---|
374 | # x:syslog:name |
---|
375 | # use syslog for the output and use the given name as the ident |
---|
376 | # x:file:file_path |
---|
377 | # output to a file, with the given filepath |
---|
378 | # x:journald |
---|
379 | # output to journald logging system |
---|
380 | # In all case the x prefix is the minimal level, acting as a filter |
---|
381 | # 1: DEBUG |
---|
382 | # 2: INFO |
---|
383 | # 3: WARNING |
---|
384 | # 4: ERROR |
---|
385 | # |
---|
386 | # Multiple outputs can be defined, they just need to be separated by spaces. |
---|
387 | # e.g. to log all warnings and errors to syslog under the libvirtd ident: |
---|
388 | #log_outputs="3:syslog:libvirtd" |
---|
389 | # |
---|
390 | |
---|
391 | # Log debug buffer size: |
---|
392 | # |
---|
393 | # This configuration option is no longer used, since the global |
---|
394 | # log buffer functionality has been removed. Please configure |
---|
395 | # suitable log_outputs/log_filters settings to obtain logs. |
---|
396 | #log_buffer_size = 64 |
---|
397 | |
---|
398 | |
---|
399 | ################################################################## |
---|
400 | # |
---|
401 | # Auditing |
---|
402 | # |
---|
403 | # This setting allows usage of the auditing subsystem to be altered: |
---|
404 | # |
---|
405 | # audit_level == 0 -> disable all auditing |
---|
406 | # audit_level == 1 -> enable auditing, only if enabled on host (default) |
---|
407 | # audit_level == 2 -> enable auditing, and exit if disabled on host |
---|
408 | # |
---|
409 | #audit_level = 2 |
---|
410 | # |
---|
411 | # If set to 1, then audit messages will also be sent |
---|
412 | # via libvirt logging infrastructure. Defaults to 0 |
---|
413 | # |
---|
414 | #audit_logging = 1 |
---|
415 | |
---|
416 | ################################################################### |
---|
417 | # UUID of the host: |
---|
418 | # Provide the UUID of the host here in case the command |
---|
419 | # 'dmidecode -s system-uuid' does not provide a valid uuid. In case |
---|
420 | # 'dmidecode' does not provide a valid UUID and none is provided here, a |
---|
421 | # temporary UUID will be generated. |
---|
422 | # Keep the format of the example UUID below. UUID must not have all digits |
---|
423 | # be the same. |
---|
424 | |
---|
425 | # NB This default all-zeros UUID will not work. Replace |
---|
426 | # it with the output of the 'uuidgen' command and then |
---|
427 | # uncomment this entry |
---|
428 | #host_uuid = "00000000-0000-0000-0000-000000000000" |
---|
429 | |
---|
430 | ################################################################### |
---|
431 | # Keepalive protocol: |
---|
432 | # This allows libvirtd to detect broken client connections or even |
---|
433 | # dead clients. A keepalive message is sent to a client after |
---|
434 | # keepalive_interval seconds of inactivity to check if the client is |
---|
435 | # still responding; keepalive_count is a maximum number of keepalive |
---|
436 | # messages that are allowed to be sent to the client without getting |
---|
437 | # any response before the connection is considered broken. In other |
---|
438 | # words, the connection is automatically closed approximately after |
---|
439 | # keepalive_interval * (keepalive_count + 1) seconds since the last |
---|
440 | # message received from the client. If keepalive_interval is set to |
---|
441 | # -1, libvirtd will never send keepalive requests; however clients |
---|
442 | # can still send them and the daemon will send responses. When |
---|
443 | # keepalive_count is set to 0, connections will be automatically |
---|
444 | # closed after keepalive_interval seconds of inactivity without |
---|
445 | # sending any keepalive messages. |
---|
446 | # |
---|
447 | #keepalive_interval = 5 |
---|
448 | #keepalive_count = 5 |
---|
449 | |
---|
450 | # |
---|
451 | # These configuration options are no longer used. There is no way to |
---|
452 | # restrict such clients from connecting since they first need to |
---|
453 | # connect in order to ask for keepalive. |
---|
454 | # |
---|
455 | #keepalive_required = 1 |
---|
456 | #admin_keepalive_required = 1 |
---|
457 | |
---|
458 | # Keepalive settings for the admin interface |
---|
459 | #admin_keepalive_interval = 5 |
---|
460 | #admin_keepalive_count = 5 |
---|