[Cisco] Hướng dẫn auto backup cấu hình Router bằng script Python
Trên HTV7 dự báo thời tiết hôm qua, bão cấp 9 đang vào TPHCM tất cả học sinh, sinh viên được nghỉ học để tránh bão. Hôm nay, mưa cả ngày ngập đường, kẹt xe rất nhiều. Nằm ở nhà trùm mền không đi đâu được. Thì thầy Bảo có cho bài tập về Back up cấu hình Router bằng script python. Mình sẽ demo cách mà mình đã làm.
Sơ đồ
- PC Linux( ở đây mình dùng Ubuntu), 2 con Router như hình.
- Đặt IP theo sơ đồ.
- Phải đảm bảo trên 2 con Router cấu hình telnet (hoặc SSH), nhưng ở đây mà sẽ dùng script để telnet kết nối từ PC đến 2 Router và lưu cấu hình về Tftp server trên PC
Sơ đồ
A. Chuẩn bị
- PC Linux( ở đây mình dùng Ubuntu), 2 con Router như hình.
- Đặt IP theo sơ đồ.
- Phải đảm bảo trên 2 con Router cấu hình telnet (hoặc SSH), nhưng ở đây mà sẽ dùng script để telnet kết nối từ PC đến 2 Router và lưu cấu hình về Tftp server trên PC
- PC mình đã cài đặt Tftp server và Python 2.7, phải đảm bảo PC telnet thành công đến 2 Router
- Các bạn có thể tham khảo bài viết trước mình đã cài đặt Tftp Server trên Ubuntu và back up cấu hình bằng cách thủ công https://haocao95.blogspot.com/2018/11/cisco-huong-dan-backup-cau-hinh-router.html
----> Ở đây mình chỉ hướng dẫn các bạn thao tác trên PC (Ubuntu)
B. Thực hiện
Trên PC mình đã chuẩn bị một đoạn script python và lưu ở Desktop
#File name: script.py #!/usr/bin/python #Script starts here import getpass import sys import telnetlib import time pwd1 = "vnpro" pwd2 = "vnpro" config = "running-config" #Create a list of router IP address, folder location and router hostname hostlist= [ ("192.168.1.254","R1","R1"), ("172.100.100.1","R2","R2"), ] #Use for loop to telnet into each routers and execute commands for host in hostlist: cmd1 = "en" cmd2 = "copy "+config+" tftp://192.168.1.100/"+host[1] #copy startup-config tftp://192.168.1.100/R tn = telnetlib.Telnet(host[0]) tn.set_debuglevel(5) time.sleep(2) tn.write(pwd1.encode('ascii') + b"\n") time.sleep(2) tn.write(cmd1.encode('ascii') + b"\n") time.sleep(2) tn.write(pwd2.encode('ascii') + b"\n") time.sleep(2) tn.write(cmd2.encode('ascii') + b"\n") time.sleep(2) tn.write(b"\n") time.sleep(2) tn.write(b"\n") time.sleep(2) tn.close() sys.exit("operation completed")#script ends here
-->> Các bạn nhớ chỉnh sửa sao cho phù hợp với những thông số trên sơ đồ mạng
Mở terminal trên PC lên
Di chuyển đến Desktop (vì script mình lưu ở desktop) và dùng python để chạy script
cd Desktop/
python script.py
Sau khi chạy thành công, vào thư mục /tftp để kiểm tra file back up đã tải về
Dùng lệnh gedit để mở và kiểm tra nội dung tập tin cấu hình của Router 1 và Router 2
Dùng lệnh gedit để mở và kiểm tra nội dung tập tin cấu hình của Router 1 và Router 2
sudo gedit /tftp/R1
sudo gedit /tftp/R2
Chúc các bạn thành công!






Nhận xét
Đăng nhận xét