Tự động hóa mạng với hướng dẫn python

Bài đăng này dành cho các kỹ sư mạng lần đầu tiên muốn sử dụng python để tự động hóa mạng. Hơn nữa, bạn có thể gặp tình huống trong đó các thiết bị cần được định cấu hình hoặc thu thập dữ liệu từ nhiều thiết bị mạng, đây sẽ là một công việc nhàm chán khi đăng nhập vào từng thiết bị và thực hiện thủ công. Do đó, blog này – Tự động hóa mạng Python cho người mới bắt đầu sẽ hướng dẫn bạn thiết lập danh mục đầu tư để bắt đầu tự động hóa mạng

3 lợi ích của Tự động hóa mạng Python

  1. Cải thiện hiệu quả công việc
  2. Giảm khả năng xảy ra lỗi của con người
  3. Đáp ứng nhu cầu công việc mới

Tại thời điểm này, ở đây tôi sẽ giải thích từng bước về cách một kỹ sư mạng không có kiến ​​thức lập trình trước đó có thể bắt đầu nhanh chóng và dễ dàng với tự động hóa mạng python

điều kiện tiên quyết

Một PC đã cài đặt GNS3 và python

bước

  1. Cài đặt GNS3
  2. Nhập hình ảnh iOS vào GNS3
  3. Đặt giao diện loopback trên PC để truy cập thiết bị mạng GNS3
  4. Cài đặt Python3
  5. Ánh xạ bộ điều hợp loopback tới bộ định tuyến GNS3
  6. nhập khẩu netmiko
  7. Kết nối python với bộ định tuyến gns3
  8. Chạy mã cơ bản

Cài đặt GNS3

  1. Tải xuống GNS3 từ – https. //www. gns3. com/phần mềm/tải xuống

Tải xuống tệp thích hợp cho hệ điều hành của bạn

Sau đó, tiến hành Bước tiếp theo

nhấp vào Tiếp theo

Xin lưu ý, đến bước này, quá trình cài đặt đã hoàn tất, bây giờ bạn có thể mở GNS3 và đặt tên cho dự án của mình

Tuy nhiên mặc định GNS3 không có router instance nên chúng ta phải thêm router OS vào GNS3

Nhập hình ảnh bộ định tuyến vào thiết bị GNS3

Sau đây, các mẫu thiết bị được hỗ trợ được liệt kê trong GNS3 như trên, dựa trên điều này, bạn có thể lấy hình ảnh từ các nhà cung cấp tương ứng hoặc bạn có thể google và lấy nó

cuối cùng nhưng không kém phần quan trọng, tôi đã xem qua http. //tfr. org/cisco chứa một bộ sưu tập các IOS của Cisco. Hãy thử trang web này nếu nó hoạt động

Ví dụ: gắn IOS với model thiết bị

Ví dụ: chọn nút radio Hình ảnh mới rồi duyệt hình ảnh bộ định tuyến trên ổ đĩa

Sau đó, nhấp vào Tiếp theo

chọn nền tảng thích hợp cho hình ảnh

Sau khi nhấn Next đến đây là chúng ta đã hoàn tất quá trình setup thiết bị

Hơn nữa, bạn có thể tìm thấy c7200 mới được thêm vào trong danh sách bộ định tuyến, hãy kéo thiết bị này vào không gian làm việc rồi chạy nó, bạn có thể lấy cửa sổ bảng điều khiển từ menu của nó

Xin lưu ý rằng hiện tại chúng tôi có thiết bị chạy trong GNS3 nhưng chúng tôi sẽ không thể truy cập thiết bị này từ PC, vì vậy chúng tôi phải tạo giao diện loopback trên PC và tạo kết nối với bộ định tuyến GNS3

Định cấu hình giao diện Loopback trên PC để truy cập bộ định tuyến GNS3

mở run và gõ hdwwiz

Tiếp tục với OK

Theo dõi, nhấp vào tiếp theo

Chọn Bộ điều hợp mạng

Hơn nữa, chọn Microsoft từ cửa sổ bên trái rồi chọn Bộ điều hợp vòng lặp KM-TEST của Microsoft

Nhấp vào Kết thúc

Thật vậy, bây giờ bạn có thể thấy bộ điều hợp mạng loopback trong các kết nối mạng của windows. hơn nữa, hãy cấu hình IP cho bộ điều hợp mạng loopback để thiết bị mạng GNS3 có thể kết nối với nó

Bây giờ chúng ta sẽ kéo bộ điều hợp mạng loopback này bên trong GNS3 và sẽ định cấu hình kết nối với nó

Kéo và thả phiên bản “đám mây” từ danh mục “tất cả thiết bị” vào không gian làm việc

