2012-01-31 8 views
1

私はスイッチとルータに接続されているサーバをマップするためのスクリプトを作成しています。私はMACアドレスを引き出すためにhttp://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a00801c9199.shtmlにリストされたアルゴリズムを使用して、レイヤー2ポートをマップするように働いています。SNMP経由でレイヤ3ポート上のMACを取得していますか。

レイヤ3ポートは別の問題です。これらは、ルータ/レイヤ3スイッチの「sh vlan」コマンドに表示されないポートです。理想的には、レイヤ3接続の基礎となるこれらのポートに存在するMACアドレスを使用したいと思います。これは、IPアドレスよりも「永久」です。これらはデバイスのMACアドレステーブルに表示されます。しかし、これらのポートに関連VLANがないこと、およびSNMP経由のMAC取得がVLANインデックス化されているため、非常に困難です。

私は約1週間ほどこれに対して頭を叩いていましたが、私が試してみるものは何もないので、VLAN以外のMACアドレスを取得できるようです。このようにレイヤー3ポートをマッピングすることは可能ですか、レイヤー3(IPアドレス)マッピングを使用する必要がありますか?

答えて

0

レイヤ2経由でデバイスに接続している場合は、レイヤ3アドレスのpingを使用してarp検索を生成し、arpキャッシュでmacを探します。これは任意のレイヤ3ポート、さらにレイヤ3バージョンのPortchannelsのような論理ポート。 これはおそらく最も簡単な方法です。

あなたは、SNMPの領域で100%にしたい場合:

そのデバイスのインタフェーステーブルを取得するには、以下のOIDを歩きます。そのデバイス上のすべてのインターフェイスの一覧を に返します。これは、任意のデバイス(でもサーバー)SNMPエージェントを走っに動作するはずです:

.1.3.6.1.2.1.2.2.1.2 

これはあなたのインターフェイス番号(OIDの最後の桁)、およびインタフェース記述のリストが表示されます。これは、SVI以外の論理タイプについては不明なSVIおよび物理インターフェイスで機能します。 (xは、インタフェーステーブル内の値である場合)

次に、各インターフェイスのために、それはMacの取得します

.1.3.6.1.2.1.2.2.1.6.x 

これはあなたのMacを与えます。 (一部のデバイスで先行0を切り捨てることもできます) しかし、snmpwalkを実行して取得するには、各デバイスに少なくとも1つのレイヤ3アドレスが必要です。

あなただけのすべてのMacをしたい場合は、このOIDを歩く:

.1.3.6.1.2.1.2.2.1.6 

私は大規模なネットワーク上の類似した何かをするために、このアプローチを使用します。

+0

FYI、これはあなたに接続されたMACアドレスを与えるものではありません。これはあなたにインターフェイスのMACアドレスを与えます。 –

関連する問題