Как изменить адрес TCP Listener для клиента Icinga API

How to change TCP Listener address or port for Icinga API agentПри развёртывании 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))

Добавить комментарий