Hơn nữa, nhấp chuột phải vào phiên bản đám mây và chọn cấu hình – bạn sẽ tìm thấy danh sách các giao diện trong tab giao diện ethernet, tại đây bạn có thể chọn giao diện loopback mà chúng tôi đã định cấu hình ngay trước đó

Thiết lập tự động hóa mạng Python dành cho người mới bắt đầu

Bây giờ tạo kết nối với nhau bằng công cụ liên kết. Xin lưu ý, ở đây giao diện bộ định tuyến hiển thị màu đỏ vì giao diện đang ở trạng thái tắt máy

Tôi đã đổi tên phiên bản đám mây và gắn nhãn địa chỉ IP của các giao diện để bạn hiểu

Định cấu hình địa chỉ IP giao diện loopback

Xác minh rằng bạn có khả năng kết nối mạng với bộ định tuyến

Chẳng hạn, ở đây, trong bộ định tuyến của tôi, tôi đã cấu hình SSH để truy cập bộ định tuyến

Tham khảo – http. //www. phải begeek. com/enable-ssh-in-cisco-ios-router/

Tải xuống python từ – https. //www. con trăn. org/tải xuống/

Cài đặt Python rất đơn giản. Đảm bảo rằng bạn đã đặt biến môi trường cho python, bạn có thể xác minh điều này bằng cách nhập python vào dòng lệnh windows

Thay đổi thư mục làm việc hiện tại của dòng lệnh windows thành thư mục Tập lệnh của các tệp đã cài đặt python

thay đổi thư mục dòng lệnh bằng lệnh cd

cd

Cài đặt mô-đun Netmiko bằng công cụ PIP

netmiko là một thư viện Python tạo kết nối với các thiết bị mạng thông qua SSH

lệnh cài đặt netmiko – pip cài đặt netmiko

Ghi chú. đảm bảo bạn có kết nối internet

Bây giờ bạn có thể nhập Netmiko vào chương trình python của mình

Chương trình đầu tiên Tự động hóa mạng Python

Đây là chương trình đầu tiên

từ netmiko nhập ConnectHandler # Mô-đun cho phép kết nối SSH
platform = ‘cisco_ios’
host = input[‘Nhập Tên máy chủ hoặc Địa chỉ IP. ‘]
username = input[‘Nhập tên người dùng đăng nhập. ‘] # sửa để phản ánh
password = input[‘Nhập mật khẩu. ‘] # chỉnh sửa để phản ánh
device = ConnectHandler[device_type=platform, ip=host, username=username, password=password]
output = device. send_command[‘show running-config’]
print[output]
input[]

Đầu ra chương trình – hiển thị cấu hình đang chạy

Tóm lược

Tóm lại, đây là một chương trình cơ bản, ở đây chúng ta vừa làm quen với việc kết nối với thiết bị mạng bằng python. Chúng tôi sẽ đề cập đến các mã tự động hóa thú vị hơn trong các bài đăng trong tương lai

Để đọc thêm, vui lòng truy cập bài đăng trên blog Theo dõi chứng nhận mới của Cisco để biết thêm về các chương trình chứng nhận DevNet mới được xuất bản từ Cisco. học tập vui vẻ

về tác giả

Anas Hira

Anas Hira là một doanh nhân và nhà đổi mới tập trung vào lĩnh vực lập trình mạng và dịch vụ CNTT. Anas đã tập trung vào lập trình mạng và phát triển nhiều chương trình để dễ dàng vận hành và phân phối mạng. Anh ấy là một RHCE được chứng nhận và cũng có chứng nhận về miền định tuyến và chuyển mạch của Cisco. Trong nhiều năm, Anas đã phát triển kinh nghiệm khắc phục sự cố và cấu hình rộng lớn trên miền như Cộng tác và ảo hóa máy chủ

