Nagios в Docker - Исходный IP-адрес SNAT для NRPE isue

Сервер Nagios работает в контейнере докеров. Он обращается для проверки хоста через NRPE, работающий на различных хостах в сети.

Docker host - 10.10.100.100

Iptables ТОЛЬКО разрешает входящий трафик на TCP 5666 из 10.10.100.100 для входящих проверок NRPE

Проверка nrpe, исходящая от Nagios, успешно проходит через межсетевой экран. Это докажет, что адрес источника пакета действительно 10.10.100.100

Конфигурация NRPE содержит:

server_port=5666
allowed_hosts=10.10.100.100

При выполнении вызова nrpe в системном журнале NRPE указано:

Oct 20 18:42:32 dockerz01 nrpe[13382]: Allowing connections from: 10.10.100.100
Oct 20 18:42:59 dockerz01 nrpe[13411]: Host 172.20.0.2 is not allowed to talk to us!

Это означает, что пакет, отправленный в NRPE, будет иметь адрес источника 172.20.0.2 (который является Docker IP-адрес контейнера в сети докер-моста). Если да, то как это пройти через брандмауэр?!

Это не совсем понятно, и я немного озадачен

Конечно, установив allowed_hosts = 172.20.0.2 в конфигурации NRPE обходит проблему, но это не является постоянным и действительно не решает проблему здесь.

Отправляет ли Nagios то, что он « считает » «исходным» IP-адресом в пакете NRPE, и по этому NRPE определяет адрес «источника»? Если так, как это можно изменить? Что мне здесь не хватает? Моя цель - сделать хост Docker как allowed_host, поскольку я знаю, что он статичен и не изменится.

0
задан 20 October 2017 в 23:02
1 ответ

На хосте с несколькими адресами вы можете выбрать, с какого из них отправлять запросы check_nrpe через параметр -b .

В вашем case, -b 10.10.100.100

В остальном он просто следует правилам маршрутизации.

0
ответ дан 24 November 2019 в 03:42

Теги

Похожие вопросы