¡Hola!

En este blog, mi segundo post sobre CML, te brindo un resumen rápido de Cisco Modeling Labs v2.1

Aquí, una Introducción rápida a Cisco Modeling Labs v2.1:

  1. CML es una Plataforma de Simulación de Red, desarrollado por Cisco Systems.
  2. Es la evolución de CML 1.0, (Antiguo VIRL) aunque fué re-construido desde cero.
  3. Arquitecrtura basada en Servicios Web API-REST.
  4. Soporte para la Automatización.
  5. Ofrece amplia documentación para Usuario Final y soporte de la comunidad DevNet.
  6. Ofrece documentación de Usuario Final y de Administración.
  7. Tiene una interfaz, de nombre Breakout Tool , la cual permite la conexión desde una app externa a CML, de consola del usuario, para gestionar los nodos.
CML está disponible en 4 versiones:
  1. Personal para 20 nodos.
  2. Personal Plus para 40 nodos.
  3. Enterprise para 300 nodos.
  4. Education



Entre los principales beneficios de CML v2.1, tenemos:

  1. Es utilizado para crear redes virtuales, para estudios de certificación, para dar clases de tecnologías o para probar nuevos protocolos, productos o cambios de configuración..
  2. Está integrado a un Ecosistema NetDevOps, habilitando al usuario a validar cambios en la red basados en un Workflow de Automatización.
  3. Está disponible desde el portal de DevNet SandBoxes (Buscar y Seleccionar Sandboxes CML).


"Esta opción ofrece un CML 100% operativo y con todas las funcionalidades, además de brindar un laboratorio o escenario completo para su configuración"


Dentro de sus principales características tenemos:

  • PERSISTENCIA. Es decir, los LABS pueden detenerse e incluso apagar la VM y los discos de los nodos, se mantienen, no se borran. Esto permite volver a encender el lab y contar con la misma configuración y estado de los equipos, incluyendo crypto-keys, licencias y paquetes instalados.
  • LIFECYCLE PROGRAMMABILITY: Permite la creación de LABS vía API, y desarrollar una simulación completa del ciclo de vida basado en el paradigma NetDevOps y con enfoque en CI/CD Automation, apoyándose en herramientas como Git y Ansible para el Configuration Management.
  • Para hacer uso de las API, CML ofrece varias herramientas:
    • HTML5 UI
    • Utilidades como BreakOut Tool
    • Python Client Library (cmutils -instalar via pip)
    • API Documentation via Swagger. (Accesible desde el Menu TOOLS)
  • EXTENSIBILIDAD: CML permite la creación y agregación de nuevos nodos, tanto Cisco como de terceros para ser usados en el Workbench. Esto se logra haciendo una carga de las imagen formateada del nodo en formato QCOW2, desde el menú TOOLS, luego NODE AND IMAGE DEFINITIONS. Se puede clonar el repositorio git para trabajar con los archivos y recursos de extensibilidad y automatización aquí. https://github.com/CiscoDevNet/cml-community
  • BARE METAL DEPLOYMENT: CML se puede instalar en un servidor físico. Seguir aquí las instrucciones. y los requerimientos mínimos del sistema:
  • TROUBLESHOOTING: Se realiza a través de la herramienta Cockpit y directo a la consola de linux, con el usuario y clave de administrador creados durante el proceso de instalación. Se puede ingresar vía https://direccionIP:9090.

