Hiển thị các bài đăng có nhãn NetworkPython. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn NetworkPython. Hiển thị tất cả bài đăng

Thứ Hai, 13 tháng 4, 2020

Tiếp nối theo Series Python for Networking - Part 1, hôm nay chúng ta sẽ có 1 bài thực hành về python kết hợp với Netmiko
Yêu cầu: 
  • Viết file python kết nối tới nhiều switch cisco, backup cấu hình với câu lệnh "show run" và tự động trích xuất ra file text
  • Đã tham khảo Part1 - Nếu chưa bạn có thể truy cập Tại Đây

Bước 1: Tạo file và chỉnh sửa file

  1. Tạo file [hosts_of_switch_layer2.txt] file sẽ chứa IP address của những thiết bị
Series Python for Networking - Part 2 - Backup Config and Write to File
Ảnh tạo file host.txt với IP của thiết bị
CHÚ Ý: Mỗi địa chỉ IP cách nhau bằng xuống dòng

     2. Tạo file python và chèn code bên dưới

# Import program dependencies
from netmiko import ConnectHandler
import getpass

# Read from a list of hostnames to connect to
hosts = open('hosts_of_switch_layer2.txt','r')
hosts = hosts.read()
hosts = hosts.strip().splitlines()

# Get UserName and password from input
userName = input('Username: ')
passWord = getpass.getpass()

# Loop to process hosts in hosts.txt file
for host in hosts:
# Define device type and connection attributes
Brocade_ICX = {

'device_type': 'cisco_ios',
'ip': host,
'username': userName,
'password': passWord
}

# Netmiko SSH Connection Handler
net_connect = ConnectHandler(**Brocade_ICX)

#open file to write command output
file = open(host + '_output.txt', 'w')

# Execute commands
output = net_connect.send_command('skip-page-display')
output = net_connect.send_command('show run')

# Print output to console screen
print('-------------- Output from ' + host + ' successful ------------------')
#print(output)
#print()
print()

# Write output to file above
file.write(output)
file.close()
Series Python for Networking - Part 2 - Backup Config and Write to File
Ảnh code thực hiện yêu cầu

Bước 2: Thực thi và kiểm tra kết quả

  1. Thực thi file
Series Python for Networking - Part 2 - Backup Config and Write to File
Ảnh thực thi file python với cú pháp python tên file.py 

Series Python for Networking - Part 2 - Backup Config and Write to File
Ảnh cần nhập username và password ssh tới thiết bị

Nhập Username và Password SSH của thiết bị

Series Python for Networking - Part 2 - Backup Config and Write to File
Ảnh thông báo thành công từ powershell và file được xuất ra

Đã thực thi xong file, kết quả xuất ra màn hình và 2 file được tạo ra đúng với số lượng IP trong file host
        
      2. Kiểm tra file được tạo ra
Series Python for Networking - Part 2 - Backup Config and Write to File
Ảnh file được xuất ra đúng với yêu cầu


>>>>>>>>>>> tại đây  <<<<<<<<<

=================== Good Luck =================

Chủ Nhật, 25 tháng 8, 2019


Thread: 
Thao tác cơ bản với Thiết bị Cisco (Switch) với thư viện Netmiko Python trong môi trường Windows
Prepare:
Thiết lập những bước căn bản cho Router; Switch có thể hoạt động và dùng được chức năng Telnet tham khảo tại đây

Bước 1: Download và cài đặt “python-3.8.2”

Download python-3.8.2
Sau khi download tiến hành cài đặt theo những bước hướng dẫn dưới đây:

Series Python for Networking - Part 1 - Python Telnet/SSH with Netmiko
Ảnh Tick chọn Add Python 3.8 to PATH
Tick chọn Add Python 3.8 to PATH --> mục đích tự add biến trong windows, chúng ta không cần làm cực

Series Python for Networking - Part 1 - Python Telnet/SSH with Netmiko
Ảnh Tick chọn những mục theo yêu cầu
Nhớ Tick chọn đầy đủ và đường dẫn nên để mặc định

Series Python for Networking - Part 1 - Python Telnet/SSH with Netmiko
Ảnh Tick chọn những mục yêu cầu
Quá trình được hoàn tất.
Series Python for Networking - Part 1 - Python Telnet/SSH with Netmiko
Ảnh cài đặt thành công Python 3.8.2 cho windows

