Ubuntu 12.04 — PHP SNMP v2 Walk фрагментации / заблокирован

Как установить максимальный размер сообщения при использовании snmp v2 в PHP?

Я использую PHP для выполнения SNMP-обхода устройств, и в моей организации установлены очень жесткие брандмауэры. Я сталкиваюсь с проблемой, когда (snmp2_real_walk или snmp2_walk) приводят к таймаутам с моего производственного сервера, если пакеты больше и становятся фрагментированными. Мне интересно, есть ли способ установить максимальный размер пакета на что-то меньшее, чтобы предотвратить фрагментацию.

Я использую php 5.4.10 в Ubuntu 12.04 и Net-SNMP 5.4.3.

Когда я фиксирую трафик, оказывается, что snmp2_real_walk использует getBulkRequest. Я получаю ответ, который говорит, что пакет фрагментирован, и меньший последующий пакет. На моей локальной машине, это же окружение, кроме брандмауэра, это работает На моей производственной машине это выходит из строя.

var_dump(snmp2_real_walk("a.b.c.d", "public", '.o.i.d'));

Если я вызываю его через командную строку, он работает с меньшими пакетами. Я не понимаю почему. Должен быть способ установить размер пакета / сообщения, верно?

snmpbulkwalk -v2c -cpublic a.b.c.d .o.i.d

(конфиденциальные данные удалены).

0

Решение

Не похоже, что есть способ сказать PHP запросить пользовательскую настройку max-repetitions. Кроме того, PHP get next не работает должным образом, так как он будет продолжать проходить по дереву SNMP в следующую ветвь (т. Е. Если вы пересекаете .17.x, последний из 17.z даст вам 18.1).

Чтобы обойти эту проблему, я использовал exec и очистил данные, чтобы убедиться, что никакие переменные не могут перехватить систему.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]