In diesem Beitrag geht es darum per SNMP den administrativen Portstatus zu verändern.
Dieser Beitrag wurde auf Basis der folgenden Hardware und AOS-Software erstellt:
OS6850-48L-Lab-> show chassis Chassis 1 Model Name: OS6850-48L, Description: 48 10/100, Part Number: 902545-90, Hardware Revision: 02, Serial Number: H12xxxxx, Manufacture Date: MAR 22 2007, Admin Status: POWER ON, Operational Status: UP, Number Of Resets: 81 MAC Address: 00:e0:b1:xx:xx:xx, OS6850-48L-Lab-> show microcode Package Release Size Description -----------------+---------------+--------+----------------------------------- Kbase.img 6.4.4.569.R01 18614259 Alcatel-Lucent Base Software Kadvrout.img 6.4.4.569.R01 2878998 Alcatel-Lucent Advanced Routing K2os.img 6.4.4.569.R01 1959603 Alcatel-Lucent OS Keni.img 6.4.4.569.R01 5760585 Alcatel-Lucent NI software Ksecu.img 6.4.4.569.R01 649215 Alcatel-Lucent Security Management Kencrypt.img 6.4.4.569.R01 3437 Alcatel-Lucent Encryption Management
Zu allererst sollte ein Benutzer angelegt werden mit dem SNMP verwendet wird:
OS6850-48L-Lab-> user snmp password snmp12345 no auth read-write all OS6850-48L-Lab-> show user User name = snmp, Password expiration = None, Password allow to be modified date = None, Account lockout = None, Password bad attempts = 0, Read Only for domains = None, Read/Write for domains = All , Snmp allowed = YES, Snmp authentication = NONE, Snmp encryption = NONE, Console-Only = Disabled
In produktiven Netzwerken empfehlen wir den Einsatz von SNMPv3!
Den SNMPv2 Zugriff mit der Community „public“ aktivieren:
OS6850-48L-Lab-> snmp community map public user snmp enable
Die Authentifizierung von Benutzern gegen die lokale Benutzerdatenbank aktivieren:
OS6850-48L-Lab-> aaa authentication default local OS6850-48L-Lab-> show aaa authentication Service type = Default 1rst authentication server = local Service type = Console 1rst authentication server = local Service type = Telnet Authentication = Use Default, 1rst authentication server = local Service type = Ftp Authentication = Use Default, 1rst authentication server = local Service type = Http Authentication = Use Default, 1rst authentication server = local Service type = Snmp Authentication = Use Default, 1rst authentication server = local Service type = Ssh Authentication = Use Default, 1rst authentication server = local
In produktiven Netzwerken empfehlen wir den Einsatz von RADIUS-Authentifizierung.
Da wir den Switch irgendwie erreichen müssen, erstellen wir ein IP-Interface:
OS6850-48L-Lab-> ip interface vlan-1 address 192.168.10.1/24 vlan 1
Ein kurzer Test per snmpwalk zeigt dass SNMP funktioniert und wir die Werte abfragen können:
localhost:OS6850&OS6850E_644569R01 benny$ snmpwalk -v 2c -c public 192.168.10.1 SNMPv2-MIB::sysDescr.0 = STRING: Alcatel-Lucent OS6850-48L 6.4.4.569.R01 Service Release, October 29, 2012. SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.6486.800.1.1.2.1.7.1.12 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (172600) 0:28:46.00 SNMPv2-MIB::sysContact.0 = STRING: Benny Eggerstedt - Alcatel-Lucent SNMPv2-MIB::sysName.0 = STRING: OS6850-48L-Lab SNMPv2-MIB::sysLocation.0 = STRING: Hamburg SNMPv2-MIB::sysServices.0 = INTEGER: 78 IF-MIB::ifNumber.0 = INTEGER: 51 IF-MIB::ifIndex.1001 = INTEGER: 1001 ...
Angenommen wir möchten für den Port 1/3 den administrativen Status überprüfen/setzen, müssen wir erst die zugehörige MIB finden.
Der Slot/Port 1/3 wird dabei durch 1003 repräsentiert, 2003 wäre 2/3 usw.
Die MIB finden wir über den „Alcatel-Lucent OmniSwitch AOS 6.4.4.R01 CLI Reference Guide“ indem wir das zugehörige CLI-Kommando nachschlagen das wir per SNMP ausführen möchten:
interfaces {slot | slot/port[-port2]} admin {up | down}
...
MIB Objects
ifTable
   ifAdminStatus
