このドキュメントでは、Simple Network Management Protocol(SNMP)を利用して、シスコ デバイスの TTY 回線に接続しているユーザに関する情報を取得する方法について説明します。 また、すべての有効なオブジェクト識別子(OID)と特定の TTY 回線を SNMP でクリアする方法についても説明します。
このドキュメントの情報を使用する前に、次の要件を満たしていることを確認してください。
シスコ デバイスで TTY の情報を見る方法を理解している。
SNMP の walk、get、set コマンドの一般的な使用方法を理解している。
シスコ デバイスで SNMP を設定する方法を理解している。
このドキュメントは、OLD-CISCO-TS-MIB をサポートする標準の Catalyst オペレーティング システム(OS)または Catalyst IOS が稼働しているシスコのルータとスイッチに適用されます。
注:OLD-CISCO-TS-MIBは、デフォルトではNET-SNMPにはロードされません。Management Information Base(MIB; 管理情報ベース)がシステムにロードされていない場合は、オブジェクト名の代わりに OID を使用する必要があります。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。
12.2(13a) が稼働するルータ c3640
NET-SNMP バージョン 5.0.6 は、http://www.net-snmp.org/ で入手できます。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
ドキュメント表記の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。
1.3.6.1.4.1.9.2.9.1 (OLD-CISCO-TS-MIB) tsLines OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Number of terminal lines on this device. Includes virtual lines." ::= { lts 1 } 1.3.6.1.4.1.9.2.9.2.1.1 (OLD-CISCO-TS-MIB) tsLineActive OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "Boolean whether this line is active or not." ::= { ltsLineEntry 1 } 1.3.6.1.4.1.9.2.9.2.1.2 (OLD-CISCO-TS-MIB) tsLineType OBJECT-TYPE SYNTAX INTEGER { unknown(1), console(2), terminal(3), line-printer(4), virtual-terminal(5), auxiliary(6) } ACCESS read-only STATUS mandatory DESCRIPTION "Type of line." ::= { ltsLineEntry 2 } 1.3.6.1.4.1.9.2.9.2.1.21 (OLD-CISCO-TS-MIB) tsLineTimeActive OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The time in seconds since line was activated." ::= { ltsLineEntry 21 } 1.3.6.1.4.1.9.2.9.2.1.18 (OLD-CISCO-TS-MIB) tsLineUser OBJECT-TYPE SYNTAX DisplayString ACCESS read-only STATUS mandatory DESCRIPTION "TACACS user name,if TACACS is enabled, of user on this line." ::= { ltsLineEntry 18 } 1.3.6.1.4.1.9.2.9.4 (OLD-CISCO-TS-MIB) tsMsgTtyLine OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "tty line to send the message to. -1 sends the messages to all tty lines." ::= { lts 4 } 1.3.6.1.4.1.9.2.9.10 (OLD-CISCO-TS-MIB) tsClrTtyLine OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "tty line to clear. Read returns the last line cleared. A value of -1 indicates no lines have been cleared." ::= { lts 10 }
例で使用される値は次のとおりです。
デバイス ホスト名 = ponch
読み取りコミュニティ = public
書き込みコミュニティ = private
次のコマンドのコミュニティ文字列とホスト名を置き換えます。
利用可能な TTY 回線(仮想回線を含む)の番号を検索するには、オブジェクト tsLines に照会します。
snmpwalk -c public ponch tsLines cisco.local.lts.tsLines.0 : INTEGER: 135
アクティブな TTY 回線の一覧を取得するには、tsLineActive オブジェクトに照会します。アクティブな TTY 回線は 1 を返します。
snmpwalk -c public ponch tsLineActive cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineActive.0 : INTEGER: 1 cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineActive.129 : INTEGER: 0 cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineActive.130 : INTEGER: 1 …
ルータの Command-Line Interface(CLI; コマンドライン インターフェイス)で、show users コマンドを使用して次の内容を確認します。
ponch#sh users Line User Host(s) Idle Location 0 con 0 idle 15:32:49 *130 vty 0 idle 00:00:00 10.61.64.9 Interface User Mode Idle Peer Address
回線の種類を取得するには、tsLineType オブジェクトに照会します。ユーザの接続方法が示されます。
unknown(1)
console(2)
terminal(3)
line-printer(4)
auxiliary(6)
snmpwalk -c public ponch tsLineType cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineType.0 : INTEGER: console cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineType.129 : INTEGER: auxiliary cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineType.130 : INTEGER: virtual-terminal …
タイムラインがアクティブかどうかを判別するには、tsLineTimeActive オブジェクトに照会します。これは、回線がアクティブになったときからの秒数です。
snmpwalk -c public ponch tsLineTimeActive cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineTimeActive.0 : INTEGER: 172351 cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineTimeActive.129 : INTEGER: 0 cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineTimeActive.130 : INTEGER: 9069 …
TTY に接続しているユーザを確認するには、TACACS を通してデバイスに接続する必要があります。ユーザ名を検索するには、tsLineUser オブジェクトに照会します。
注: TACACS を通して接続していない場合は、tsLineUser は空です。
snmpwalk -c public ponch tsLineUser cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineUser.0 : DISPLAY STRING- (ascii): cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineUser.129 : DISPLAY STRING- (ascii): cisco.local.lts.ltsLineTable.ltsLineEntry.tsLineUser.131 : DISPLAY STRING- (ascii): cisco …
次の出力例と、実際の CLI コマンド show users の出力を比較してください。
ponch#sh users Line User Host(s) Idle Location 0 con 0 idle 15:32:49 *131 vty 0 cisco idle 00:00:00 10.61.64.11 Interface User Mode Idle Peer Address
SNMP を使用して、telnet(VTY)セッションをクリアできます。SNMPコマンドは、clear line vty <number>コマンドと同じです。回線をクリアするために使用するオブジェクトは tsClrTtyLine です。
SNMP を使用し、次のコマンドで VTY 回線 132 をクリアします。
snmpset -c private ponch tsClrTtyLine.0 integer 132 cisco.local.lts.tcClrTtyLine.0 : INTEGER: 132
または
snmpset -c private ponch .1.3.6.1.4.1.9.2.9.10.0 integer 132 enterprises.9.2.9.10.0 = 132
回線 132 をクリアする前にルータで次の内容をチェックするには、CLI で次のコマンドを発行します。
ponch#show users Line User Host(s) Idle Location 0 con 0 idle 05:23:17 130 vty 0 idle 1d03h 144.254.7.118 131 vty 1 idle 1d01h 144.254.7.118 132 vty 2 idle 00:04:36 144.254.8.54 *133 vty 3 idle 00:00:00 144.254.7.53 Interface User Mode Idle Peer Address
コマンドを発行した後、ルータをチェックして、回線 132 がクリアされたことを確認します。
ponch#show users Line User Host(s) Idle Location 0 con 0 idle 05:26:42 130 vty 0 idle 1d03h 144.254.7.118 131 vty 1 idle 1d01h 144.254.7.118 *133 vty 3 idle 00:00:00 144.254.7.53 Interface User Mode Idle Peer Address
回線 132 はクリアされています。
注: このコマンドは、警告なしにデバイスからユーザを切断する場合があるので、注意して発行してください。