Python3 snmpget TimeoutError с использованием Easysnmp, хотя он успешно использует команду bash
Я пытаюсь запросить коммутаторы в нашей среде с помощью пакета EasySNMP python3. В нашей среде у нас есть несколько коммутаторов одной и той же модели оборудования. У меня 2 переключателя. Switch_A и Switch_B.
Когда я пытаюсь запросить их с помощью команды bash snmpget, обе возвращают запрошенные данные:
snmpget -v3 -l authPriv -u userA -a MD5 -A auth_pass -x DES -X priv_pass Switch_A.example.com sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: Switch_A_config_v2
snmpget -v3 -l authPriv -u userA -a MD5 -A auth_pass -x DES -X priv_pass Switch_B.example.com sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING:Switch_B_config_v2
Когда я пытаюсь запросить их с помощью модуля Easysnmp Python3 (3.6.8) 1 коммутаторов, он возвращает ожидаемые данные, но другие результаты приводят к ошибке TimeoutError, и я действительно не могу понять, почему.
easysnmp.snmp_get(['sysDescr.0'], hostname='Switch_A.example.com', security_username='userA', auth_protocol='MD5', auth_password='auth_pass', version=3, security_level='auth_with_privacy', privacy_password='priv_pass', privacy_protocol='DES')
[<SNMPVariable value='Switch_A_config_v2' (oid='sysDescr', oid_index='0', snmp_type='OCTETSTR')>]
easysnmp.snmp_get(['sysDescr.0'], hostname='Switch_B.example.com', security_username='userA', auth_protocol='MD5', auth_password='auth_pass', version=3, security_level='auth_with_privacy', privacy_password='priv_pass', privacy_protocol='DES')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib64/python3.6/site-packages/easysnmp/easy.py", line 22, in snmp_get
return session.get(oids)
File "/usr/local/lib64/python3.6/site-packages/easysnmp/session.py", line 315, in get
interface.get(self, varlist)
easysnmp.exceptions.EasySNMPTimeoutError: timed out while connecting to remote host
Очевидно, я изменил пароли, URL-адреса и прочее, но ЕДИНСТВЕННОЕ, что я изменил, — это значение DNS-имени между тестами.
Любая помощь будет принята с благодарностью. Ура, Джон