Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Ansible을 사용하여 Junos OS 디바이스 연결

 요약 주니퍼 네트웍스 Ansible 모듈을 사용하면 SSH, 텔넷 또는 시리얼 콘솔 연결을 사용하여 Junos OS 실행되는 장치에 연결할 수 있습니다.

주니퍼 네트웍스 실행되는 디바이스를 관리하는 데 사용할 수 있는 Ansible 모듈을 Junos OS. 주니퍼 네트웍스 모듈은 juniper.device Juniper.junos Ansible 갤럭시 상에서 호스팅되는 수집 및 역할을 통해 배포됩니다. 이 모듈은 이 문서에서 설명하는 Junos OS 및 Ansible 연결을 사용하여 네트워크에서 실행되는 장치에 연결할 수 있습니다.

연결 방법 개요

Ansible 주니퍼 네트웍스 SSH, 텔넷 또는 시리얼 콘솔 연결을 사용하여 Junos OS 실행되는 장치에 연결할 수 있습니다. 터미널 또는 랩톱이 네트워크에서 실행되는 디바이스의 CONSOLE 포트에 물리적으로 연결될 때 시리얼 콘솔 연결을 Junos OS. SSH 또는 텔넷을 사용하여 장치의 관리 인터페이스 또는 장치의 콘솔 포트에 직접 연결된 콘솔 서버에 연결할 있습니다.

공장 기본 구성을 구성하는 새 디바이스 또는 제로화된 디바이스는 콘솔 연결을 통해 액세스해야 합니다. 따라서, 처음에는 Ansible을 사용하여 장비에 직접 연결하거나 장비에 직접 연결된 콘솔 서버를 통해 텔넷 또는 SSH를 사용하는 시리얼 콘솔 연결을 사용해 아직 원격 액세스를 위해 구성되지 않은 디바이스를 구성할 수 있습니다.

기본적으로 주니퍼 네트웍스 모듈은 SSH를 사용하여 장비에 연결합니다. 텔넷 또는 시리얼 콘솔 연결을 사용 하도록 모듈 mode 의 매개변수를 적절한 값에 설정하십시오. 장비에 텔넷에 대해 텔 mode 넷과 동일한 인수를 으로 설정합니다 "telnet". 시리얼 콘솔 연결을 사용했다면, 에 mode 동일한 인수를 으로 설정합니다 "serial". 표 1 에는 연결 모드, 특정 매개 변수에 대한 기본값, Juniper.junos 필요한 Junos OS 구성 및 해당 연결 모드를 처음 지원하는 릴리스가 요약되어 있습니다. 이 juniper.device 모듈은 초기 릴리스를 기한으로 모든 연결 모드를 지원한다.

표 1: Ansible 모듈을 위한 주니퍼 네트웍스 모드

연결 모드

mode 가치

기본 포트

필수 Junos OS 구성

최초 지원 릴리스(Juniper.junos)

SSH를 통해 NETCONF(기본)

830

[edit system services]
netconf {
    ssh;
}

1.0.0

시리얼 콘솔 연결

serial

/dev/ttyUSB0

2.0.0

콘솔 서버를 통한 SSH

22

2.2.0

운영 중인 장비와의 Junos OS

telnet

23

[edit system services]
telnet;

1.4.0

2.0.0에 기본 포트 추가

콘솔 서버를 통한 Telnet

telnet

23

1.4.0

참고:

