При развёртывании Icinga 2 в конфигурации по умолчанию в системе создаётся TCP прослушиватель на порту 5665. На этом порту обслуживаются входящие запросы к Icinga API. На системах с количеством сетевых интерфейсов больше двух, такой TCP прослушиватель будет доступен сразу на всех интерфейсах.
В некоторых ситуациях появление TCP прослушивателя Icinga API на некоторых интерфейсах, например на тех, которые направлены в Интернет, может оказаться нежелательным. Соответственно, возникает необходимость ограничения интерфейсов, на которых должен быть доступен открытый TCP порт.
# ss -tunlp | grep icinga
tcp LISTEN 0 128 *:5665 *:* users:(("icinga2",pid=605,fd=19))
IP адрес и номер порта TCP прослушивателя являются атрибутами bind_host и bind_port конфигурационного объекта типа ApiListener.
# icinga2 object list --type ApiListener | grep bind
* bind_host = "::"
* bind_port = "5665"
Данные атрибуты могут быть описаны в конфигурационном файле /etc/icinga2/features-available/api.conf
В конфигурации по умолчанию указанные атрибуты не заданы в явном виде в файле api.conf и для того, чтобы указать IP адрес конкретного сетевого интерфейса для работы TCP прослушивателя, нам достаточно вписать соответствующий атрибут и его значение.
object ApiListener "api" {
accept_commands = true
accept_config = true
bind_host = "10.10.8.2"
}
После этого перезапустим службу icinga2.service и проверим результат:
# systemctl restart icinga2.service
# ss -tunlp | grep icinga
tcp LISTEN 0 128 10.10.8.2:5665 0.0.0.0:* users:(("icinga2",pid=2293,fd=20))
Добавить комментарий