Skip to content

fumatchu/CMDS

Repository files navigation

(C)atalyst to (M)eraki (D)eployment (S)erver - CMDS (pronounced "commands")

Please feel free to view the YT Videos for full, detailed explanation, walkthrough and deployment
Part 1 https://youtu.be/qBfwNBBGeZI
Part 2 https://youtu.be/7m1T3dSq6QE (detailed explanation)

AIO Video for installation and deployment (abridged)
https://youtu.be/JxuDTMVaCFM

Deployment Documentation:
https://docs.google.com/document/d/11V8D7SMiOxh83LpjK7glNaEX1MU6rLAe/edit?usp=sharing&ouid=113942710510622294220&rtpof=true&sd=true

Features/Additions to 1.0 (01)

Added the ability to provision Physical Addresses for the migrated switches 
Added Nested templates to port template deployment
Added Capability to deploy templates (port or nested) to ANY (migrated Catalsyt or pre-existing MS Meraki)
24 or 48 port switch in the dashboard 


This is an on-premise server platform that is designed to provide a seamless experience for migrating 
Catalyst 9300 series switches to the Meraki platform with a Dialog based menu system. 

This server will also setup and deploy pre-existing WLC's in an environment for Catalyst Wireless Monitoring (Onboarding, Physical address update, AVC) 

The server is built upon Rocky Linux and is script based. It makes this a portable solution across 
any hypervisor that will support Rocky linux, on multiple architectures. 


The Server can be configured with the following capabilities:
  (If in a Lab setting or for testing)
  -An (Optional) NTP server to service the switches
  -An (Optional) DHCP Server to service the switches
  -An (Optional) Caching name server to service the switches (for DNS resolution)
  -A TFTP server for switch config collection (mandatory)
   
  -A Set of scripts to allow you to do the following (For C9300 migration to Meraki):
    -Harvest the switches (for analysis)
    -Clean the File System on the switch (remove inactive files)
    -Validate the Version of IOS-XE running on the switch platform (16.6.2 upgrade path to 16.12, oneshot to 17.09.03m3)
    -Provide guidance on the version (s) needed to get to a supported version of IOS-XE for Meraki migration (minimum requirements and oneshot versions)
    -Deploy these (IOS-XE) changes for you
    -Deploy the upgrades on the switches
    -Validate software configurations on the switches
    -If there are any deltas in the configurations, provide guidance to put them into compliance
    -The server will then deploy these changes for you (If needed)
    -Validate hardware configurations on the switches and provide guidance for a successful upgrade
    -Deploy the switches to be registered with the Meraki Cloud
    -Provide API integration to claim the devices to the dashboard
    -Migrate hostnames
    -Provide Switch template configurations for the new deployment (assigning designated ports for wireless, cameras, etc) and deploy via API
    -Modify pre-existing (already registered) Meraki Switches to adhere to port template conversion
    -Scheduled operations for IOS-XE collection, upgrade, image deployment and meraki switch registration
     (i.e. IOS-XE images can start at 1 A.M. without any intervention, short of you requesting it, with active and archive logging capabilities)
    -Provide all logging/transaction history 
    -Configuration archival and download
    -Provide documentation of all logging and successful registration with converted Serial Numbers

 -A Set of scripts to allow you to do the following (For Catalyst Monitoring deployment- Wireless):
    -Harvest the WLC (for analysis)
      -Support Single and SSO Mode for onboarding
    -Clean the File System on the WLC (remove inactive files)
    -Validate the Version of IOS-XE running on the WLC
    -Deploy these (IOS-XE) changes for you
    -Deploy the upgrades on the WLC
    -Validate software configurations on the WLC
      -All the current requirements
      -Validate the WLC does not have a pre-existing configuration for Monitoring
      -NTP 
      -aaa new-model
      -AVC (If DNA-A)
      -DNS Lookup and ip name-server

    -If there are any deltas in the configurations, provide guidance to put them into compliance
    -The server will then deploy these changes for you (If needed)
    -Deploy the WLC (or SSO WLC) to be registered with the Meraki Cloud
    -Provide API integration to claim the devices to the dashboard
    -Update Physical Address of the WLC and AP
    -Create an Inventory CSV to download if updating physical addresses over multiple locations (for AP) and updating the Serials chosen 
    -Deploy Control Flow and update Wireless Profiles for client tracking and ip nbar
    -Provide all logging/transaction history 
    -Configuration archival and download
    -Provide documentation of all logging and successful registration with converted Serial Number


Installing- 
The requirements for installing are the following:
  -A minimal install of Rocky Linux with at least 2 GB of RAM (8 preferred) and 20 GB of Disk Space, with root access enabled (version 8 required for ssh ciphers of older Catalyst switches)
   https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.10-x86_64-minimal.iso

After the minimal installation of Rocky, in the repository, Click on the EASY_INSTALL file
Inside of this file, you will see the following lines of Code:

cd /root/
dnf -y install wget
wget https://raw.githubusercontent.com/fumatchu/CMDS/main/mig-installer.sh
chmod 700 ./mig-installer.sh
/root/mig-installer.sh

You can copy it (or from here) and paste into your terminal connection to the server via SSH to start the depndency installs