Über die SNMP-MIBs finden wir ganz leicht die dazugehörige OID und fügen den Port hinzu:
localhost:OS6850&OS6850E_644569R01 benny$ snmpget -v 2c -c public 192.168.10.1 1.3.6.1.2.1.2.2.1.7.1003 IF-MIB::ifAdminStatus.1003 = INTEGER: up(1)
Dieser Status lässt sich auch über die CLI kontrollieren:
OS6850-48L-Lab-> show interfaces 1/3 port 
Legends: WTR - Wait To Restore
         #   - WTR Timer is Running & Port is in wait-to-restore state
         *   - Permanent Shutdown
Slot/    Admin     Link    Violations  Recovery   Recovery      WTR            Alias
Port     Status   Status                 Time       Max        (sec)
------+----------+---------+----------+----------+----------+----------+-----------------
  1/3    enable      up        none           300         10          0 ""
Die dazugehörige MIB gibt uns nun die möglichen Paramter vor die per SNMP gesetzt werden können:
ifAdminStatus OBJECT-TYPE
    SYNTAX  INTEGER {
                up(1),       -- ready to pass packets
                down(2),
                testing(3)   -- in some test mode
            }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The desired state of the interface.  The testing(3) state
            indicates that no operational packets can be passed.  When a
            managed system initializes, all interfaces start with
            ifAdminStatus in the down(2) state.  As a result of either
            explicit management action or per configuration information
            retained by the managed system, ifAdminStatus is then
            changed to either the up(1) or testing(3) states (or remains
            in the down(2) state)."
    ::= { ifEntry 7 }
Setzen wir nun den administrativen Portstatus per SNMP auf down(2), ist dies auch über die CLI sofort sichtbar:
localhost:OS6850&OS6850E_644569R01 benny$ snmpset -v 2c -c public 192.168.10.1 1.3.6.1.2.1.2.2.1.7.1003 i 2 IF-MIB::ifAdminStatus.1003 = INTEGER: down(2) localhost:OS6850&OS6850E_644569R01 benny$ snmpget -v 2c -c public 192.168.10.1 1.3.6.1.2.1.2.2.1.7.1003 IF-MIB::ifAdminStatus.1003 = INTEGER: down(2)
CLI:
OS6850-48L-Lab-> show interfaces 1/3 port
Legends: WTR - Wait To Restore
         #   - WTR Timer is Running & Port is in wait-to-restore state
         *   - Permanent Shutdown
Slot/    Admin     Link    Violations  Recovery   Recovery      WTR            Alias
Port     Status   Status                 Time       Max        (sec)
------+----------+---------+----------+----------+----------+----------+-----------------
  1/3    disable     down      none           300         10          0 ""
Auf gleichem Wege kann der Status natürlich auch wieder up(1) gesetzt werden:
localhost:OS6850&OS6850E_644569R01 benny$ snmpset -v 2c -c public 192.168.10.1 1.3.6.1.2.1.2.2.1.7.1003 i 1
IF-MIB::ifAdminStatus.1003 = INTEGER: up(1)
OS6850-48L-Lab-> show interfaces 1/3 port
Legends: WTR - Wait To Restore
         #   - WTR Timer is Running & Port is in wait-to-restore state
         *   - Permanent Shutdown
Slot/    Admin     Link    Violations  Recovery   Recovery      WTR            Alias
Port     Status   Status                 Time       Max        (sec)
------+----------+---------+----------+----------+----------+----------+-----------------
  1/3    enable      up        none           300         10          0 ""
