Не удается получить доступ к стеку SNMP на rasp pi через маршрутизатор из глобальной сети.

Предыстория

Я запускаю следующее

  • На моем ноутбуке самая последняя версия arch linux со всеми последние обновления. Именно с этого ноутбука я запрашиваю стек SNMP на rasp pi

    $ uname -a Linux 4.20.13-arch1-1-ARCH #1 SMP PREEMPT Среда, 27 февраля, 19:10:28 UTC 2019 x86_64 GNU/Linux

  • На raspberry pi я использую raspian со всеми последними обновлениями.

    $ uname -a Linux raspberrypi 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux

  • На raspberry pi я запускаю стек SNMP со следующей конфигурацией

    • $ sudo apt-get install -y snmp snmpd

      $ snmpd -v

      Версия NET-SNMP: 5.7.3

    • Файл /etc/snmp/snmp.conf пуст

    • Файл /etc/snmp/snmpd.conf содержимое вставлено ниже

Описание проблемы

Я не могу заставить команду snmpstatus работать из глобальной сети, т.е. находясь вдали от меня, и получить удаленный доступ к локальной сети через Интернет. Команда, которая не будет работать со стороны WAN, но будет работать со стороны LAN:

snmpstatus -v1 -c public my_dydns.org:1234 (в результате этой команды ничего не отображается).

Со стороны локальной сети маршрутизатора та же команда работает должным образом. snmpstatus -v1 -c public my_dydns.org:1234 дает следующий правильный вывод: [UDP: [94.94.94.94]:1234->[0.0.0.0]:40866]=>[Linux raspberrypi 4.14.98-v7+ #1200 SMP Вт, 12 февраля 20:27:48 GMT 2019 armv7l] Up: 15:33:34,58

I Я настроил свой домашний маршрутизатор так, чтобы внешний порт WAN, обращенный к порту 1234, перенаправлял порт на порт 192.168.1.30 161, который является стеком SNMP на rasp pi.

Я знаю, что мои dydns и переадресация портов работают хорошо, потому что та же самая команда snmpstatus, используемая для получения состояния SNMP принтера в той же локальной сети, доступ к которой осуществляется из глобальной сети, с использованием аналогичного режима переадресации портов работает просто отлично.

Ниже приведен мой файл snmpd.conf, используемый на rasp pi.
Файл snmp.conf существует и пуст.

Содержимое /etc/snmp/snmpd.conf вставлено ниже

agentAddress udp:161,udp6:[::1]:161

# ниже разрешен любой IP-адрес в диапазоне от 192.168.1.0 до 192.168.1.254 доступ к этому SNMP, включая маршрутизатор по адресу 192.168.1.1

rocommunity public 192.168.1.0/24

# разрешает проброс портов через маршрутизатор из глобальной сети (т.е. с внешней стороны маршрутизатора)

rocommunity public me .my_dydns.org

0
05.03.2019, 17:17
1 ответ

Неверный IP-адрес в файле SNMP. Однако он уже включен в 192.168.0/24, поскольку в примечании правильно указано «включая маршрутизатор». например. вы можете закомментировать строкуrocommunity public me.my_dydns.org

Тем не менее, из соображений безопасности не рекомендуется предоставлять службы SNMP на открытых интерфейсах Интернета. Гораздо меньше SNMP с аутентификацией v1/v2, где аутентификация не шифруется.

Я бы посоветовал настроить VPN для общения по SNMP через VPN.

Однако, насколько я помню, некоторые протоколы не совместимы с NAT, а SNMP не является одним из самых дружественных к NAT. например. SNMP плохо работает через NAT. Это может сработать или не сработать, а в данном случае, скорее всего, нет.

Я бы посоветовал настроить VPN для общения по SNMP через Интернет.

На примере оборудования Cisco:

Network Address Translation > NAT Issues

Table 4-1 IP Traffic Types/Applications Supported by Cisco NAT
Traffic Types/Applications Not Supported SNMP

ПС. В корпоративном оборудовании у них есть инспекторы/специализированные агенты, которые переписывают пакеты SNMP для работы через NAT.

1
28.01.2020, 02:40

Теги

Похожие вопросы