Aquí una imagen de la interfaz web para el acceso a la utilidad Cockpit.

  • LICENCIAS PERSONAL y ENTERPRISE: CML requiere de una licencia válida para hacer uso de los nodos. En el caso de la PERSONAL, la licencia se puede descargar directamente desde tu cuenta en la Cisco Learning Network Store, copiar y pegar en la sección de Licencias de CML. Para el escenario de ENTERPRISE, se debe contar con acceso a CSSM o Cisco Smart Software Manager Web Portal para Smart Licensing. CSSM actúa como la Organización, desde donde se pueden generar múltiples cuentas Virtuales para usuarios de la empresa que van a hacer uso de la licencia CML Enterprise. Las Cuentas Virtuales, asignan un TOKEN válido por usuario para registrarlo en CML.
  • CONECTIVIDAD EXTERNA: CML ofrece conectividad L3 vía NAT, asignando el segmento 192.168.255.0/24. Este modelo es útil cuando queremos dar salida a nuestro LAB, por ejemplo dar acceso a Internet a los nodos del LAB. CML también ofrece conectividad L2. En este escenario, se pueden compartir con la red física las topologías de capa 2 y capa 3, haciendo que CML participe en la configuración de la red activa. Cuando se utiliza este método un nodo IOSvL2, participara en el STP, VTP, Trunk y cualquier otro mecanismo L2/L3 que está activo en la red. Se recomienda, utilizar filtro BPDU y apagar la negociación de TRUNK, para evitar escenarios inesperados en la red física. NOTA: Las conexiones externas, no se cuentan como NODOS licencias, por lo tanto, podrás instanciar tantas como necesites y como recursos soporte tu VM.
  • CAPTURADOR DE PAQUETES: CML permite la captura de paquetes directamente en la interfaz Web y exportarlo como archivo PCAP para futuros análisis. Es posible también capturar los paquetes y hacer búsqueda dentro del paquete analizado, en la misma UI.
  • CONFIGURATION BOOTSTRAP: CML permite la configuración básica y automática de varias imágenes en varios nodos. Ver RFC 925 - Multi-LAN Address Resolution - https://tools.ietf.org/html/rfc925.html
  • LINK CONDITIONING: CML permite manipular las condiciones de un enlace entre dos equipos. Se requiere el uso del WAN EMULATOR.
  • API y PYTHON CLIENT LIBRARY: CML expone sus funcionalidades, vía API endpoint. Es posible capturar tráfico, habilitar link conditioning, activar accesos de usuarios, entre otras funcionalidades. Aunque su potencialidad está en facilitar y dar soporte a la automatización. Para hacer uso de la API, se debe utilizar el JWT Token, el cual también puede ubicarse directamente en la Documentación API. CML viene con un Swagger instalado el cual ofrece toda la documentación necesaria para hacer uso de las API.
  • LABORATORIOS DE EJEMPLO: Una vez instalado CML, puedes ir al menú TOOL y luego seleccionar SAMPLE LABS. Selecciona el de tu preferencia, con base a los recursos de tu CML y empieza a practicar.
  • PLATAFORMAS DE REFERENCIA: Son las instancias virtuales del sistema Operativo de Cisco, tales como CSR1000v, ASAv y IOS-XR 9000v, así como otras disponibles solo en CML, IOSv y IOSvL2. Son software de paridad con las plataformas físicas. CML v2.1 también, ofrece otras imagenes que dan soporte a Linux Server VM, Desktop VM, Traffic Generator and a Bump on the Wire WAN Emulator.

Para finalizar el post, te dejo los enlaces oficiales, de CML v2.1:

  1. CML 2.1 release notes:
    1. https://developer.cisco.com/docs/modeling-labs/#!cml-2-1-release-notes
  2. Guía del Usuario para CML 2.1
    1. https://developer.cisco.com/docs/modeling-labs/#cml-users-guide
  3. Guía del Administrador para CML 2.1
    1. https://developer.cisco.com/docs/modeling-labs/#cml-administrators-guide
  4. Preguntas Frecuentes de CML v2.1:
    1. https://developer.cisco.com/docs/modeling-labs/#!faq/faq---cisco-modeling-labs-v2x

Y tabmbién puedes descargar el repositorio de CML desde Git, utilizando este enlace:

¡Nos vemos en otra pubicación!

Saludos y éxito

Jesús Espinoza

The House of Routing