SnmpSim. Запускаем в Docker

В предыдущем посте была рассмотрен запуск симулятора snmpsim в Windows. Здесь же рассмотрим особенности запуска этого симулятора в Docker.

Для запуска snmpsim в докере мы будем использовать образ python:3.7-slim-buster. Почему не Alpine можно узнать из статьи на Хабре. В целом алгоритм достаточно прост: установить из pip симулятор snmpsim, скопировать папку data (содержащую файл public.snmprec) и открыть 161 порт.

И тут самое важное: требуется стартовать snmpsimd.py непременно из под process-user и process-group равными root.

Ниже подробный Dockerfile:

1
2
3
4
5
6
7
8
9
FROM python:3.7-slim-buster

RUN pip install --no-cache-dir snmpsim

ADD data /usr/local/snmpsim/data

EXPOSE 161/udp

CMD ["snmpsimd.py", "--agent-udpv4-endpoint=0.0.0.0:161", "--process-user=root", "--process-group=root"]

Файл public.snmprec из вышеупомянутой папки data подробно описан в предыдущем посте по snmpsim в Windows.

Собственно остаётся перейдти в папку с Dockerfile и выполнить команды:

1
docker build . -t snmp-sim

и

1
docker run -p 161:161 snmp-sim

Проверить обмен с симулятором можно с помощью программы MIB Browser