El objetivo de este artículo es describir los pasos para activar la copia de archivos de configuración desde un switch Cisco Business a través del protocolo simple de administración de red (SNMP).
Los archivos de configuración suelen copiarse de un switch mediante la interfaz gráfica de usuario (GUI) o la interfaz de línea de comandos (CLI). Un método más inusual es activar la tarea de copia a través de SNMP.
Al copiar un archivo de configuración que contiene datos confidenciales, la tarea de copia puede excluir datos confidenciales, incluirlos en formato cifrado, incluirlos como texto sin formato o utilizar un método predeterminado. La especificación de la gestión de datos confidenciales es opcional y, si no se especifica, se utilizará el valor predeterminado.
Para acceder al menú de gestión de datos confidenciales mediante la GUI, vaya al menú Administration > File Operations > File Management.
La opción Sensitive Data Handling solo aparece en el modo de archivo de respaldo para TFTP o SCP.
Desde la línea de comandos, se puede utilizar el comando copy:
copy {running-config | startup-config} dst-url [exclude | include-encrypted | include-plaintext]
Por ejemplo:
copy running-config tftp://192.168.101.99/destination-file.txt exclude
El valor predeterminado es el que se establezca en el modo de lectura de sesión de datos confidenciales seguros (SSD). Para ver el modo actual, ingrese show ssd session, o ingrese show running-config y busque el indicador SSD del archivo. Con la configuración predeterminada de fábrica, el modo de lectura de sesión SSD esperado se cifra.
C1300# show ssd session
Nombre de usuario/Nivel: usuario1/nivel 15
Permiso de lectura del usuario: Ambas
Modo de lectura de la sesión actual: Cifrados
C1300# show running-config | include SSD
indicador SSD de archivo cifrado
Si se ingresó el comando copy sin especificar ninguna opción, se copiaría como si se hubiera elegido "include-encryption".
copy running-config tftp://192.168.101.99/destination-file.txt
Sin embargo, el valor de lectura de la sesión se puede cambiar:
ssd session read {exclude | encrypted | plaintext}
Este comando afecta el resultado de show running-config y show startup-config, además de actuar como el valor predeterminado para el tratamiento de datos confidenciales del comando copy.
Por ejemplo:
C1300(config)# ssd session read plaintext
C1300(config)# exit
C1300# copy running-config tftp://192.168.101.99/destination-file.txt
El archivo resultante incluirá datos confidenciales en texto simple, al igual que la salida de "show running-config" y "show startup-config", por lo que se debe tener cuidado con el modo de lectura de la sesión SSD. Lo más seguro es dejarlo en el valor predeterminado.
Si el resultado de show running-config o show startup-config no muestra todo lo que se espera, por ejemplo, usuarios SNMP v3 con credenciales cifradas que son visibles en la GUI, asegúrese de que el valor de lectura de la sesión SSD no esté configurado en "exclude".
Los switches de las series Catalyst 1200/Catalyst 1300/CBSx50 utilizan el identificador de objeto SNMP (OID) denominado rlCopyOptionsRequestedSsdAccess para controlar la opción de datos confidenciales. El objeto es un entero y, a primera vista, los valores que acepta son equivalentes a los del comando copy:
La opción 3, que copia los datos confidenciales en texto sin formato, no se puede utilizar con SNMP v2c en absoluto, ni se puede utilizar con SNMP v3 a menos que se utilicen la autenticación y la privacidad (authPriv).
Establecer la opción de texto sin formato para copiar el archivo usando un protocolo inseguro como TFTP no es una buena idea.
SNMP v3 con authPriv sólo se utiliza para activar la copia, por lo que sus parámetros de privacidad no son útiles para proteger el archivo de configuración durante la transferencia. La copia con el protocolo de copia segura (SCP), por ejemplo, sería más segura.
La opción 4, la opción "predeterminada", no se comporta como cabría esperar. No actúa como el comando copy, y el valor de la sesión de lectura de SSD no influye en absoluto en el resultado de la copia cuando se utiliza SNMP. En su lugar, la opción 4 es la misma que la opción 1 (excluir), con una excepción: Si utiliza SNMP v3 con authPriv, la opción 4 es la misma que la opción 3 (texto sin formato).
El comportamiento se resume en la siguiente tabla:
1 (excluido) |
2 (cifrado) |
3 (texto sin formato) |
predeterminado |
|
copia de CLI |
excluido |
cifrados |
texto simple |
Valor de SSD |
SNMP v2c |
excluido |
cifrados |
falla |
excluido |
SNMP v3 authPriv |
excluido |
cifrados |
texto simple |
texto simple |
SNMP v3 authNoPriv |
excluido |
cifrados |
falla |
excluido |
SNMP v3 noAuthNoPriv |
excluido |
cifrados |
falla |
excluido |
SNMP v3 con authPriv no se requiere específicamente para accionar la tarea de copia, pero dado que proporciona mayor flexibilidad y seguridad, se recomienda sobre las otras variantes SNMP y será el que se utilice para los siguientes ejemplos.
Ejemplo de configuración:
snmp-server server
snmp-server engineID local 8000000903f01d2da99341
snmp-server group snmpAdmin v3 priv write Default
encrypted snmp-server user sbscadmin snmpAdmin v3 auth sha [authentication_password] priv [privacy_password]
La configuración anterior permite que el usuario llamado sbscadmin envíe comandos SNMP v3 al switch para activar la copia del archivo. El usuario sbscadmin es miembro del grupo snmpAdmin, al que se le han otorgado privilegios de escritura SNMP v3 completos en el switch.
Tenga en cuenta que el usuario tiene una contraseña de autenticación (auth) y una contraseña de privacidad (priv), es decir, authPriv, y el grupo snmpAdmin tiene el conjunto "priv" (que también incluye autenticación ya que la privacidad no se puede utilizar sin ella).
A continuación se muestra un ejemplo del comando snmpset que desencadena la tarea de copia. Es tan largo como debe establecer varios valores de objeto. El comando se introduce todo en una línea, pero se puede utilizar una barra invertida como carácter de escape para separar cada elemento en su propia línea si así se desea. Esto se hizo a continuación para mejorar la legibilidad. La entrada se muestra en azul y la salida en blanco.
blake@MintBD:~$ snmpset -v 3 -u snmpuser -l authPriv \
-a SHA -A [authentication_password] \
-x AES -X [privacy_password] -m +CISCOSB-COPY-MIB 192.168.111.253 \
rlCopyOptionsRequestedSsdAccess.1 = include-encrypted \
rlCopyRowStatus.1 = createAndGo \
rlCopySourceLocation.1 = local \
rlCopySourceIpAddress.1 = 0.0.0.0 \
rlCopySourceUnitNumber.1 = 1 \
rlCopySourceFileType.1 = runningConfig \
rlCopyDestinationLocation.1 = tftp \
rlCopyDestinationIpAddress.1 = 192.168.111.18 \
rlCopyDestinationFileName.1 = v3-2.txt \
rlCopyDestinationFileType.1 = backupConfig
CISCOSB-COPY-MIB::rlCopyOptionsRequestedSsdAccess.1 = INTEGER: include-encrypted(2)
CISCOSB-COPY-MIB::rlCopyRowStatus.1 = INTEGER: createAndGo(4)
CISCOSB-COPY-MIB::rlCopySourceLocation.1 = INTEGER: local(1)
CISCOSB-COPY-MIB::rlCopySourceIpAddress.1 = IpAddress: 0.0.0.0
CISCOSB-COPY-MIB::rlCopySourceUnitNumber.1 = INTEGER: 1
CISCOSB-COPY-MIB::rlCopySourceFileType.1 = INTEGER: runningConfig(2)
CISCOSB-COPY-MIB::rlCopyDestinationLocation.1 = INTEGER: tftp(3)
CISCOSB-COPY-MIB::rlCopyDestinationIpAddress.1 = IpAddress: 192.168.111.18
CISCOSB-COPY-MIB::rlCopyDestinationFileName.1 = STRING: v3-2.txt
CISCOSB-COPY-MIB::rlCopyDestinationFileType.1 = INTEGER: backupConfig(4)
Una vez ejecutada la tarea de copia, el valor de rlCopyOptionsRequestedSsdAccess vuelve a ser 4 (valor predeterminado).
El uso de nombres simbólicos para los objetos y sus valores es posible gracias a CISCOSB-COPY-MIB, que se describe en detalle en el archivo "CISCOSB-copy.mib", incluido con los archivos MIB en la página de descarga para el switch.
La siguiente tabla hace coincidir el nombre simbólico de cada objeto con su OID.
Nombre simbólico |
Identificador de objeto (OID) |
rlCopyOptionsTable |
1.3.6.1.4.1.9.6.1.101.87.12 |
rlCopyOptionsRequestedSsdAccess |
1.3.6.1.4.1.9.6.1.101.87.12.1.2 |
rlCopyTable |
1.3.6.1.4.1.9.6.1.101.87.2 |
rlCopyRowStatus |
1.3.6.1.4.1.9.6.1.101.87.2.1.17 |
rlCopySourceLocation |
1.3.6.1.4.1.9.6.1.101.87.2.1.3 |
rlCopySourceIpAddress |
1.3.6.1.4.1.9.6.1.101.87.2.1.4 |
rlCopySourceUnitNumber |
1.3.6.1.4.1.9.6.1.101.87.2.1.5 |
rlCopySourceFileType |
1.3.6.1.4.1.9.6.1.101.87.2.1.7 |
rlCopyDestinationLocation |
1.3.6.1.4.1.9.6.1.101.87.2.1.8 |
rlCopyDestinationIpAddress |
1.3.6.1.4.1.9.6.1.101.87.2.1.9 |
rlCopyDestinationFileName |
1.3.6.1.4.1.9.6.1.101.87.2.1.11 |
rlCopyDestinationFileType |
1.3.6.1.4.1.9.6.1.101.87.2.1.12 |
Si no se utilizan archivos MIB, la copia del archivo se puede activar utilizando los OID en lugar de los nombres simbólicos, aunque la entrada y la salida son menos intuitivas.
blake@MintBD:~$ snmpset -v 3 -u sbscadmin -l authPriv \
-a SHA -A [authentication_password] \
-x AES -X [privacy_password] 192.168.111.253 \
1.3.6.1.4.1.9.6.1.101.87.12.1.2.1 i 1 \
1.3.6.1.4.1.9.6.1.101.87.2.1.17.1 i 4 \
1.3.6.1.4.1.9.6.1.101.87.2.1.3.1 i 1 \
1.3.6.1.4.1.9.6.1.101.87.2.1.4.1 a 0.0.0.0 \
1.3.6.1.4.1.9.6.1.101.87.2.1.5.1 i 1 \
1.3.6.1.4.1.9.6.1.101.87.2.1.7.1 i 2 \
1.3.6.1.4.1.9.6.1.101.87.2.1.8.1 i 3 \
1.3.6.1.4.1.9.6.1.101.87.2.1.9.1 a 192.168.111.18 \
1.3.6.1.4.1.9.6.1.101.87.2.1.11.1 s destination-file.txt \
1.3.6.1.4.1.9.6.1.101.87.2.1.12.1 i 4
iso.3.6.1.4.1.9.6.1.101.87.12.1.2.1 = INTEGER: 1
iso.3.6.1.4.1.9.6.1.101.87.2.1.17.1 = INTEGER: 4
iso.3.6.1.4.1.9.6.1.101.87.2.1.3.1 = INTEGER: 1
iso.3.6.1.4.1.9.6.1.101.87.2.1.4.1 = IpAddress: 0.0.0.0
iso.3.6.1.4.1.9.6.1.101.87.2.1.5.1 = INTEGER: 1
iso.3.6.1.4.1.9.6.1.101.87.2.1.7.1 = INTEGER: 2
iso.3.6.1.4.1.9.6.1.101.87.2.1.8.1 = INTEGER: 3
iso.3.6.1.4.1.9.6.1.101.87.2.1.9.1 = IpAddress: 192.168.111.18
iso.3.6.1.4.1.9.6.1.101.87.2.1.11.1 = STRING: "destination-file.txt"
iso.3.6.1.4.1.9.6.1.101.87.2.1.12.1 = INTEGER: 4
No se utilizó un simple símbolo "=" para establecer los valores porque, sin la MIB, el comando debe establecer explícitamente cada tipo de objeto ("i" para el entero, "a" para la dirección y "s" para la cadena). Los nombres de los valores ("local", "runningConfig", etc.) tampoco se pueden utilizar, ya que están definidos por la MIB, por lo que los enteros que representan esas opciones deben establecerse directamente.
Las herramientas de administración SNMP pueden ser útiles para pruebas y resolución de problemas. Este artículo utiliza el comando snmpset incluido con Net-SNMP, un conjunto de herramientas SNMP libres y de código abierto.
Para utilizar los archivos MIB del switch con Net-SNMP, primero asegúrese de que los propios archivos MIB de Net-SNMP se coloquen en una ubicación donde Net-SNMP los busque, por ejemplo, $HOME/.snmp/mibs. Sin los propios archivos MIB de Net-SNMP instalados, los MIB del switch no funcionarán correctamente.
Los archivos MIB del switch se pueden descomprimir y ubicar en la misma ubicación que los archivos MIB de Net-SNMP, pero para evitar problemas de compatibilidad, no sobrescriba las versiones Net-SNMP de cualquier archivo que se superponga entre los dos conjuntos.
Una vez que todos los archivos MIB están en una ubicación apropiada, se puede llamar a las MIB relevantes usando el argumento "-m" con el comando deseado.
Por ejemplo:
snmpget -v 3 -u snmpuser -l authPriv \
-a SHA -A [authentication_password] \
-x AES -X [privacy_password] \
-m + CISCOSB-COPY-MIB 192.168.111.253 rlCopyOptionsRequestedSsdAccess.1
"CISCOSB-COPY-MIB" es el nombre de la MIB en sí y no el archivo que la describe, que es CISCOSB-copy.mib.
Para obtener más información sobre cómo utilizar las herramientas Net-SNMP, vea la documentación y los tutoriales disponibles en el sitio Web de Net-SNMP.
Ahora ya sabe todos los pasos para activar la copia de archivos de configuración de un switch Cisco Business a un servidor TFTP a través de SNMP.
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
28-Mar-2025 |
Versión inicial |