Python을 사용한 Cisco 자동화
SSH 연결을 쉽게 처리하도록 설계된 Netmiko 라이브러리와 함께 Python을 사용하면 Cisco 라우터 및 스위치와 같은 네트워크 장치의 자동화를 쉽게 달성할 수 있습니다. 아래에서는 Cisco 장치의 구성을 보고 VLAN 생성 및 구성을 자동화하는 두 가지 기본 스크립트를 보여줍니다.
1. Cisco 장치(라우터)의 구성을 보기 위한 스크립트:
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)
작전:
- Netmiko 가져오기: SSH 연결을 처리하기 위해 ConnectHandler 클래스를 가져옵니다.
- SSH 연결: Cisco 장비의 IP, 포트, 자격증명을 이용하여 연결을 생성합니다.
- 명령 실행: 장치의 현재 구성을 가져오기 위해 show run 명령이 전송됩니다.
- 프롬프트 인쇄: 연결이 여전히 활성 상태임을 나타내는 장치 프롬프트가 인쇄됩니다.
- 구성 표시: 실행 중인 구성을 보여주는 명령 출력이 인쇄됩니다.
이 스크립트는 자동화된 방식으로 Cisco 장치에서 빠른 구성 쿼리를 수행하는 데 유용합니다.
2. VLAN에 IP 주소를 생성, 구성 및 할당하는 스크립트:
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)
작전:
- 연결 및 권한 모드: SSH 연결이 설정되고 ssh.enable()을 사용하여 권한 모드로 전환됩니다.
- 명령 목록: 여러 개의 VLAN이 생성되고, 인터페이스와 IP 주소가 이러한 VLAN에 할당되며, 포트는 스위치 포트 모드 액세스로 구성됩니다.
- 구성 적용: ssh.send_config_set()을 통해 명령이 대량으로 전송됩니다.
- 구성 확인: show run 명령은 장치의 현재 구성을 가져오는 데 사용됩니다.
- 결과 인쇄: 장치 프롬프트와 결과 구성이 인쇄됩니다.
이 스크립트는 VLAN 구성을 자동화하고 인터페이스에 IP를 할당하여 복잡한 네트워크를 빠르고 효율적으로 관리하는 데 이상적입니다.
필요한 자원:
Python을 사용하여 Cisco 장치 구성 자동화를 시작하기 전에 올바른 환경이 있는지 확인하는 것이 중요합니다. 여기서는 필요한 리소스와 도구를 자세히 설명합니다.
1. Python 및 라이브러리 설치
시스템에 Python 3.6 이상이 설치되어 있어야 합니다. 아직 없으신 경우, 운영체제에 따라 쉽게 설치하실 수 있습니다.
Cisco 장치와 자동화된 방식으로 상호작용하기 위해 우리는 라우터 및 스위치에 대한 SSH 연결을 용이하게 하는 Python 라이브러리인 Netmiko를 사용합니다.
- Netmiko: SSH를 통해 네트워크 장치(예: 라우터 또는 스위치)에 연결하는 데 사용하는 기본 라이브러리입니다.
- Paramiko: Netmiko는 Python의 SSH 클라이언트인 이 라이브러리에 의존합니다.
- PIP: Python 패키지 관리자이며 라이브러리를 설치하는 데 필요합니다.
2. 도서관 설치
Netmiko 및 해당 종속 항목(Paramiko 포함)을 설치하려면 터미널에서 다음 명령을 실행하세요.
pip install netmiko
이 명령은 필요한 종속성과 함께 Netmiko를 다운로드하고 설치합니다. 완료되면 다음을 사용하여 모든 것이 올바르게 설치되었는지 확인할 수 있습니다.
pip list
이렇게 하면 설치된 모든 라이브러리가 표시되며 그 중 netmiko와 paramiko가 표시됩니다.
3. Cisco 장치에 대한 SSH 액세스
설치된 라이브러리 외에도 Cisco 장치(라우터 또는 스위치)가 SSH 연결을 허용하도록 구성되어 있는지 확인해야 합니다. 다음은 액세스를 활성화하기 위한 몇 가지 핵심 사항입니다.
a) Cisco 장치에서 SSH를 활성화합니다.
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
b) 자격 증명 및 IP 확인:
- 올바른 자격 증명(사용자 이름 및 비밀번호)이 있고 Python 스크립트를 실행할 컴퓨터에서 장치의 IP 주소에 액세스할 수 있는지 확인하세요.
이러한 구성을 사용하면 Python을 사용하여 Cisco 장치에서 스크립트를 실행하고 작업을 자동화할 수 있습니다.
결론
올바른 리소스(Cisco 장치에서 활성화된 Python, Netmiko, SSH)와 필요한 라이브러리가 설치되어 있으면 Python을 사용하여 네트워크 장치의 구성 및 관리 자동화를 시작할 준비가 된 것입니다. Netmiko를 사용하면 이러한 장치에서 명령을 쉽게 연결하고 실행할 수 있어 반복 작업이 단순화되고 네트워크 관리 효율성이 향상됩니다.
위 내용은 Python을 사용한 Cisco 자동화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

이 기사는 여러 상위 Python "완성 된"프로젝트 웹 사이트 및 고급 "블록버스터"학습 리소스 포털을 선택했습니다. 개발 영감, 마스터 레벨 소스 코드 관찰 및 학습 또는 실제 기능을 체계적으로 개선하든, 이러한 플랫폼은 놓치지 않아야하며 파이썬 마스터로 빠르게 성장할 수 있도록 도울 수 있습니다.

