import telnetlib try: import paramiko except ModuleNotFoundError: print("Error - Requires paramiko to be installed - pip install paramiko") exit() def login(): tn.read_until(b"Username: ") tn.write(b"cisco\n") tn.read_until(b"Password: ") tn.write(b"cisco\n") def lo0(): tn.read_until(b"#") tn.write(b"conf t\n") tn.read_until(b"#") tn.write(b"interface Lo0\n") def finish(): tn.write(b"end\n") tn.write(b"wr\n") tn.write(b"exit\n") #Update DNS records import paramiko ssh_client =paramiko.SSHClient() ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh_client.connect(hostname='10.133.100.10',username='cisco',password='cisco') stdin, stdout, stderr = ssh_client.exec_command("curl -Os https://raw.githubusercontent.com/mytechgnome/CML-TE-Lab/main/db.cml.lab") stdin, stdout, stderr = ssh_client.exec_command("sudo service bind9 stop") #stdin.write('cisco\n') stdin, stdout, stderr = ssh_client.exec_command("sudo mv db.cml.lab /etc/bind/db.cml.lab -f") stdin, stdout, stderr = ssh_client.exec_command("sudo service bind9 start") ssh_client.close() print("DNS updated\n") #Correct IR2-2 Gi0/0 IP address, and update BGP config tn = telnetlib.Telnet("10.81.82.1") login() tn.read_until(b"#") tn.write(b"telnet 10.72.81.1\n") login() tn.write(b"conf t\n") tn.write(b"interface gi0/0\n") tn.write(b"ip add 10.71.72.2 255.255.255.0\n") tn.write(b"router bgp 65012\n") tn.write(b"no neighbor 10.72.72.1 remote-as 65012\n") tn.write(b"neighbor 10.71.72.1 remote-as 65012\n") tn.write(b"address-family ipv4\n") tn.write(b"no network 10.72.72.0 mask 255.255.255.0\n") tn.write(b"no neighbor 10.72.72.1 activate\n") tn.write(b"network 10.71.72.0 mask 255.255.255.0\n") tn.write(b"neighbor 10.71.72.1 activate\n") tn.write(b"end\n") tn.write(b"wr\n") tn.write(b"exit\n") tn.write(b"exit\n") print("IR2-2 Gi0/0 updated\n") #Correct PR3-2 Gi0/4 config tn = telnetlib.Telnet("10.82.132.2") login() tn.read_until(b"#") tn.write(b"conf t\n") tn.read_until(b"(config)") tn.write(b"interface Gi0/3\n") tn.write(b" no description\n") tn.write(b" no ip address\n") tn.write(b" shut\n") tn.write(b"interface Gi0/4\n") tn.write(b" description PR3-2 gi0/3 to IR2-2 gi0/3\n") tn.write(b" ip address 10.72.132.2 255.255.255.0\n") tn.write(b" no shut\n") tn.write(b" no shut\n") tn.write(b"end\n") tn.write(b"wr\n") tn.write(b"exit\n") print("PR3-2 Gi0/4 updated\n") #Add Loopback interfaces tn = telnetlib.Telnet("10.11.12.1") login() lo0() tn.write(b"ip add 10.255.255.1 255.255.255.255\n") tn.write(b"no sh\n") tn.write(b"router bgp 65001\n") tn.write(b"address-family ipv4 unicast\n") tn.write(b"network 10.255.255.1 mask 255.255.255.255\n") finish() tn = telnetlib.Telnet("10.11.12.2") login() lo0() tn.write(b"ip add 10.255.255.2 255.255.255.255\n") tn.write(b"no sh\n") tn.write(b"router bgp 65001\n") tn.write(b"address-family ipv4 unicast\n") tn.write(b"network 10.255.255.2 mask 255.255.255.255\n") finish() tn = telnetlib.Telnet("10.61.62.1") login() lo0() tn.write(b"ip add 10.255.255.3 255.255.255.255\n") tn.write(b"no sh\n") tn.write(b"router bgp 65011\n") tn.write(b"address-family ipv4 unicast\n") tn.write(b"network 10.255.255.3 mask 255.255.255.255\n") finish() tn = telnetlib.Telnet("10.61.62.2") login() lo0() tn.write(b"ip add 10.255.255.4 255.255.255.255\n") tn.write(b"no sh\n") tn.write(b"router bgp 65011\n") tn.write(b"address-family ipv4 unicast\n") tn.write(b"network 10.255.255.4 mask 255.255.255.255\n") finish() tn = telnetlib.Telnet("10.71.72.1") login() lo0() tn.write(b"ip add 10.255.255.5 255.255.255.255\n") tn.write(b"no sh\n") tn.write(b"router bgp 65012\n") tn.write(b"address-family ipv4 unicast\n") tn.write(b"network 10.255.255.5 mask 255.255.255.255\n") finish() tn = telnetlib.Telnet("10.71.72.2") login() lo0() tn.write(b"ip add 10.255.255.6 255.255.255.255\n") tn.write(b"no sh\n") tn.write(b"router bgp 65012\n") tn.write(b"address-family ipv4 unicast\n") tn.write(b"network 10.255.255.6 mask 255.255.255.255\n") finish() tn = telnetlib.Telnet("10.81.82.1") login() lo0() tn.write(b"ip add 10.255.255.7 255.255.255.255\n") tn.write(b"no sh\n") tn.write(b"router bgp 65013\n") tn.write(b"address-family ipv4 unicast\n") tn.write(b"network 10.255.255.7 mask 255.255.255.255\n") finish() tn = telnetlib.Telnet("10.81.82.2") login() lo0() tn.write(b"ip add 10.255.255.8 255.255.255.255\n") tn.write(b"no sh\n") tn.write(b"router bgp 65013\n") tn.write(b"address-family ipv4 unicast\n") tn.write(b"network 10.255.255.8 mask 255.255.255.255\n") finish() tn = telnetlib.Telnet("10.21.22.1") login() lo0() tn.write(b"ip add 10.255.255.9 255.255.255.255\n") tn.write(b"no sh\n") tn.write(b"router bgp 65002\n") tn.write(b"address-family ipv4 unicast\n") tn.write(b"network 10.255.255.9 mask 255.255.255.255\n") finish() tn = telnetlib.Telnet("10.21.22.2") login() lo0() tn.write(b"ip add 10.255.255.10 255.255.255.255\n") tn.write(b"no sh\n") tn.write(b"router bgp 65002\n") tn.write(b"address-family ipv4 unicast\n") tn.write(b"network 10.255.255.10 mask 255.255.255.255\n") finish() tn = telnetlib.Telnet("10.131.133.1") login() lo0() tn.write(b"ip add 10.255.255.11 255.255.255.255\n") tn.write(b"no sh\n") tn.write(b"router bgp 65023\n") tn.write(b"address-family ipv4 unicast\n") tn.write(b"network 10.255.255.11 mask 255.255.255.255\n") finish() tn = telnetlib.Telnet("10.82.132.2") login() lo0() tn.write(b"ip add 10.255.255.12 255.255.255.255\n") tn.write(b"no sh\n") tn.write(b"router bgp 65023\n") tn.write(b"address-family ipv4 unicast\n") tn.write(b"network 10.255.255.12 mask 255.255.255.255\n") finish() tn = telnetlib.Telnet("10.133.100.1") login() lo0() tn.write(b"ip add 10.255.255.13 255.255.255.255\n") tn.write(b"no sh\n") tn.write(b"router bgp 65023\n") tn.write(b"address-family ipv4 unicast\n") tn.write(b"network 10.255.255.13 mask 255.255.255.255\n") finish() tn = telnetlib.Telnet("192.168.1.42") login() lo0() tn.write(b"ip add 10.255.255.14 255.255.255.255\n") tn.write(b"no sh\n") tn.write(b"router bgp 65031\n") tn.write(b"address-family ipv4 unicast\n") tn.write(b"network 10.255.255.14 mask 255.255.255.255\n") finish() print("Loopbacks added\n") print("Update complete\n")