Python Network Automation


Network automation is the process of automating the configuration, management, testing, deployment, and operations of physical and virtual devices within a network. Every day network tasks and functions are performed automatically. Python provides a number of useful libraries for network automation such as Napalm and Netmiko. Napalm is a vendor neutral, cross-platform open source project that provides a unified API to network devices. It works with the most popular automation frameworks. Napalm makes it easier to configure multiple vendor devices. On the other hand, Netmiko provides useful API for SSH/Telnet automation. In this course, your will learn how to automate the configuration of network devices using NAPALM and Netmiko.

Course Objectives:

  • Connecting to a switch using NAPALM
  • Using JSON with NAPALM
  • Using NAPALM to retrieve BGP neighbors
  • Connecting to multiple BGP routers
  • Automating large BGP networks
  • Configuring ACLs using NAPALM
  • Auditing your device configurations


7 hours, 1 Day Course

Mode of Delivery

Classroom-based, Instructor-led Training

Course Outlines

  1. Overview of Network Automation
    1. What is Network Automation
    2. Types of Network Automation
    3. Benefits of network automation
  2. Network Automation with Netmiko
    1. What is Netmiko?
    2. Install Netmiko
    3. Enable SSH on Switches
    4. Netmiko SSH Script
    5. Program Mulitple Switches
  3. Network Automation with Napalm
    1. What is Napalm?
    2. Install Napalm
    3. Connect to a Switch
    4. MAC Address Table
    5. ARP Cache
  4. BGP Automation
    1. What is Border Gateway Protocol (BGP)?
    2. Use Napalm to Automate BGP Networks
    3. Multiple BGP Networks
  5. Device Configuration
    1. What is Network Access Control List (ACL)
    2. Modify ACL
    3. ACL Configuration with Napalm