Subprocess.run ()을 사용하여 쉘 명령을 안전하게 실행하고 출력을 캡처하십시오. 주입 위험을 피하기 위해 목록에 매개 변수를 전달하는 것이 좋습니다. 2. 쉘 특성이 필요한 경우, shell = true를 설정할 수 있지만 명령 주입을 조심하십시오. 3. 하위 프로세스를 사용하여 실시간 출력 처리를 실현하십시오. 4. SET Check = 명령이 실패 할 때 예외를 던지기 위해 true; 5. 간단한 시나리오에서 체인을 직접 호출하여 출력을 얻을 수 있습니다. OS.System () 또는 더 이상 사용되지 않은 모듈을 사용하지 않으려면 일상 생활에서 Subprocess.run ()에 우선 순위를 부여해야합니다. 위의 방법은 파이썬에서 쉘 명령을 실행하는 핵심 사용을 무시합니다.

QUML (Quantum Machine Learning)을 시작하려면 선호되는 도구는 Python이며 Pennylane, Qiskit, Tensorflowquantum 또는 Pytorchquantum과 같은 라이브러리를 설치해야합니다. 그런 다음 Pennylane을 사용하여 양자 신경망을 구축하는 것과 같은 예제를 실행하여 프로세스에 익숙해 지십시오. 그런 다음 데이터 세트 준비, 데이터 인코딩, 구축 파라 메트릭 양자 회로 구축, 클래식 옵티마이 저 트레이닝 등의 단계에 따라 모델을 구현하십시오. 실제 전투에서는 처음부터 복잡한 모델을 추구하지 않고 하드웨어 제한에주의를 기울이고, 하이브리드 모델 구조를 채택하며, 최신 문서와 공식 문서를 지속적으로 언급하여 개발에 대한 후속 조치를 취해야합니다.

Python을 사용하여 WebApi를 호출하여 데이터를 얻는 것의 핵심은 기본 프로세스와 공통 도구를 마스터하는 것입니다. 1. 요청을 사용하여 HTTP 요청을 시작하는 것이 가장 직접적인 방법입니다. Get 메소드를 사용하여 응답을 얻고 JSON ()을 사용하여 데이터를 구문 분석하십시오. 2. 인증이 필요한 API의 경우 헤더를 통해 토큰 또는 키를 추가 할 수 있습니다. 3. 응답 상태 코드를 확인해야합니다. 예외를 자동으로 처리하려면 response.raise_for_status ()를 사용하는 것이 좋습니다. 4. 페이징 인터페이스에 직면하여 다른 페이지를 차례로 요청하고 주파수 제한을 피하기 위해 지연을 추가 할 수 있습니다. 5. 반환 된 JSON 데이터를 처리 할 때 구조에 따라 정보를 추출해야하며 복잡한 데이터를 데이터로 변환 할 수 있습니다.

Seaborn 's Loctplot을 사용하여 두 변수 간의 관계와 분포를 신속하게 시각화합니다. 2. 기본 산점도는 sns.jointPlot (data = tips, x = "total_bill", y = "tip", 종류 = "scatter")에 의해 구현됩니다. 중심은 산점도이며 히스토그램은 상단과 하단에 표시됩니다. 3. 회귀선과 밀도 정보를 친절한 = "reg"에 추가하고 marginal_kws를 결합하여 에지 플롯 스타일을 설정합니다. 4. 데이터 볼륨이 클 경우 "Hex"를 사용하는 것이 좋습니다.

Python에서는 join () 메소드를 사용하여 문자열을 병합 할 때 다음 점에 기록되어야합니다. 2. 목록의 요소가 모두 문자열인지 확인하고 스트링이 아닌 유형을 포함하는 경우 먼저 변환해야합니다. 3. 중첩 목록을 처리 할 때 연결하기 전에 구조를 평평하게해야합니다.

문자열 목록은 ".join (Words)과 같은 join () 메소드와 병합 될 수 있습니다. 2. 숫자 목록은 결합하기 전에 MAP (str, 숫자) 또는 [str (x) forxinnumbers]가있는 문자열로 변환해야합니다. 3. 모든 유형 목록은 디버깅에 적합한 괄호와 따옴표가있는 문자열로 직접 변환 할 수 있습니다. 4. '|'.join (f "[{item}]"furiteminitems) 출력과 같은 join ()과 결합 된 생성기 표현식으로 사용자 정의 형식을 구현할 수 있습니다.

Python Web Crawlers를 마스터하려면 세 가지 핵심 단계를 파악해야합니다. 1. 요청을 사용하여 요청을 시작하고 GET 메소드를 통해 웹 페이지 컨텐츠를 얻고, 헤더 설정에주의를 기울이고, 예외를 처리하고, robots.txt를 준수합니다. 2. BeautifulSoup 또는 XPath를 사용하여 데이터 추출. 전자는 간단한 구문 분석에 적합하지만 후자는 더 유연하고 복잡한 구조에 적합합니다. 3. 셀레늄을 사용하여 동적 로딩 컨텐츠에 대한 브라우저 작업을 시뮬레이션하십시오. 속도는 느리지 만 복잡한 페이지에 대처할 수 있습니다. 또한 효율성을 향상시키기 위해 웹 사이트 API 인터페이스를 찾을 수도 있습니다.
