Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos 디바이스 관리 시 Ansible 연결 오류 문제 해결

다음 섹션에서는 Ansible을 사용하여 Junos 디바이스를 관리할 때 발생할 수 있는 연결 오류에 대해 간략하게 설명합니다. 이 섹션에서는 각 오류에 대한 잠재적인 원인과 해결 방법도 제시합니다.

실패 또는 잘못된 연결 오류 문제 해결

문제

설명

Junos 디바이스에서 또는 모듈을 실행하는 juniper.device 동안 Ansible 제어 노드는 SSH 연결 실패 또는 Juniper.junos 알 수 없는 명령에 대한 오류를 생성합니다. 예를 들어:

또는

원인

이러한 오류는 모듈이 Ansible 제어 노드에서 로컬로 실행되지 않을 때 발생할 수 있습니다.

일반적으로 Ansible은 관리형 노드에 Python이 필요하며, Ansible 제어 노드는 모듈을 노드로 전송하여 실행된 후 제거됩니다. 주니퍼 네트웍스 모듈은 Junos PyEZ 및 NETCONF를 통한 Junos XML API를 사용하여 디바이스와 상호 작용하기 때문에 Junos 디바이스에서 Python을 필요로 하지 않습니다. 따라서 Junos 디바이스에서 작업을 수행하려면 Python이 설치된 Ansible 제어 노드에서 모듈을 로컬로 실행해야 합니다. Ansible이 Junos 디바이스에서 직접 모듈을 실행하려고 하면 오류가 발생합니다.

솔루션

Ansible 제어 노드가 또는 Juniper.junos 모듈을 로컬로 실행 juniper.device 하도록 지시하려면 Ansible 플레이북에 포함 connection: local 하거나 개별 모듈을 실행할 때 명령줄 인수를 --connection local 포함합니다. 예를 들어:

알 수 없는 호스트 오류 문제 해결

문제

설명

또는 모듈을 실행하는 juniper.device 동안 Ansible 제어 노드에서 오류가 발생합니다ConnectUnknownHostError.Juniper.junos

원인

호스트가 Ansible 인벤토리 파일에 정의되어 있지 않거나 Ansible 제어 노드가 호스트 이름을 확인할 수 없습니다.

Ansible 모듈을 직접 또는 플레이북에서 실행할 때 모듈 인수 또는 플레이북에서 참조되는 모든 호스트는 Ansible 인벤토리 파일에 정의되어야 합니다. 인벤토리 파일의 기본 위치는 / etc/ansible/hosts입니다. 인벤토리 파일이 호스트 이름을 참조하는 경우 Ansible 제어 노드는 호스트 이름을 확인할 수 있어야 합니다.

솔루션

누락된 호스트를 포함하도록 Ansible 인벤토리 파일을 업데이트하고 DNS 확인이 올바르게 작동하는지 확인합니다.

Ansible 인벤토리 파일에 대한 자세한 내용은 Junos 디바이스 관리 시 Ansible 인벤토리 파일 이해https://www.ansible.com/ 의 공식 Ansible 설명서를 참조하십시오.

거부된 연결 오류 문제 해결

문제

설명

또는 모듈을 실행하는 juniper.device 동안 Ansible 제어 노드에서 오류가 발생합니다ConnectRefusedError.Juniper.junos 예를 들어:

원인

거부된 연결 오류의 가장 큰 원인은 Junos 디바이스에서 SSH를 통한 NETCONF가 활성화되지 않았기 때문입니다.

NETCONF가 활성화되었는지 여부를 신속하게 테스트하려면 Ansible 모듈을 실행하는 사용자 계정이 디바이스와의 NETCONF 세션을 성공적으로 시작할 수 있는지 확인합니다.

사용자가 기본 NETCONF 포트(830) 또는 디바이스의 NETCONF를 위해 특별히 구성된 포트에서 디바이스와 NETCONF 세션을 성공적으로 설정할 수 있는 경우 NETCONF가 활성화됩니다. 그렇지 않으면 디바이스에서 SSH를 통한 NETCONF를 활성화해야 합니다.

솔루션

Junos 디바이스에서 NETCONF-over-SSH 서비스를 활성화합니다.