7 bình luận

  1. Afsal. ak

    😳😳

    Ngày 9 tháng 9 năm 2019 Trả lời

  2. Shadi shami

    Bài viết rất nhiều thông tin để làm quen với lập trình mạng

    Ngày 9 tháng 9 năm 2019 Trả lời

  3. looney

    Xin chào. Làm cách nào máy chủ gns3 ảo có thể giao tiếp với các thiết bị trong thế giới thực thông qua python?

    Ngày 18 tháng 11 năm 2019 Trả lời

    • cây an xoa

      GNS3 phải có giao diện đối diện với thiết bị bên ngoài của bạn, bạn có thể trỏ thẻ Eth vật lý của mình thay vì bộ điều hợp loopback trong trường hợp này.
      bạn có thể nhập thư viện socket trong python để tạo kết nối

      Ngày 14 tháng 6 năm 2020 Trả lời

  4. okeke maduabuchi

    Làm tốt lắm

    Ngày 13 tháng 3 năm 2020 Trả lời

  5. Sabeel Ebrahim

    Một thứ thú vị. Giải thích tốt và hữu ích

    Ngày 11 tháng 7 năm 2020 Trả lời

  6. Bob

    Cảm ơn Anas, đó là lời giải thích tuyệt vời về tự động hóa mạng Python. Tôi đã làm theo các bước của bạn, tuy nhiên, tôi gặp sự cố khi truy cập bộ định tuyến GNS3 từ giao diện loopback trên PC. Tôi đã cấu hình liên kết p2p trên 192. 168. 100. 0/24 mạng con với 192. 168. 100. 1 [pc loopback addr] & 192. 168. 100. 2 ở đầu bên kia. PC loopback có thể tự ping và không thể ping bộ định tuyến. Kết quả ping cho thấy các gói được gửi từ địa chỉ xem lại máy tính nhưng không nhận được phản hồi

    C. \Users\Hemanth Katuri>ping 192. 168. 100. 1

    Ping 192. 168. 100. 1 với 32 byte dữ liệu.
    Trả lời từ 192. 168. 100. 1. byte=32 time
    Trả lời từ 192. 168. 100. 1. byte=32 time
    Trả lời từ 192. 168. 100. 1. byte=32 time
    Trả lời từ 192. 168. 100. 1. byte=32 thời gian 192. 168. 100. 2

    Ping 192. 168. 100. 2 với 32 byte dữ liệu.
    Yêu cầu đã hết thời gian chờ.
    Yêu cầu đã hết thời gian chờ.
    Yêu cầu đã hết thời gian chờ.
    Yêu cầu đã hết thời gian chờ.

    Thống kê ping cho 192. 168. 100. 2.
    Gói tin. Đã gửi = 4, Đã nhận = 0, Mất = 4 [mất 100%],

    R1#sh run int f0/0
    Cấu hình tòa nhà…

    Cấu hình hiện tại. 86 byte
    .
    giao diện FastEthernet0/0
    địa chỉ ip 192. 168. 100. 2 255. 255. 255. 0
    đầy đủ song công
    kết thúc

    R1#sh ip int br
    Địa chỉ IP giao diện OK? . 168. 100. 2 YES hướng dẫn sử dụng
    FastEthernet0/0 192.168.100.2 YES manual up up

    Tôi đã kiểm tra chụp Wireshark và chỉ thấy các gói UDP được trao đổi b/w cả ip add. Tôi không hoàn toàn chắc chắn và điều gì có thể gây ra sự cố không thể truy cập này mặc dù cả hai đều được kết nối trên liên kết p2p, tự hỏi liệu có cần điều chỉnh bất kỳ tham số nào khác trên cài đặt xem lại máy tính không…

    Python được sử dụng như thế nào để tự động hóa mạng?

    Tập lệnh Python dựa trên các thư viện Netmiko và Paramiko để điều khiển các thiết bị mạng . Chúng tôi sử dụng bốn Công tắc lớp 3 và hai Công tắc lớp 2 [sử dụng Cisco IOS thực] đang tạo kết nối với NAT Cloud [để có quyền truy cập Internet] và các công tắc này đã được thực hiện với cấu hình cơ bản.

    Python có tốt cho tự động hóa mạng không?

    Python được sử dụng rộng rãi để thực hiện tự động hóa mạng . Với bộ thư viện rộng lớn [chẳng hạn như Netmiko và Paramiko], có vô số khả năng tương tác thiết bị mạng cho các nhà cung cấp khác nhau.

    Làm cách nào để sử dụng Python trong mạng?

    Truy cập cấp thấp. Ở cấp độ thấp, bạn có thể truy cập hỗ trợ ổ cắm cơ bản của hệ điều hành . Bạn có thể triển khai máy khách và máy chủ cho cả giao thức hướng kết nối và không kết nối. Truy cập cấp cao. Ở mức cao cho phép triển khai các giao thức như HTTP, FTP, v.v.

    Các kỹ năng cần thiết cho tự động hóa mạng là gì?

    Tự động hóa mạng 101 - Kỹ năng và công nghệ .
    Giới thiệu
    Ngôn ngữ lập trình và viết kịch bản. con trăn. Golang
    Định dạng dữ liệu. YAML [YAML không phải là ngôn ngữ đánh dấu].
    Ngôn ngữ lập mô hình dữ liệu. SMI [Cấu trúc thông tin quản lý].
    Giao diện lập trình ứng dụng [API] API RESTful. .
    Container và Docker. Hộp đựng

Chủ Đề