Kiểm tra xem đã cài đặt python thành công chưa:

Series Python for Networking - Part 1 - Python Telnet/SSH with Netmiko
Ảnh cách chạy Command Prompt với quyền Administrator 
Chúng ta chạy Command Prompt với quyền của Admin và đánh câu lệnh sau:
pip
Series Python for Networking - Part 1 - Python Telnet/SSH with Netmiko
Ảnh kiểm tra python đã được cài đặt thành công hay chưa
Thông báo như trên là chúng ta đã hoàn thành!
Bước 2: Update Pip và cài đặt Netmiko

Vẫn tiếp tục chạy Command Prompt với quyền của Admin và đánh câu lệnh sau:
python -m pip install –upgrade pip
Series Python for Networking - Part 1 - Python Telnet/SSH with Netmiko
Ảnh update python với câu lệnh python -m pip install --upgrade pip

CHÚ Ý: phải chạy với quyền Administrator mới thành công!

Tiếp tục là cài đặt Netmiko với câu lệnh sau:
pip install netmiko 
Series Python for Networking - Part 1 - Python Telnet/SSH with Netmiko
Ảnh install netmiko với câu lệnh pip install netmiko
Khi cả hai đều thành công chúng ta sẽ qua bước tiếp theo.

Bước 3: Tạo và thực thi file python

Trong khoảng trống của folder chứ dự án chúng ta đang làm --> chuột phải --> chọn New --> Text Document
Series Python for Networking - Part 1 - Python Telnet/SSH with Netmiko
Ảnh tạo file text bước đầu để tạo file python

Đặt tên cho file và nhớ phần mở rộng phải là .py
Series Python for Networking - Part 1 - Python Telnet/SSH with Netmiko
Ảnh tạo file Python với đuôi mở rộng là .py

Chỉnh sửa file vừa được tạo ra, thực hiện theo hình bên dưới: 
Series Python for Networking - Part 1 - Python Telnet/SSH with Netmiko
Ảnh chỉnh sửa file python bằng IDLE

Vd: Gõ những lệnh sau đây để kết nối tới 1 thiết bị và show flash: trên thiết bị
Series Python for Networking - Part 1 - Python Telnet/SSH with Netmiko
Ảnh code ví dụ show flash thiết bị cisco bằng Python
Đây là code bên trên:
from netmiko import ConnectHandler
from datetime import date

net_connect = ConnectHandler(
device_type='cisco_ios',
username='admin', # Username SSH CẦN THAY THẾ ĐÚNG Username SSH CỦA THIẾT BỊ
password='password' ,# Password SSH CẦN THAY THẾ ĐÚNG Password SSH CỦA THIẾT BỊ
host='172.16.100.21',# IP CẦN THAY THẾ ĐÚNG IP THIẾT BỊ
)

output = net_connect.send_command('show flash:')
print(output)

CHÚ Ý: CHÚNG TA CÓ THỂ DÙNG CÁCH KHÁC ĐỂ TẠO VÀ CHỈNH SỬA FILE PYTHON
Thực thi file python vừa tạo:
Tại thư mục đang làm việc [ĐÈ VÀ GIỮ PHIM Shift TRÊN BÀN PHÍM] + Click Chuột Phải ta sẽ thấy được Open PowerShell window here:

Series Python for Networking - Part 1 - Python Telnet/SSH with Netmiko
Ảnh cách mở Powershell tại vị trí mong muốn
Tiếp tục gõ lệnh:
 python [tenfilepython].py
Series Python for Networking - Part 1 - Python Telnet/SSH with Netmiko
Ảnh thực thi thành công file python show flash:

Khi ta thấy lệnh được thực thi và sẽ show ra flash: mà chúng ta đã cấu hình và show flash: này là lệnh bình thường ta đánh trực tiếp trên thiết bị cisco.

===================== Good Luck ==============================

MỘT SỐ LỆNH HAY DÙNG TRONG NETMIKO

Một số lệnh khác thường dùng:
net_connect.send_command() - gửi lệnh đến R/Sw
net_connect.send_config_set() - gửi lệnh đến R/Sw mode config
net_connect.save_config() - lưu cấu hình
net_connect.enable() - vào enable mode
net_connect.find_prompt() - trả về tên host R/Sw
net_connect.disconnect() - Đóng kết nối.

 
background image