キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
1502
閲覧回数
0
いいね!
4
返信

WAP150:snmpbulkgetでリブート

WAP150にて頻繁なリブートが発生し、ハード異常疑いで本体交換となったものの、数週間後に再発しました。本体をネットワークから切り離した状態で放置したところリブートは見られないため、自宅環境起因と判断、Zabbixの監視対象から外すとリブートせずで、キャプチャして調べたところ、snmpget/snmpbulkget/snmpbulkgetの3コンボをかまされるとリブートしてしまうようです。タイミングも重要な様で、同じクエリをシェルスクリプトで投げても再現しません。とりあえず、zabbixにてbulkgetを使わない指定で対処しました。

下図で

192.168.8.3=zabbixホスト

192.168.8.5=WAP150

192.168.8.1=DHCPサーバー(再起動を示す)

です。

スクリーンショット 2021-01-22 052828.png

4件の返信4

snmpget/snmpbulkgetの2コンボでリブートするようです。WAP150、2台ともリブートしました。

下記windowsマシンからの再現コードです。

// UDPsend.cpp 

#pragma comment(lib, "wsock32.lib") 
#include <iostream>
#include <winsock2.h>

int main()
{
	const char data1[] = {
		0x30, 0x2b, 0x02, 0x01, 0x01, 0x04, 0x06, 0x70, 0x75, 0x62, 0x6c,
		0x69, 0x63, 0xa0, 0x1e, 0x02, 0x04, 0x2d, 0x82, 0x4e, 0xe7, 0x02, 0x01, 0x00, 0x02,
		0x01, 0x00, 0x30, 0x10, 0x30, 0x0e, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x02, 0x01, 0x02,
		0x02, 0x01, 0x08, 0x06, 0x05, 0x00
	};
	const char data2[] = {
		0x30, 0x29, 0x02, 0x01, 0x01, 0x04, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69,
		0x63, 0xa0, 0x1c, 0x02, 0x04, 0x2d, 0x82, 0x4e, 0xe8, 0x02, 0x01, 0x00,
		0x02, 0x01, 0x00, 0x30, 0x0e, 0x30, 0x0c, 0x06, 0x08, 0x2b, 0x06, 0x01,
		0x02, 0x01, 0x01, 0x03, 0x00, 0x05, 0x00
	};
	const char data3[] = {
		0x30, 0x2b, 0x02, 0x01, 0x01, 0x04, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69,
		0x63, 0xa0, 0x1e, 0x02, 0x04, 0x2d, 0x82, 0x4e, 0xe9, 0x02, 0x01, 0x00,
		0x02, 0x01, 0x00, 0x30, 0x10, 0x30, 0x0e, 0x06, 0x0a, 0x2b, 0x06, 0x01,
		0x02, 0x01, 0x02, 0x02, 0x01, 0x08, 0x09, 0x05, 0x00
	};
	const char data4[] = {
		0x30, 0x2a, 0x02, 0x01, 0x01, 0x04, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69,
		0x63, 0xa5, 0x1d, 0x02, 0x04, 0x2d, 0x82, 0x4e, 0xea, 0x02, 0x01, 0x00,
		0x02, 0x01, 0x75, 0x30, 0x0f, 0x30, 0x0d, 0x06, 0x09, 0x2b, 0x06, 0x01,
		0x02, 0x01, 0x02, 0x02, 0x01, 0x08, 0x05, 0x00
	};


	WSAData wsaData;

	SOCKET sock;
	struct sockaddr_in addr;

	WSAStartup(MAKEWORD(2, 0), &wsaData);

	sock = socket(AF_INET, SOCK_DGRAM, 0);

	addr.sin_family = AF_INET;
	addr.sin_port = htons(161);
	addr.sin_addr.S_un.S_addr = inet_addr("192.168.8.7");

	//sendto(sock, data1, sizeof(data1),0, (struct sockaddr*)&addr, sizeof(addr));
	//sendto(sock, data2, sizeof(data2), 0, (struct sockaddr*)&addr, sizeof(addr));
	sendto(sock, data3, sizeof(data3), 0, (struct sockaddr*)&addr, sizeof(addr));
	sendto(sock, data4, sizeof(data4), 0, (struct sockaddr*)&addr, sizeof(addr));

	closesocket(sock);

	WSACleanup();

	return 0;
}

上記コードでWAP125もリブートします。

Akira Muranaka
Level 8
Level 8

こんにちは。

すばらしい切り分け結果ですね!なお、既に実施されてるかもですが、新規不具合?の可能性がある場合は、再現手順と一緒に Ciscoサポートに問い合わせすれば、既知不具合に合致するか、合致しない場合は新規不具合として登録や修正を実施してくれると思います!

今回の場合は、SNMPトラップのパケットキャプチャや、ポーリングした OID 情報をシスコサポートに伝えて頂くと対応早いのかなーと思いました。

了解いたしました。

 

今回、自分側の処置で解決したのでSRは止めておこうかと思いましたが、

時間があればリクエスト出してみます。