Book Image

Practical Network Automation

By : Abhishek Ratan
Book Image

Practical Network Automation

By: Abhishek Ratan

Overview of this book

Network automation is the use of IT controls to supervise and carry out every-day network management functions. It plays a key role in network virtualization technologies and network functions. The book starts by providing an introduction to network automation, SDN, and its applications, which include integrating DevOps tools to automate the network efficiently. It then guides you through different network automation tasks and covers various data digging and reporting methodologies such as IPv6 migration, DC relocations, and interface parsing, all the while retaining security and improving data center robustness. The book then moves on to the use of Python and the management of SSH keys for machine-to-machine (M2M) communication, all followed by practical use cases. The book also covers the importance of Ansible for network automation including best practices in automation, ways to test automated networks using different tools, and other important techniques. By the end of the book, you will be well acquainted with the various aspects of network automation.
Table of Contents (14 chapters)
Title Page
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Device configurations


We need to deploy three routers with a standard base configuration. The base configuration remains the same on each router, but as each router is different, we need to automate the generation of the three config files for each router. The assumption is that all the routers have a standard hardware configuration with the same types of ports:

As we can see in the diagram, routers R1, R2, and R3 have the following cabling:

  • R1 f1/0 (FastEthernet1/0) connected R2 f1/0
  • R1 f0/0 connected to R3 f0/0
  • R2 f0/1 connected to R3 f0/1

The standard config or template is as follows:

 hostname <hname>
 ip domain-lookup
 ip name-server <nameserver>
 logging host <loghost>
 username cisco privilege 15 password cisco
 enable password cisco
 ip domain-name checkmetest.router
line vty 0 4
 exec-timeout 5

Adding some more complexity, we need to ensure the name-server is different for each router. If each router is going to be deployed in different networks, here is the mapping that...