Rumah pembangunan bahagian belakang Tutorial Python Automasi Cisco dengan Python

Automasi Cisco dengan Python

Sep 07, 2024 pm 02:32 PM

Automatización de Cisco con Python

Automasi peranti rangkaian, seperti penghala dan suis Cisco, boleh dicapai dengan mudah menggunakan Python dengan perpustakaan Netmiko, direka bentuk untuk mengendalikan sambungan SSH dengan mudah. Di bawah, saya menunjukkan kepada anda dua skrip asas untuk melihat konfigurasi peranti Cisco dan untuk mengautomasikan penciptaan dan konfigurasi VLAN.

1. Skrip untuk melihat konfigurasi peranti Cisco (penghala):

from netmiko import ConnectHandler
ssh=ConnectHandler(
    device_type="cisco_ios",
    host="192.168.0.10",
    port=22,
    username="cisco",
    password="cisco"
)
out=ssh.send_command("show run")
print(ssh.find_prompt())
print("show run:\n"+out)
Salin selepas log masuk

Operasi:

  • Import Netmiko: Kelas ConnectHandler diimport untuk mengendalikan sambungan SSH.
  • Sambungan SSH: Menggunakan IP, port dan bukti kelayakan peranti Cisco, sambungan dibuat.
  • Pelaksanaan arahan: Perintah show run dihantar untuk mendapatkan konfigurasi semasa peranti.
  • Pencetakan segera: Gesaan peranti dicetak, menunjukkan bahawa sambungan masih aktif.
  • Paparan konfigurasi: Output arahan dicetak menunjukkan konfigurasi yang sedang berjalan.

Skrip ini berguna untuk melaksanakan pertanyaan konfigurasi pantas pada peranti Cisco secara automatik.

2. Skrip untuk mencipta, mengkonfigurasi dan menetapkan alamat IP kepada VLAN:

from netmiko import ConnectHandler

ssh = ConnectHandler(
    device_type="cisco_ios",
    host="192.168.10.2",
    port=22,
    username="womar1",
    password="womar"
)
ssh.enable()
comandos = [
    "hostname uwu",
    "vlan 10",
    "interface vlan 10",
    "ip address 192.168.2.1 255.255.255.0",
    "no shutdown",
    'interface range fa0/1 - 5',  # Corrección aquí
    "switchport mode access",
    'switchport access vlan 10',
    "vlan 20",
    "interface vlan 20",
    "ip address 192.168.3.1 255.255.255.0",
    "no shutdown",
    'interface range fa0/6 - 10',  # Corrección aquí
    "switchport mode access",
    'switchport access vlan 20',
    "vlan 10",
    "interface vlan 30",
    "ip address 192.168.4.1 255.255.255.0",
    "no shutdown",
    'interface range fa0/11 - 15',  # Corrección aquí
    "switchport mode access",
    'switchport access vlan 30',
    "vlan 10",
    "interface vlan 40",
    "ip address 192.168.5.1 255.255.255.0",
    "no shutdown",
    'interface range fa0/16 - 20',  # Corrección aquí
    "switchport mode access",
    'switchport access vlan 40',
    "vlan 50",
    "interface vlan 50",
    "ip address 192.168.200.1 255.255.240.0",
    "no shutdown",
    'interface range fa0/21 - 22',  # Corrección aquí
    "switchport mode access",
    'switchport access vlan 50',



]
ssh.send_config_set(comandos)
configuracion = ssh.send_command("show run")
comands = ssh.find_prompt()

print(comands)
print("show run:\n" + configuracion)
Salin selepas log masuk

Operasi:

  • Mod sambungan dan keistimewaan: Sambungan SSH diwujudkan dan ditukar kepada mod istimewa dengan ssh.enable().
  • Senarai arahan: Beberapa VLAN dicipta, antara muka dan alamat IP diberikan kepada VLAN ini, dan port dikonfigurasikan dalam akses mod port suis.
  • Aplikasi konfigurasi: Perintah dihantar secara pukal dengan ssh.send_config_set().
  • Pengesahan konfigurasi: Perintah show run digunakan untuk mendapatkan konfigurasi semasa peranti.
  • Mencetak hasil: Gesaan peranti dan konfigurasi yang terhasil dicetak.

Skrip ini sesuai untuk mengautomasikan konfigurasi VLAN dan memberikan IP kepada antara muka, memudahkan pentadbiran rangkaian kompleks dengan cepat dan cekap.

Sumber diperlukan:
Sebelum anda mula mengautomasikan konfigurasi peranti Cisco menggunakan Python, adalah penting untuk memastikan anda mempunyai persekitaran yang betul. Di sini saya memperincikan sumber dan alatan yang anda perlukan:

1. Memasang Python dan Perpustakaan

