본문 바로가기

python

(34)
[동영상] Programmability for Networker : 재개 예정 안녕하세요. 이번 포스팅은 기존에 진행하던 Programmabiliy for Networker 라는 주제의 포스팅을.. 다시 오랜만에 재개하기 위한 사전 동영상 포스팅입니다. 아래의 동영상은 Access-list를 관리하기 위한 방법으로 작성한 코드입니다. 차단하기 위한 별도의 IP리스트 파일을 관리를 하여, 기존의 있는 Access-list에 해당 파일에 있는 IP를 차단하는 역할을 해줍니다. 또한 이력관리를 위해서 앞에 Access-list Numbering을 ACL이 추가되는 현재의 날짜와 그 날의 순번대로 작성됩니다. 즉, 2017년 5월 1일에 작성되는 ACL의 경우에는 1705010000, 1705010001 과 같이 Accesss-list가 만들어집니다. 개인적으로 진행하는 스터디에서 다뤄질..
Docker : Part 6 Docker,Remote, API,client, library, python,host, 원격, 리모트, 도커, git : today Key Docker의 6번째 포스팅입니다. 이번 포스팅에서는 Docker를 Remote에서 제어할 수 있도록 제공되는 Remote API client libraries에 대해서 다뤄봅니다. 보안적인 측면보다는 최대한 우선 쉽게 접근하는 걸 목표로 잡고 있기 때문에 이 점은 감안해서 봐주시면 감사하겠습니다. ^^ 이런 식으로 Docker를 Client에서도 다룰 수 있다는 것 정도로 보면 어떨까 싶습니다! ^^ 물론 이러한 API를 활용하여 Docker Host를 관리하도록 한다면 Docker의 명령을 직접 입력하지 않고 Application을 클릭하는 것만으로도 docker..
Programmability for Networker : Part 21 (Arista pyeapi:3) pyeapi, api, node, python, programmability : today Key 이번 포스팅은 지난 시간에 이어서, arista의 pyeapi에 대한 간략한 포스팅입니다. pyeapi를 사용 시에 기본적으로 보게 된, 몇 가지의 코드 내용을 간략하게 알아봅니다. 별도로 구현부까지는 세부적으로 알아보지 않고, 각 주요 메서드에 대한 사용법과 설명만 하였습니다. 추후에 필요에 따라서 이렇게 주요 메서드에 대해서는 추가로 알아 볼 예정이며, 또한 물론 각 메서드를 사용한 코드와 동작 결과에 대한 예제도 함께 알아보겠습니다. class Node(object): def config(self, commands): ▷ commands는 String이나 List형으로 구성되나, String형은 내부적..
Programmability for Networker : Part 20 (Arista pyeapi:2) pyeapi, eapi, python, arista, example : Today Key 이번 포스팅에서는 지난 번에 알아보았던 pyepai에서 제공하는 몇 가지 예제에 대해서 간략하게 알아보려고 합니다. 예제를 통해서 이러한 기능들도 사용할 수 있구나? 정도 ^^ 무엇이든, 왜? 사용해야 하는지 아는게 중요할테니, 이번 포스팅에서는 몇 가지 예제를 통해서 왜? 써야 하는지를 생각해 볼 수 있었으면 합니다. Arsita Python Client for eAPI (pyeapi) 예제 pyepai 예제 List • pyeapi를 설치하고 나면, 아래와 같이 몇 가지 예제를 코드를 제공합니다. 여기에서는 simple과 유사한 기능을 하는 sysmac을 제외한 나머지 코드를 살펴보려고 합니다. get-confi..
Programmability for Networker : Part 18 (Junos PyEZ:2) PyEZ라는 Junos OS 장비를 다룰 수 있도록 해주는 Python용 micro-framwork라고 하는 Library를 다뤄봅니다. 이번 포스팅에서는 PyEZ가 무엇인지 아주 간단히, 그리고 아주 간단한 예제를 통해서 가볍게 접근해봅니다. Juniper PyEZ Library ○ PyEZ를 통한 Configuration 관리 • PyEZ를 통한 설정 관리 : Unstructured / Structured • Unstructured - 지원되는 특정 포맷 형식에 Junos Config를 전달하여 관리 - 다수의 변수를 가진 Template을 사용하면 보다 쉽고 빠르게 사용 가능 • Structured - 설정 / 속성에 접근하는 프로그래밍 방법을 잘 정의한 추상화 자원을 사용 - 추상화 자원은 Pup..
Programmability for Networker : Part 17(Cisco NX-API) NX-API 기존의 Python for Networker라는 주제로 포스팅하던 것을, 주제를 넓혀보고자.. Programmability for Networker로 이름을 변경하고 지속해서 시작합니다. ^^; 이번 포스팅은 Cisco의 Programmability를 지원하는 NX-API에 대한 포스팅입니다. NX-API - Cisco Programmability ◈ NX-API - HTTP/HTTPS의 RPC 기반의 API 기능 수행 - 'show', 'configuration', 'Linux Bash' 지원 - JSON-RPC를 지원 - Cisco Nexus 9000 platform 적용 ◈ NX-API 동작 - HTTP/HTTPS로 전송되며, 해당 CLI는 HTTP/HTTPS의 POST body로 en..
Programmability for Networker : Part 16 (Junos PyEZ:1) PyEZ라는 Junos OS 장비를 다룰 수 있도록 해주는 Python용 micro-framwork라고 하는 Library를 다뤄봅니다. 이번 포스팅에서는 PyEZ가 무엇인지 아주 간단히, 그리고 아주 간단한 예제를 통해서 가볍게 접근해봅니다. Juniper PyEZ Library ○ PyEZ 란? - Junos OS 장비를 원격에서 관리 및 자동화하는 Python으로 만든 'micro-framework' - Junos OS 혹은 , Junos OS XML API에 대한 이해가 복잡하게 필요하지 않음 - 비개발자에게는 원격지의 Junos OS 장비의 자동화 업무 등의 할 수 있도록 하는 간단한 Power Shell 역할을 함. - 개발자에게는 보다 큰 네트워크 인프라의 자동화 관점에서 사용할 수 있는 확..
Programmability for Networker : Part 15 (Cisco OnePK:4) OnePK 예제 지난 포스팅에 이어서 Python을 사용한 OnePK 예제를 다뤄봅니다. 간략한 예제를 통해서, OnePK를 어떻게 사용할 수 있는지 알아보겠습니다. ○ OnePK 두 번째 예제 - Network Element의 Interface 정보를 가져와서 출력해보는 예제입니다 - Ethernet Type의 Interface 정보를 가져오고, 해당 Interface의 Description을 출력합니다 ◆ 실행결과 ◆ 소스코드 - 기본 코드는 지난 포스팅인 Python for Networker Part 14(OnePK3)을 참고해주시면 됩니다. - Interface를 정보를 가져오기 위해서 OnePK에서 제공하는 Package중에, Interface라는 Package를 사용합니다. - 여기서는 Net..