Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Bài Lab 1 : Dùng Python thực hiện SSH & cấu hình trên thiết bị mạng bằng Netmiko

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Bài Lab 1 : Dùng Python thực hiện SSH & cấu hình trên thiết bị mạng bằng Netmiko



    Trước tiên, cấu hình SSH version 2 trên thiết bị mạng

    #config terminal
    (config)#username admin password password
    (config)#ip domain-name 192.168.1.1
    (config)#enable password password
    (config)#line vty 0 4
    (config-line)#password 123
    (config-line)#login
    (config-line)#exit
    (config)#crypto key generate rsa
    1024
    (config)#ip ssh version 2

    ***Trên Windows***

    Cài đặt thư viện netmiko từ pip:

    - Update pip : python –m pip install - -upgrade pip
    - Sau khi update xong gõ: pip install netmiko ( hoặc nếu lỗi thì pip3 install netmiko)
    - Thêm --user vào sau cùng nếu lỗi ( thêm sau lệnh pip install netmiko )

    ***Trên Linux***

    -Bước 1: Kiểm tra kết nối SSH đến Router hoặc Switch đã ổn chưa

    Lỗi:



    Vô file ~/.ssh/known_hosts thêm dấu # vào đầu dòng host bị lỗi

    Sau đó ssh lại
    Nếu test SSH bị lỗi Unable to negotiate with 192.168.1.1 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
    thực hiện như sau:
    sudo nano /etc/ssh/ssh_config
    thêm 2 dòng vào cuối file
    Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc
    KexAlgorithms diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1

    -Bước 2: cài đặt thư viện netmiko

    Yêu cầu: đã cài đặt pip

    sử dụng terminal :
    pip install netmiko

    Sau khi cài đặt xong ta tiến hành tạo file code

    -Bước 3: Code

    Thiết lập SSH:



    gọi hàm ConnectHandler trong thư viện netmiko bằng dòng lệnh

    From netmiko import ConnectHandler

    trong đó hàm ConnectHandler bao gồm các giá trị:

    + device_type: các thiết bị của cisco thuờng là ‘cisco_ios’
    + host: IP của thiết bị
    +username: tên đăng nhập
    + password: mật khẩu đăng nhập

    gắn hàm ConnectHandler vừa khai báo với giá trị net_connect

    Tới đây chúng ta đã thiết lập thành công SSH bằng netmiko, có thể thêm đoạn code sau để xác thực việc kết nối

    output = net_connect.find_prompt()
    print(output)

    Kết quả trả về:



    Bắt đầu cấu hình:

    Để gửi 1 câu lệnh đến Router/Switch qua SSH và nhận về kết quả ta dùng lệnh .send_commnad() để gửi câu lệnh “show ip int br”



    Để gửi 1 câu lệnh đến Router/Switch ở mode config ta dùng lệnh .send_config_set
    VD: cấu hình loopback 0 v ới ip 10.10.1.10/24 sau đó:



    Kết quả trả về:



    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

    Chúc các bạn thành công.

    Thank you.
    Last edited by huynhvanmanhtien; 07-10-2019, 09:22 AM.
Working...
X