SSH를 통해 telnet 또는 NETCONF를 사용하여 관리 인터페이스에 액세스할 수 있도록 하기 전에 먼저 계층 수준에서 적절한 서비스를 활성화해야 [edit system services] 합니다. 텔넷은 명확한 텍스트 암호를 사용하기 때문에(따라서 잠재적 보안 취약성을 생성하기 때문에 SSH를 사용하는 것이 좋습니다.

원격 주니퍼 네트웍스 실행되는 장치를 관리하기 위해 Junos OS 장비는 해당 프로토콜에 적합한 자격 증명을 사용하여 Ansible 사용자를 인증할 수 있어야 합니다. 자세한 내용은 실행 중인 장치에서 Ansible 모듈을 실행하는 인증 사용자를 Junos OS.

주니퍼 네트웍스 모듈은 로컬(작업당) 연결과 영구(플레이당) 연결을 Junos OS 실행되는 장비에 연결할 때 서로 다른 Ansible 연결을 지원합니다. Ansible 연결은 Ansible이 플레이의 각 작업에 대해 호스트에 별도의 연결을 구축하는지 또는 플레이의 모든 작업에 지속되는 호스트에 대한 단일 연결을 구축하는지 여부를 확인합니다. Ansible 연결의 지정에 대한 자세한 내용은 Local 및 Persistent Ansible 연결의 이해를 참조하십시오.

로컬 및 영구 Ansible 연결 이해

이 주니퍼 네트웍스 모듈은 JUNOS PyEZ와 NETCONF를 통해 Junos XML API를 사용하여 디바이스와 인터페이스하기 때문에 네트워크에서 실행되는 디바이스에서 Pyth Junos OS on을 요구하지 않습니다. 따라서 에지에서 실행되는 디바이스에서 작업을 Junos OS Python이 설치된 Ansible 제어 노드에서 로컬로 모듈을 실행해야 합니다. 플레이북 플레이에 포함시 하여 모듈을 로컬 connection: local 에서 실행할 수 있습니다. connection: localAnsible을 사용하면 호스트에서 작업을 수행하는 플레이의 각 작업에 대해 호스트에 대한 별도의 연결을 구축할 수 있습니다.

또한 juniper.device 수집 모듈은 호스트 connection: juniper.device.pyez 에 대한 영구적 연결을 구축할 수 있습니다. 영구 연결을 사용하는 경우, Ansible은 여전히 컨트롤 노드에서 로컬로 모듈을 실행하지만, 각 호스트에 대한 단일 연결을 설정하고 유지 관리하기만 합니다. 이 연결은 플레이의 모든 작업 실행 동안 지속됩니다. 호스트에 대한 영구 연결을 설정하면 플레이의 모든 작업에 대해 호스트에 대한 별도의 연결을 설정하는 것보다 여러 작업을 보다 효율적으로 실행할 수 있습니다.

표 2 에는 Ansible 연결과 이들을 지원하는 컨텐츠 세트가 요약 설명하고 있습니다.

표 2: 주니퍼 네트웍스 모듈에서 지원되는 Ansible 연결

Ansible 연결

설명

컨텐트 세트 지원

connection: local

Ansible 제어 노드에서 로컬로 모듈을 실행하지만 호스트에서 작업을 수행하는 플레이의 각 작업에 대해 호스트에 별도의 연결을 구축합니다.

juniper.device 컬렉션

Juniper.junos 역할

connection: juniper.device.pyez

Ansible 제어 노드에서 로컬로 모듈을 실행하지만, 플레이의 모든 작업 실행을 지속하는 호스트에 영구 연결을 설정합니다.

juniper.device 컬렉션

참고:

Ansible은 그 사용의 대세가 됐습니다 connection: local. 따라서 수집 juniper.device 모듈을 사용할 경우, connection: juniper.device.pyez Ansible이 나중에 릴리스에서 로컬 연결에 대한 지원을 제거한 경우, 플레이북에서 문제를 방지할 것을 권합니다.

사용 시 connection: local, Ansible은 각 모듈에 대해 호스트에 대한 별도의 연결을 설정하기 때문에 모듈의 인수 목록에서 모듈별 연결 및 인증 매개변수를 정의할 수 있습니다. 반대로, connection: juniper.device.pyez사용 시, 연결은 플레이의 모든 작업에 걸쳐 지속하기 때문에 모든 모듈에 대한 연결 및 인증 매개 변수를 전역적으로 정의해야 합니다. 플레이 섹션 vars: 에서 매개변수를 정의하는 것은 물론, SSH 구성 파일이나 Ansible 인벤토리 파일 등 다른 방법을 통해 매개 변수를 정의할 수 있습니다. 자세한 내용은 실행 중인 장치에서 Ansible 모듈을 실행하는 인증 사용자를 Junos OS.

다음 플레이북은 플레이의 모든 작업에 사용되는 각 호스트에 대한 영구 연결을 구축합니다. Ansible 파일로 저장되는 사용자의 자격 증명은 플레이 섹션에 정의 vars: 됩니다.

SSH를 사용한 장비 연결

Ansible 주니퍼 네트웍스 SSH를 사용하여 네트워크에서 실행되는 장비에 Junos OS. 장비 관리 인터페이스에서 SSH를 통해 NETCONF 세션을 설정하거나 장비의 콘솔 포트에 직접 연결된 콘솔 서버를 통해 SSH 연결을 설정할 수 있습니다. SSH 서버는 실행 중인 장치에서 Ansible 모듈을 실행하는 사용자 인증에 설명된 표준 SSH 인증 메커니즘을 사용하여 사용자를 인증할 Junos OS. SSH를 통해 NETCONF 세션을 설정하려면 관리 노드에 대한 Ansible 설정에 Junos OS 충족해야 합니다.

주니퍼 네트웍스 매개 변수가 다른 구성 파일을 지정하지 않는 한 기본 SSH 구성 파일을 ~/.ssh/config ssh_config 에 자동으로 쿼리합니다. SSH를 사용하여 네트워크가 실행되는 장치 또는 Junos OS 연결된 콘솔 서버에 연결할 때 먼저 SSH 공용 키 기반 인증을 시도한 다음 암호 기반 인증을 시도합니다. 암호 기반 인증을 사용하는 경우 제공된 암호가 디바이스 암호로 사용됩니다. SSH 키를 사용하는 경우 제공된 암호는 개인 키의 잠금을 해제하기 위한 암호로 사용됩니다. SSH 전용 키에 빈 암호가 있는 경우 암호가 필요하지 않습니다. 그러나 빈 암호가 있는 SSH 전용 키는 권장하지 않습니다.

다음 플레이북은 네트워크에서 실행되는 디바이스를 통해 SSH를 통해 NETCONF Junos OS 설정하고 장치 정보를 검색합니다. 플레이북은 기본 위치에서 SSH 키를 사용합니다.

또한 주니퍼 네트웍스 Ansible 모듈을 사용하면 SSH 연결을 통해 콘솔 서버에 Junos OS 실행되는 장비에 연결할 수 있습니다. 이 경우 네트워크에서 실행되는 장비와 콘솔 서버 모두에 대한 Junos OS 인증 정보를 지정해야 합니다. 및 매개 user 변수 passwd 를 사용하여 Junos OS 로그인 인증 정보를 지정하고, cs_user cs_passwd 그와 매개변수를 사용하여 콘솔 서버 증명을 지정합니다. SSH 키를 사용하는 경우 개인 cs_passwd 키에 대한 패스프래스가 됩니다.

다음 플레이북에서는 콘솔 서버와 네트워크에서 실행되는 장치에 대한 사용자의 Junos OS. 이 모듈은 콘솔 서버를 통해 인증을 한 다음, 네트워크에서 실행되는 Junos OS. 인증에 성공하면 플레이북은 매니지드 노드에서 장비 정보를 검색하고 Junos OS 인쇄합니다.

주니퍼 네트웍스 모듈은 기본 SSH 클라이언트 구성 파일을 ~/.ssh/config(있는 경우)에서 자동으로 쿼리합니다. 매개 변수를 포함하고 구성 파일의 위치를 지정하여 다른 SSH ssh_config 구성 파일을 사용할 수 있습니다. 예를 들어:

텔넷을 사용한 장비 연결

이 주니퍼 네트웍스 모듈을 사용하면 네트워크 디바이스에 암호화되지 않은 액세스를 제공하는 텔넷을 Junos OS 실행되는 장치에 연결할 수 있습니다. 장비의 관리 인터페이스 또는 장비의 콘솔 포트에 직접 연결된 콘솔 서버로 연결할 수 있습니다. 콘솔 서버를 통해 장비에 액세스하면 원격 액세스를 위해 아직 구성되지 않은 새 또는 제로화된 디바이스를 초기에 구성할 수 있습니다. 관리 인터페이스에 telnet을 사용하려면 인터페이스에 액세스해야 하는 모든 장비의 계층 수준에서 Telnet [edit system services] 서비스를 구성해야 합니다.

원격 장비에 대한 telnet mode "telnet" port 에 매개 변수를 설정하고 포트를 지정하기 위한 매개 변수를 선택적으로 포함합니다. 매개 변수 mode "telnet" 를 생략하지만 port 설정하면 기본값 port 이 23로 설정됩니다. 영구 연결의 경우 섹션 mode port 과 아래에 정의합니다 vars: . 로컬 연결의 경우 섹션 vars: 하에서 또는 모듈 인수로 매개 변수를 정의할 수 있습니다.

다음 플레이북 텔넷은 포트 7016을 사용하여 Junos OS 실행되는 장비에 연결하고, 디바이스 정보를 검색하고 파일로 저장합니다. 이 모듈은 기본 사용자를 사용하며 로그인 암호에 대한 프롬프트를 제공합니다.

시리얼 콘솔 연결을 사용하여 장비 연결

주니퍼 네트웍스 모듈을 사용하면 시리얼 콘솔 연결을 사용하여 Junos OS 실행되는 장치에 연결할 수 있습니다. 이는 원격 액세스를 위해 아직 구성되지 않은 새 또는 제로화된 장치를 처음 구성해야 하는 경우 유용합니다. 이 연결 방법을 사용하려면 터미널 또는 랩톱을 CONSOLE 포트를 통해 Junos OS 디바이스에 물리적으로 연결 해야 합니다. 에지에서 실행되는 디바이스의 CONSOLE 포트 연결에 대한 자세한 Junos OS 장비에 대한 하드웨어 설명서를 참조하십시오.

시리얼 콘솔 연결을 통해 Junos OS 실행되는 장치에 연결하려면 모듈 mode "serial"port 의 매개변수를 설정하고 포트를 지정하는 매개 변수를 선택적으로 포함합니다. 매개 변수 mode "serial" 를 생략하지만 port port 설정하면 기본값에 대한 값이 에 표시됩니다/dev/ttyUSB0. 영구 연결의 경우 섹션 mode port 과 아래에 정의합니다vars:. 로컬 연결의 경우 섹션 vars: 하에서 또는 모듈 인수로 매개 변수를 정의할 수 있습니다.

다음 플레이북은 CONSOLE 포트를 통해 Junos OS 실행되는 장비에 연결한 다음 초기 구성을 로드하고 커밋합니다. 이 모듈은 기본 사용자를 사용하며 로그인 암호에 대한 프롬프트를 제공합니다.