Telnet을 이용한 파이썬 네트워크 자동화
앞선 이야기에서 telnet python example을 이용하여 Cisco Router에게 loopback을 설정했고, Cisco Switch에는 vlan 생성 및 생성된 vlan을 interface에게 할당하는 파이썬 스크립트를 만들습니다. 접속 방법을 telnet에서 ssh로 넘어가기 전에 telnet 접속 방식으로 여러 대의 Cisco switch을 한 번에 여러 vlan을 설정할 수 있는 파이썬 스크립트를 만들 수 있도록 하겠습니다.
우선 위 테스트를 진행하기 위해서 Cisco Switch를 아래와 같이 추가하고 Ethernet Switch와 연결을 맺습니다. 이후 아래 IP를 해당 인터페이스에 설정하여 Ubuntu 서버에서 접속이 가능한 상태를 만듭니다.
![](https://blog.kakaocdn.net/dn/EhEOk/btrKvhwkP20/z9f55ceD3dYy2wo87A9AG1/img.png)
- CS1 : 192.168.37.20/24
- CS2 : 192.168.37.21/24
- CS3 : 192.168.37.22/24
- CS4 : 192.168.37.23/24
여러 대의 Cisco Switch에 여러 Vlan 설정하기
- CS1-CS4에서 VLAN 101 - 109 만들기
- CS1 vlan101에 ip "10.101.101.20/24" 설정하기
- CS1 vlan102에 ip "10.102.102.20/24" 설정하기
- CS1 vlan103에 ip "10.103.103.20/24" 설정하기
- CS1 vlan104에 ip "10.104.104.20/24" 설정하기
CS (Cisco Switch) 스위치 IP 정보 파일 생성을 생성합니다.
![](https://blog.kakaocdn.net/dn/0rSoW/btrKwG95gvA/3cnnT9qhsP6bukE4QOflHk/img.png)
Original telnet example을 "b_telnet_multiple.py" 복사합니다.
![](https://blog.kakaocdn.net/dn/zWya9/btrKxRcsMFU/H5zWOC2eKQMVY6AQ76WtTK/img.png)
그럼 복사된 파일에서 위 내용을 수용할 수 있는 스크립트를 생성합니다.
![](https://blog.kakaocdn.net/dn/r2ary/btrKuwVsLKY/9tRTx0uagRGo7Tnz2zqKWK/img.png)
- hosts = open("cs_ipaddresses.txt") - Open 파일을 hosts의 변수로 선언한다.
- for host in hosts: - for 문을 이용하여 hosts에 저장된 내용을 한 줄씩 출력하며, 하나씩 호출된 정보는 host의 변수로 선언된다.
- for vlan in range(101,105): - for 문 사용에 range을 사용하여 101,102,103,104의 vlan을 반복한다.
- if HOST == "192.168.37.20": - HOST가 192.168.37.20라면, 아래 for문을 수행한다.
실행 결과
![](https://blog.kakaocdn.net/dn/cGjgBB/btrKuVUCKh3/G0TymCQwr6e4bbru7f18m0/img.png)
![](https://blog.kakaocdn.net/dn/dl67aZ/btrKvQedCB7/92UVO2RwDGCQNmyBjZSy01/img.png)
스위치가 정상적으로 설정되었는지 확인
![](https://blog.kakaocdn.net/dn/qPHME/btrKvhC9kA0/D4jNyggBCKzJU3ZKRUYlsk/img.png)
마무리
텔넷을 통해서 파이썬 스크립트가 네트워크 장비들을 설정하는 간단한 스크립트를 만들습니다. 앞선 내용과 달리 여러 장비를 하나의 스크립트로 만든 부분이 가장 큰 차이 일 것 입니다. for or while 그리고 function을 사용한다면 몇 대가 아닌 좀더 많은 장비를 손쉽게 동일한 내용을 설정 하실 수 있을 것 입니다. 자신에 환경에 맞게 스크립트를 수정하고 도움이 될 것 같습니다. 앞으로는 ssh를 이용해서 장비에 접속하고, 장비에 원하는 설정을 할 수 있는 내용에 대해서 이야기하겠습니다.
B급 네트워크 엔지니어
'파이썬 네트워크 자동화' 카테고리의 다른 글
파이썬 네트워크 프로그래밍 (#7 : Paramiko SSH접속) (0) | 2022.08.25 |
---|---|
파이썬 네트워크 프로그래밍 (#6 : Paramiko SSH접속) (0) | 2022.08.25 |
파이썬 네트워크 프로그래밍 (#4 : 텔넷으로 장비 접속) (0) | 2022.08.25 |
파이썬 네트워크 프로그래밍 (#3 : 텔넷으로 장비 접속) (0) | 2022.08.25 |
파이썬 네트워크 프로그래밍 (#2 : 장비 기본 설정) (0) | 2022.08.25 |