Anda mesti memasang Python 3.6 atau lebih tinggi pada sistem anda. Jika anda belum memilikinya, anda boleh memasangnya dengan mudah bergantung pada sistem pengendalian anda.

Untuk berinteraksi dengan peranti Cisco secara automatik, kami menggunakan Netmiko, perpustakaan Python yang memudahkan sambungan SSH ke penghala dan suis.

  • Netmiko: Ia ialah perpustakaan utama yang kami gunakan untuk menyambung ke peranti rangkaian (seperti penghala atau suis) melalui SSH.
  • Paramiko: Netmiko bergantung pada perpustakaan ini, iaitu klien SSH dalam Python.
  • PIP: Ia adalah pengurus pakej Python dan anda memerlukannya untuk memasang perpustakaan.

2. Pemasangan Perpustakaan

Untuk memasang Netmiko dan kebergantungannya (termasuk Paramiko), jalankan arahan berikut dalam terminal anda:

pip install netmiko
Salin selepas log masuk

Arahan ini akan memuat turun dan memasang Netmiko bersama-sama kebergantungan yang diperlukan. Setelah selesai, anda boleh menyemak sama ada semuanya telah dipasang dengan betul menggunakan:

pip list
Salin selepas log masuk

Ini akan menunjukkan kepada anda semua perpustakaan yang dipasang, antaranya anda harus melihat netmiko dan paramiko.

3. Akses SSH kepada Peranti Cisco

Selain pustaka yang dipasang, anda perlu memastikan bahawa peranti Cisco (penghala atau suis) dikonfigurasikan untuk menerima sambungan SSH. Di bawah ialah beberapa perkara penting untuk membolehkan akses:

a) Dayakan SSH pada peranti Cisco:

configure terminal
ip domain-name cisco.local
crypto key generate rsa
username cisco privilege 15 secret cisco
line vty 0 4
transport input ssh
login local
exit
Salin selepas log masuk

b) Sahkan kelayakan dan IP:

  • Pastikan anda mempunyai bukti kelayakan yang betul (nama pengguna dan kata laluan) dan alamat IP peranti boleh diakses daripada mesin tempat anda akan menjalankan skrip Python.

Dengan konfigurasi ini, anda bersedia untuk menjalankan skrip dan mengautomasikan tugas pada peranti Cisco menggunakan Python.

Kesimpulan

Dengan sumber yang betul (Python, Netmiko, SSH didayakan pada peranti Cisco) dan perpustakaan yang diperlukan dipasang, anda akan bersedia untuk mula mengautomasikan konfigurasi dan pengurusan peranti rangkaian anda menggunakan Python. Netmiko memudahkan untuk menyambung dan melaksanakan arahan pada peranti ini, memudahkan tugasan berulang dan meningkatkan kecekapan dalam pengurusan rangkaian.

Atas ialah kandungan terperinci Automasi Cisco dengan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah? Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah? Apr 02, 2025 am 07:15 AM

Cara mengelakkan dikesan semasa menggunakan fiddlerevery di mana untuk bacaan lelaki-dalam-pertengahan apabila anda menggunakan fiddlerevery di mana ...

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam? Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam? Apr 02, 2025 am 07:18 AM

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Bagaimana untuk mendapatkan data berita yang melangkaui mekanisme anti-crawler Investing.com? Bagaimana untuk mendapatkan data berita yang melangkaui mekanisme anti-crawler Investing.com? Apr 02, 2025 am 07:03 AM

Memahami Strategi Anti-Crawling of Investing.com Ramai orang sering cuba merangkak data berita dari Investing.com (https://cn.investing.com/news/latest-news) ...

Apakah sebab mengapa fail saluran paip tidak dapat ditulis apabila menggunakan crawler scapy? Apakah sebab mengapa fail saluran paip tidak dapat ditulis apabila menggunakan crawler scapy? Apr 02, 2025 am 06:45 AM

Perbincangan mengenai sebab -sebab mengapa fail saluran paip tidak dapat ditulis apabila menggunakan crawler scapy apabila belajar dan menggunakan crawler scapy untuk penyimpanan data yang berterusan, anda mungkin menghadapi fail saluran paip ...

Python 3.6 Memuatkan Ralat Fail Pickle ModulenotFoundError: Apa yang perlu saya lakukan jika saya memuatkan fail acar '__builtin__'? Python 3.6 Memuatkan Ralat Fail Pickle ModulenotFoundError: Apa yang perlu saya lakukan jika saya memuatkan fail acar '__builtin__'? Apr 02, 2025 am 06:27 AM

Memuatkan Fail Pickle di Python 3.6 Kesalahan Alam Sekitar: ModulenotFoundError: Nomodulenamed ...

See all articles