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.

Lab : Dùng Python sử dụng Netmiko và ntc_templates để kiểm tra Vlan và access port cho Vlan

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

  • Lab : Dùng Python sử dụng Netmiko và ntc_templates để kiểm tra Vlan và access port cho Vlan

    Sơ đồ mạng :


    Mô tả:
    • Sơ đồ bài thực hành gồm 1 Switch và 1 PC được đấu nối với nhau như hình 1.1.
    • Trên sơ đồ này, học viên thực hiện cấu hình SSH bằng ngôn ngữ Python.
    • Máy PC phải dùng Linux để sử dụng thư viện ntc_templates ( Sử dụng WSL)
    Yêu cầu kỹ thuật
    • Học viên thực hiện đấu nối thiết bị, thực hiện một số cấu hình cơ bản trên Router như đặt hostname, password console, đặt địa chỉ IP như hình vẽ.
    • Cài đặt thư viện Netmiko trên máy tính.
    • Thực hiện cấu hình cho phép SSH trên Switch.
    • Viết code bằng Python thực hiện yêu cầu:
    1. Kết nối SSH tới Router thành công.
    2. Thực hiện kiểm tra vlan 10 đã có hay chưa? nếu chưa thì tạo vlan 10.
    3. Thực hiện kiểm tra vlan 10 đã được gán port e0/1 và e0/2 hay chưa? Nếu chưa thì thực hiện gán port
    4. Hiển thị kết quả.
    Các bước thực hiện

    Bước 1 : Cài đặt thư viện Netmiko và ntc_templates.

    Trong terminal, sử dụng lệnh pip3 install netmiko ntc_templates


    Bước 2 : Kết nối và cấu hình cơ bản.

    Đặt IP interface vlan 1
    Code:
    [FONT=Calibri][FONT=Times New Roman]Switch#configure terminal[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Switch(config)#interface e0/0[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Switch(config-if)#no switchport[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Switch(config-if)#ip address 192.168.1.1 255.255.255.0[/FONT][/FONT]
    [FONT=Times New Roman]Switch(config-if)#no shutdown [/FONT]
    Đặt IP cho PC


    Bước 3 : Thực hiện cấu hình cho phép truy cập SSH trên Router.

    Code:
    [FONT=Calibri][FONT=Times New Roman]Switch#configure terminal[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Switch(config)#username [I]admin[/I] password [I]123[/I][/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Switch(config)#ip domain-name [I]192.168.1.1[/I][/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Switch(config)#enable password [I]vnpro[/I][/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Switch(config)#line vty 0 4[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Switch(config-line)#password [I] cisco[/I][/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Switch(config-line)#login[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Switch(config-line)#exit[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Switch(config)#crypto key generate rsa [/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]1024[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Switch(config)#ip ssh version 2[/FONT][/FONT]


    Bước 4 : Viết chương trình

    Tạo một thư mục Lab_netmiko trong đó có 2 file
    • device_list.py sẽ chứa các thông tin thiết bị mà cần kiểm tra
    • main.py sẽ chứa chương trình kiểm tra vlan


    Nội dung file device_list.py

    Code:
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]from[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] getpass [/COLOR][/FONT][FONT=MesloLGS NF][COLOR=blue]import[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] getpass[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]passwd=getpass([/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"Nhap mat khau SSH: "[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]) [/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]sw1 = {[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=#a31515]"device_type"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]:[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"cisco_ios"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black],[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=#a31515]"ip"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]:[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"192.168.225.138"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black],[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=#a31515]"username"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]:[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"admin"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black],[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=#a31515]"password"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]:passwd,[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=#a31515]"secret"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]:[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"321"[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]}[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]device_list=[sw1][/COLOR][/FONT][/FONT]
    Nội dung file main.py

    Code:
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]from[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] netmiko [/COLOR][/FONT][FONT=MesloLGS NF][COLOR=blue]import[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] ConnectHandler[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]from[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] multiprocessing [/COLOR][/FONT][FONT=MesloLGS NF][COLOR=blue]import[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] Process[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]from[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] device_list [/COLOR][/FONT][FONT=MesloLGS NF][COLOR=blue]import[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] device_list [/COLOR][/FONT][FONT=MesloLGS NF][COLOR=blue]as[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] devices [/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]from[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] ntc_templates.parse [/COLOR][/FONT][FONT=MesloLGS NF][COLOR=blue]import[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] parse_output[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]def[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] show_vlan(device,id_vlan):[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]ssh=ConnectHandler(**device)[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]ssh.enable()[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]data=ssh.send_command([/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"show vlan"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black])[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]data_parse=parse_output(platform=[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"cisco_ios"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black],command=[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"show vlan"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black],data=data)[/COLOR][/FONT][/FONT]
    
    
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]vlan={}[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]access_int=[[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"int range e0/1-2"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black],[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"switchport access vlan "[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] + id_vlan][/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]for[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] i [/COLOR][/FONT][FONT=MesloLGS NF][COLOR=blue]in[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] data_parse:[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]vlan[i[[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"vlan_id"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]]]=i[[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"interfaces"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]][/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]try[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]:[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]if[/COLOR][/FONT] [FONT=MesloLGS NF][COLOR=#a31515]"Et0/2"[/COLOR][/FONT] [FONT=MesloLGS NF][COLOR=blue]and[/COLOR][/FONT] [FONT=MesloLGS NF][COLOR=#a31515]"Et0/1"[/COLOR][/FONT] [FONT=MesloLGS NF][COLOR=blue]in[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] vlan[id_vlan]:[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]print([/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"vlan {} da duoc gan cac cong e0/1 va e0/2"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black].format(id_vlan))[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]ssh.disconnect()[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]else[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]:[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]print([/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"Vlan {} chua duoc gan cac cong e0/1 va e0/2"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black].format(id_vlan))[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]print(ssh.send_config_set(access_int))[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]print(ssh.send_command([/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"show vlan br"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]))[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]ssh.disconnect()[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]except[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] KeyError: [/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]print([/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"Khong co vlan tien hanh tao vlan va gan cong"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black])[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]print(ssh.send_config_set(access_int))[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]print(ssh.send_command([/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"show vlan br"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]))[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]ssh.disconenct()[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]def[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] main():[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]id_vlan=input([/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"Nhap vlan muon kiem tra: "[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black])[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]for[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] device [/COLOR][/FONT][FONT=MesloLGS NF][COLOR=blue]in[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] devices:[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]my_proc=Process(target=show_vlan,args=(device,id_v lan,))[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]my_proc.start()[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]if[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] __name__ == [/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"__main__"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]:[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]main()[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]from[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] netmiko [/COLOR][/FONT][FONT=MesloLGS NF][COLOR=blue]import[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] ConnectHandler[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]from[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] multiprocessing [/COLOR][/FONT][FONT=MesloLGS NF][COLOR=blue]import[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] Process[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]from[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] device_list [/COLOR][/FONT][FONT=MesloLGS NF][COLOR=blue]import[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] device_list [/COLOR][/FONT][FONT=MesloLGS NF][COLOR=blue]as[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] devices [/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]from[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] ntc_templates.parse [/COLOR][/FONT][FONT=MesloLGS NF][COLOR=blue]import[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] parse_output[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]def[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] show_vlan(device,id_vlan):[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]ssh=ConnectHandler(**device)[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]ssh.enable()[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]data=ssh.send_command([/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"show vlan"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black])[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]data_parse=parse_output(platform=[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"cisco_ios"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black],command=[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"show vlan"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black],data=data)[/COLOR][/FONT][/FONT]
    
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]vlan={}[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]access_int=[[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"int range e0/1-2"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black],[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"switchport access vlan "[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] + id_vlan][/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]for[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] i [/COLOR][/FONT][FONT=MesloLGS NF][COLOR=blue]in[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] data_parse:[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]vlan[i[[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"vlan_id"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]]]=i[[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"interfaces"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]][/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]try[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]:[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]if[/COLOR][/FONT] [FONT=MesloLGS NF][COLOR=#a31515]"Et0/2"[/COLOR][/FONT] [FONT=MesloLGS NF][COLOR=blue]and[/COLOR][/FONT] [FONT=MesloLGS NF][COLOR=#a31515]"Et0/1"[/COLOR][/FONT] [FONT=MesloLGS NF][COLOR=blue]in[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] vlan[id_vlan]:[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]print([/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"vlan {} da duoc gan cac cong e0/1 va e0/2"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black].format(id_vlan))[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]ssh.disconnect()[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]else[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]:[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]print([/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"Vlan {} chua duoc gan cac cong e0/1 va e0/2"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black].format(id_vlan))[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]print(ssh.send_config_set(access_int))[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]print(ssh.send_command([/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"show vlan br"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]))[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]ssh.disconnect()[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]except[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] KeyError: [/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]print([/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"Khong co vlan tien hanh tao vlan va gan cong"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black])[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]print(ssh.send_config_set(access_int))[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]print(ssh.send_command([/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"show vlan br"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]))[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]ssh.disconenct()[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]def[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] main():[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]id_vlan=input([/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"Nhap vlan muon kiem tra: "[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black])[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]for[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] device [/COLOR][/FONT][FONT=MesloLGS NF][COLOR=blue]in[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] devices:[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]my_proc=Process(target=show_vlan,args=(device,id_v lan,))[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]my_proc.start()[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=blue]if[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black] __name__ == [/COLOR][/FONT][FONT=MesloLGS NF][COLOR=#a31515]"__main__"[/COLOR][/FONT][FONT=MesloLGS NF][COLOR=black]:[/COLOR][/FONT][/FONT]
    [FONT=Calibri][FONT=MesloLGS NF][COLOR=black]main()[/COLOR][/FONT][/FONT]
    Kiểm tra thử chương trình

    Code:
    [FONT=Calibri][FONT=Times New Roman]py main.py ─[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Nhap vlan muon kiem tra: 100[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Khong co vlan tien hanh tao vlan va gan cong[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]config term[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Enter configuration commands, one per line. End with CNTL/Z.[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Switch(config)#int range e0/1-2[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Switch(config-if-range)#switchport access vlan 100[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]% Access VLAN does not exist. Creating vlan 100[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Switch(config-if-range)#end[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Switch#[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]VLAN Name Status Ports[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]---- -------------------------------- --------- -------------------------------[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]1 default active Et0/3[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]3 VLAN0003 active[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]10 VLAN0010 active[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]20 VLAN0020 active[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]100 VLAN0100 active Et0/1, Et0/2[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]1002 fddi-default act/unsup[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]1003 token-ring-default act/unsup[/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]1004 fddinet-default act/unsup[/FONT][/FONT]
    [FONT=Times New Roman]1005 trnet-default act/unsup[/FONT]
    Trường hợp vlan 100 đã có sẵn và được gán cổng

    Code:
    [FONT=Calibri][FONT=Times New Roman]py main.py [/FONT][/FONT]
    [FONT=Calibri][FONT=Times New Roman]Nhap vlan muon kiem tra: 100[/FONT][/FONT]
    [FONT=Times New Roman]vlan 100 da duoc gan cac cong e0/1 va e0/2[/FONT]
    ​​​​​​
    Hoàn thành.

    Thank you.
    Nguồn : VNPRO
Working...
X