PHP で snmp v2 を使用する場合、最大メッセージ サイズを設定するにはどうすればよいですか?
PHP を使用してデバイスの SNMP ウォークを実行しており、私の組織では非常に厳格なファイアウォールが設置されています。(snmp2_real_walk または snmp2_walk) が、パケットが大きく断片化されている場合に実稼働サーバーからタイムアウトになるという問題が発生しています。断片化を防ぐために、最大パケット サイズを小さく設定する方法があるかどうか疑問に思っています。
Ubuntu 12.04 で php 5.4.10 と 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
(機密データは削除されました)。