Есть роутер на FreeBSD 7.0. Задача: отрисовывать загрузку интерфейсов при помощи mrtg или cacti.
Для работы этих утилит необходима поднятая служба SNMP на сервере.
Можно конечно поставить порт net-mgmt/net-snmp, но есть путь проще и быстрее, особенно, если нам SNMP нужен только для съема статистики с интерфейсов. В базовой системе FreeBSD уже имеется SNMP-сервер, под названием bsnmpd. Остается только его включить и запустить.
Итак: Правим заголовок /etc/snmpd.conf.
router# head -25 /etc/snmpd.config | grep -v '#'location := "Server room #1"contact := "rshramko@domain.ua"traphost := localhosttrapport := 162read := "mypublicstring"write := "myprivatestring"trap := "mytrap"
Правим location и contact, т.к. потом эти значения будут выводиться на графиках, меняем read и write community strings.
В принципе, их даже можно не менять (community strings), т.к. доступ к сервису мы будем осуществлять только с 127.0.0.1.
Включаем запуск bsnmpd в /etc/rc.conf:
router# grep snmp /etc/rc.confbsnmpd_enable="YES"
Запускаем службу командой /etc/rc.d/bsnmpd start.
Проверить работу можно несколькими путями, например посмотреть, слушается ли 161 UDP порт:
router# sockstat -4 | grep snmproot bsnmpd 6964 3 udp4 127.0.0.1:50377 127.0.0.1:162root bsnmpd 6964 5 udp4 *:* *:*root bsnmpd 6964 6 udp4 *:161 *:*
Последний штрих — оставляем доступ к службе только с адреса loopback.
router# head -30 /etc/hosts.allow | grep -v '#'snmpd : 127.0.0.1 : allowsnmpd : ALL : denyALL : ALL : allow