Junos PyEZ 연결 오류 문제 해결
거부된 연결 오류 문제 해결
문제
묘사
Junos PyEZ를 사용하여 원격 Junos 디바이스를 관리할 때 코드는 연결이 거부되었다는 오류를 생성합니다. 예를 들어:
jnpr.junos.exception.ConnectRefusedError
원인
디바이스에서 NETCONF가 활성화되지 않거나 연결 수가 제한을 초과합니다.
거부된 연결 오류의 가장 큰 원인은 Junos 디바이스에서 NETCONF over SSH가 활성화되어 있지 않기 때문입니다. NETCONF의 활성화 여부를 신속하게 테스트하려면 사용자 계정이 디바이스에서 NETCONF 세션을 성공적으로 시작할 수 있는지 확인해야 합니다.
[user@server]$ ssh user@R1.example.com -p 830 -s netconf
용액
Junos 디바이스에서 NETCONF가 활성화되지 않은 경우 NETCONF를 활성화합니다.
[edit] user@R1# set system services netconf ssh user@R1# commit
NETCONF 세션 수가 제한을 초과하면 허용되는 세션의 최대 수를 최대 250개까지 늘립니다. 기본값은 75입니다.
[edit] user@R1# set system services netconf ssh connection-limit limit user@R1# commit
온박스 이벤트 스크립트에서 Junos PyEZ 연결 오류 문제 해결
문제
묘사
온박스 Python 이벤트 스크립트에서 Junos PyEZ를 사용하는 경우 코드는 사용자 "nobody"를 참조하는 ConnectError 메시지를 생성합니다. 예를 들어:
ConnectError(host: None, msg: user "nobody" does not have access privileges.)
원인
승인되지 않은 Python 코드의 실행을 방지하기 위해 기본적으로 Junos 디바이스는 권한이 없는 일반 사용자 및 그룹의 nobody액세스 권한을 사용하여 Python 이벤트 스크립트를 실행합니다.
용액
특정 사용자의 액세스 권한을 사용하여 이벤트 스크립트를 실행하려면 해당 이벤트 스크립트에 python-script-user 대한 문을 구성하고 사용자를 지정해야 합니다. 구성된 사용자는 디바이스에서 로컬 사용자 계정을 가지고 있어야 합니다.
[edit] user@host# set event-options event-script file filename python-script-user user user@host# commit
루트 액세스 권한으로 실행하도록 Python 이벤트 스크립트를 구성할 수 없습니다.
예를 들어:
[edit] user@host# set event-options event-script file bgp-neighbors.py python-script-user admin user@host# commit