Я хочу иметь возможностьдинамическифильтровать результат обхода 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-адрес запрашивающей стороны, если результат релевантен или нет)