The IPv4 bind_host inside the config object type, works as expected. When one wants to bind the service to an IPv6 address the syntax is a) counter-intuitive, b) it is not possible to bind to all IPv6 addresses on the machine/interface, like it is possible in the IPv4 variant and c) it would be a nice to have binding to IPv4 and IPv6 addresses for, e.g., transitional dual-stack periods.
The following snippet illustrates the cases which fail respectively work:
bind_host = "fd::cafe:babe" # works
bind_host = "0.0.0.0." # Works, but overwrites previous entry
bind_host = "[fd::cafe:babe]" # square brackets should be default but not supported, fails to bind
bind_host = "[::]" # Not supported/fails to bind
bind_host = "::" # Not supported/fails to bind
a) I can bind to an IPv6 address, like shown in line 1, but it does not use the square bracket notation, usually used to state v6 addresses.
b) The cases in line 5, or preferably line 4, should be supported in order to bind an all possible IPv6 addresses, aka the same as 0.0.0.0 in IPv4.
c) Specifying bind_host multiple times, overwrites the previous value (which makes sense). It would be nice to have a bind_host6 or alike parameter for better support of dual-stack environments, like many networks daemons do.
The package is from the Ubuntu 16.04 repo and this is my test host:
icinga2 ca list -V
icinga2 - The Icinga 2 network monitoring daemon (version: r2.8.1-1)
Copyright (c) 2012-2017 Icinga Development Team (https://www.icinga.com/)
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl2.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Application information:
Installation root: /usr
Sysconf directory: /etc
Run directory: /run
Local state directory: /var
Package data directory: /usr/share/icinga2
State path: /var/lib/icinga2/icinga2.state
Modified attributes path: /var/lib/icinga2/modified-attributes.conf
Objects path: /var/cache/icinga2/icinga2.debug
Vars path: /var/cache/icinga2/icinga2.vars
PID path: /run/icinga2/icinga2.pid
System information:
Platform: Ubuntu
Platform version: 16.04.3 LTS (Xenial Xerus)
Kernel: Linux
Kernel version: 4.4.0-112-generic
Architecture: x86_64
Build information:
Compiler: GNU 5.3.1
Build host: 5b0d1614aaa2
Cheers
EDIT: doesn't throw a syntax error, actually, the binding fails.
The IPv4
bind_host
inside the config object type, works as expected. When one wants to bind the service to an IPv6 address the syntax is a) counter-intuitive, b) it is not possible to bind to all IPv6 addresses on the machine/interface, like it is possible in the IPv4 variant and c) it would be a nice to have binding to IPv4 and IPv6 addresses for, e.g., transitional dual-stack periods.The following snippet illustrates the cases which fail respectively work:
a) I can bind to an IPv6 address, like shown in line 1, but it does not use the square bracket notation, usually used to state v6 addresses.
b) The cases in line 5, or preferably line 4, should be supported in order to bind an all possible IPv6 addresses, aka the same as 0.0.0.0 in IPv4.
c) Specifying
bind_host
multiple times, overwrites the previous value (which makes sense). It would be nice to have abind_host6
or alike parameter for better support of dual-stack environments, like many networks daemons do.The package is from the Ubuntu 16.04 repo and this is my test host:
Cheers
EDIT: doesn't throw a syntax error, actually, the binding fails.