/*auto readmore*/ /*auto readmore*/ /* an hien script*/ // an hien password /*an hien ma chuong trinh cong tru */ /*Scrollbox thanh cuon*/ /***Nhung CODE***/ /* dòng xanh dòng trắng */ /* https://cdnjs.com/libraries/prism lay thu vien, can vao ten file ma goi 1. copy link vao vi du:prism-python.min.js 2. ten ngon nua la python */ /*=== New posts ===*/ /*header slider*/ /*=== bai viet lien quan===*/ /*===tabcode===*/

Network Automation #000 - Netmiko Basic SSH To Router With Command Show

SƠ ĐỒ LAB:
YÊU CẦU: 

Dùng thư viện netmiko trên python SSH vào thiết bị và thực hiện những lệnh show căn bản


THỰC HIỆN:
1. Chuẩn bị cấu hình trên Router

conf t
hostname R_1
ip domain name NETMIKO.lab
no ip domain-lookup
banner motd #===R_1 NETMIKO LAB===#

username admin privilege 15 password admin1234
service password-encryption
 
line con 0
logging synchronous
login local
exit
line vty 0 4
login local
transport input all
crypto key generate rsa general-keys modulus 1024
ip ssh version 2
 
interface Et0/0
no shutdown
ip address 192.168.0.1 255.255.255.0
description ===Connect to PC===
exit
!
end
wri   
Tham khảo cấu hình mẫu/cấu hình cơ bản tại đây


2. Python script Netmiko SSH connection

#!/usr/bin/env python3
import netmiko

# Định nghĩa thông tin thiết bị trong dictionary (thông tin cấu hình trong phần chuẩn bị cấu hình)
device_info = {
    "host": "192.168.0.1",
    "port": 22,
    "username": "admin",
    "password": "admin1234",
    "device_type": "cisco_ios"
}

print("Connecting to {}...".format(device_info["host"])) # print ra dong Connecting to + IP được định nghĩa ở trong dictionnary

net_connect = netmiko.ConnectHandler(**device_info) # Dùng hàm ConnectHandler trong thư viện netmiko để kế nối đến thiết bị

print("Connected successfully") # in ra dòng kết nối thành công
net_connect.enable() # vào mode enable
#net_connect.config_mode() # vào mode config terminal 

 
while True: 
    hostname = net_connect.find_prompt() # Trả về dấu nhắc hiện tại
    command = input(hostname) # in ra những gì trước dấu nhắc (trường hợp này là hostname)
    if command != "exit" and command != "quit": # nếu không không phải là exit hay quit thì thực hiện lệnh show
        output = net_connect.send_command(command) # thực hiện lệnh show vừa gõ
        print(output) # in qa kết quả thực hiện lênh show
    else:   
        break   # kết thúc vòng lặp while (khi chúng ta gõ exit hay quit)

net_connect.disconnect()
P/s: copy nội dung trên lưu thành file Demo.py lưu vào C:\Python\Demo.py

3. Kiểm tra kết nối và thực hiện lệnh show

  • Thực hiện ở Command Prompt
c:\Python>python Demo.py
Connecting to 192.168.0.1...
Connected successfully
R_1#

  • Tiếp tục thực hiện lênh show ip int bri 
R_1#show ip int bri
Interface                  IP-Address      OK? Method Status                Protocol
Ethernet0/0                192.168.0.1     YES NVRAM  up                    up
Ethernet0/1                unassigned      YES NVRAM  administratively down down
Ethernet0/2                unassigned      YES NVRAM  administratively down down
Ethernet0/3                unassigned      YES NVRAM  administratively down down
R_1#

  • Hoặc thực hiện bất cứ lệnh show nào bạn thích
Nói chung các bạn có thể dùng netmiko thay thế cho các công cụ remote khác nếu bạn thích.
  • Chụp hình kết quả thực hiện


Xong!

No comments:

Post a Comment

/*header slide*/