Nota di contenuto |
Intro -- Table of Contents -- About the Author -- About the Technical Reviewer -- Acknowledgments -- Introduction -- Chapter 1: Building a Python Network Automation Lab Environment -- Embarking on the Next Phase of Your Python Network Automation Journey -- Empowering Your Network Automation Journey with GNS3 and Cisco CML Integration -- Before Integrating Cisco CML Images in GNS3 -- Integrating Cisco CML L2 and CML L3 Images on Your GNS3 -- Installing Cisco CML L2 Switch on GNS3 -- Quick Ping Test on CML L2 Switch -- Installing the Cisco CML L3 Router on GNS3 Using the Import Appliance Option -- Quick Ping Test on the CML L3 Router -- Building a CML Lab Topology -- Summary -- Storytime 1: Still Enjoying the Most Expensive Sandwich in the World -- Chapter 2: Python Network Automation Labs - Basic Telnet -- Outline Placeholder -- Python Network Automation: Network Engineer's interface -- Telnet Lab 1: Interactive Telnet Session to Cisco Devices on a Python Interpreter -- Telnet Lab 2: Configure a Single Switch with a Python Telnet Template -- Telnet Lab 3: Configure Random VLANs Using a for Loop -- Telnet Lab 4: Configure Random VLANs Using a while Loop -- Telnet Lab 5: Configure 100 VLANs Using the for ~ in range Loop -- Telnet Lab 6: Add a Privilege 3 User on Multiple Devices Using IP Addresses from an External File -- Telnet Lab 7: Taking Backups of running-config (or startup-config) to Local Server Storage -- Summary -- Chapter 3: Python Network Automation Labs: SSH in Action, paramiko and netmiko Labs -- The Enduring Role of SSH in Network Infrastructure: Navigating the Evolution of Remote Management Tools -- Python Network Automation Labs Using the paramiko and netmiko Libraries -- Checking the SSH in Action on a Linux Server -- Checking the SSH in Action on Cisco Devices -- Python SSH Labs: paramiko.
paramiko Lab 1: Configure the Clock and Time Zone of All Devices Interactively in the Python Interpreter -- paramiko Lab 2: Configuring an NTP Server on Cisco Devices Without User Interaction (NTP Lab) -- paramiko Lab 3: Create an Interactive paramiko SSH Script to Save Running Configurations to the TFTP Server -- Python SSH Labs: netmiko -- Installing the netmiko Library -- netmiko Lab 1: netmiko Uses a Dictionary for Device Information, Not a JSON Object -- netmiko Lab 2: Develop a Simple Port Scanner Using a Socket Module and Then Develop a netmiko Disable Telnet Script -- netmiko Lab 3: config compare -- Summary -- Chapter 4: Python Network Automation Labs cron -- Unveiling the Power of cron in Python Networking -- Cloning a GNS3 Project for the Next Lab -- Router Failure Simulation, P1 Network Recovery -- Lab Pre-Task, Deleting VPCS and Adding More L2 Switches -- Quick-Start to the Linux Scheduler, cron -- Ubuntu LTS Task Scheduler: crontab -- Fedora Task Scheduler: crond -- Learn cron Job Definitions with Examples -- Summary -- Chapter 5: Python Network Automation Labs: SNMP Discovery with Python -- Bridging Theory and Practice: Learning About SNMP with Python -- Quick-Start Guide to SNMP -- Quick SNMP History -- Types of System Monitoring -- Comparison Table: SNMP vs. Syslog vs. APIs -- SNMP Standard Operation -- SNMP Polling vs. the Trap (Event Reporting) Method -- SNMP Versions -- Understanding the SNMP Protocol in the TCP/IP Stack -- About SNMP Message Types -- Understanding SNMP's SMI, MIB, and OID -- SNMP Access Policy -- Synchronous vs. Asynchronous Communication While Using SNMP Traps -- SNMP Tools and Python Integrations -- Using Python to Run an SNMPv3 Query -- SNMP-Related Python Libraries -- Understanding MIBs and OIDs and Browsing OIDs Directly -- Learning to Use SNMPwalk on a Linux Server.
Installing and Configuring SNMP Server on Fedora -- Configuring Cisco Routers and Switches to Support SNMPv3 Using a Python Script -- Troubleshooting SSH Connections Between Fedora and Cisco Devices -- Configuring SNMP Agents (engineID, group, and user) on Cisco Devices -- Doing the SNMPwalk on the Linux Server -- Borrowing Some Example Python SNMP Code -- SNMP Lab Source Code -- SNMPv3 Python Code to Query Cisco Device Information -- Using Python SNMP Code to Run a Query for an Interface Description -- Summary -- Chapter 6: Python Network Automation Virtual Lab 1: Ansible and pyATS in Python virtualenv -- Python Virtual Lab 1: Ansible and pyATS in Python virtualenv -- Navigating the Ansible and pyATS Networking Tools -- Lab 1: Quick-Start Guide to Ansible in virtualenv -- Installing virtualenv and Getting Started with Ansible -- Lab 2: Quick-Start Guide to pyATS (Genie) in virtualenv -- Summary -- Storytime 2: Doubling Down! -- Chapter 7: Python Network Automation Virtual Lab 2: Sendmail Email Notification and Twilio SMS Notification on Docker -- Cost-Efficient IT Operations: Leveraging Docker for Python Networks -- Expense Optimization in Python Networking: Docker, Kubernetes Impact -- Python Network Automation Virtual Lab 2: Docker and Twilio SMS -- Lab 1: Sendmail Lab Using an Imported Docker Image -- Docker Components, Account Registration, and Installation -- Docker Installation Procedure -- Test-Driving Docker -- Lab 2: Sendmail Python Lab Using Docker -- Lab Prerequisites -- Lab 3: Sendmail Email Notification Script Development in Docker -- Lab 4: CPU Utilization Monitoring Lab: Send an SMS Message Using Twilio -- Lab 5: TWILIO Account Creation: Install Twilio Python Module and Set Up an SMS Message -- Lab 6: CPU Utilization Monitoring Lab with an SMS Message -- Summary -- Chapter 8: Upgrading Multiple Cisco IOS Routers.
Empowering Python Network Automation: Unveiling OOP and Real-world Scenarios -- Applying OOP Concepts to Your Network -- Managing Flow Control and User Input: UID, PWD, and Information Collection -- Proactive Patch Management and Zero Trust: Shaping Network Security -- Router IOS Upgrade Lab Preparation -- Cisco Catalyst 8000v IOS XE Software and Download -- Cisco Catalyst 8000v Installation on VMware Workstation -- How an IOS (IOS XE/XR) Is Upgraded on Cisco Devices -- Tasks Involved in a Cisco IOS Upgrade -- Summary -- Chapter 9: Cisco IOS-XE Upgrade Tools Development Part 1 -- Mastering Cisco IOS Upgrades using Python: A Comprehensive Guide for Network Engineers -- Tools Development 1: Network Connectivity and Socket Validation Tool -- Tools Development 2: Login Credentials and User Input Collector -- Tools Development 3: Collect a New IOS File Name and MD5 Value from a CSV File -- Tools Development 4: Check the MD5 Value of the New IOS on the Server -- Tools Development 5: Check the Flash Size on Cisco Routers -- Tools Development 6: Make Backups of running-config, Interface Status, and Routing Table -- Summary -- Chapter 10: Cisco IOS-XE Upgrade Tools Development: Part 2 -- Cisco IOS Upgrade Application Development (Continued) -- Tools Development 7: IOS Uploading and More Pre-check Tools Development -- Tools Development 8: Check the New IOS MD5 Value on the Cisco Device's Flash -- Tools Development 9: Options to Stop or Reload the Routers -- Tools Development 10: Check the Reloading Device and Perform a Post-Reload Configuration Verification -- Summary -- Storytime 3: IT Evolution: Unraveling the Cloud's Impact with Chicken Littles -- Chapter 11: Upgrading the Application and Routers -- Python Mastery for Network Automation: Building the Final IOS Upgrade Tool -- Summary -- Chapter 12: Installing NetBox (IPAM/DCIM) with Python.
What Is NetBox, and Why Do You Need It? -- Some NetBox Features -- What NetBox Is Not -- Server Specifications, Dependencies, and Functions -- NetBox Concept: The "Site" Is the Core of NetBox -- NetBox IP Address Management (IPAM): High-Level Overview -- Changing NetBox into Multi-tenancy IPAM -- NetBox 3 Manual Installation on Ubuntu 22.04 LTS -- NetBox 3 Automated Python Script Installation on Ubuntu 22.04 LTS -- Summary -- Storytime 4: Embarking on the Python Programming Odyssey: A Journey of Network Automation and Career Advancement -- Index.
|