Automasi Cisco dengan Python

WBOY
Lepaskan: 2024-09-07 14:32:17
asal
849 orang telah melayarinya

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!

sumber:dev.to
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!