Я хочу иметь возможность динамично фильтровать результат SNMP-обхода через промежуточный агент (процесс) на основе интерфейс(IP) откуда пришел запрос.
То есть мой сценарий такой, говорят walk
запрос может поступать из двух разных сетевых интерфейсов 10.1.1.1
и 11.1.1.1
, и я сопоставляю их с идентификатором 1
и 2
соответственно.
Если у меня есть структура MIB, например:
iso.org.dod.internet.private.enterprises.myent.X.Y.<id>
...
Агент SNMP отвечает со всеми результатами, но в промежуточном процессе я хочу отфильтровать то, что не имеет отношения к этому инициатору запроса, то есть, если запрос пришел от 11.1.1.1
, то я буду отправлять только значения, соответствующие его идентификатору (2
)
iso.org.dod.internet.private.enterprises.myent.X.Y.2
... iso.org.dod.internet.private.enterprises.myent.X.Z.2
...
и т.п.
Я проверил filter
особенность в snmpd.conf
- Я хочу иметь возможность делать что-то подобное, но динамически в зависимости от того, откуда исходит запрос, также я хочу знать, может ли это вызвать проблемы с обходом - например, может ли это привести к сбою лексикографического упорядочения?
Надеюсь, я ясно сформулировал свой вопрос, очень признателен за любые подсказки или указатели для дальнейшего исследования.
РЕДАКТИРОВАТЬ
Могут быть добавлены новые MIB с более новыми версиями программного обеспечения, поэтому я не хочу статически сопоставлять IP-адрес с разрешенными OID (как в представлениях SNMP VACM). Кроме того, этот метод затрудняет управление, когда существует много интерфейсов (IP) и много MIB.
Я хотел бы знать, можно ли отфильтровать результаты динамически (глядя на OID и IP-адрес запрашивающего, если результат актуален или нет)