Я пытаюсь использовать SNMP для локального и удаленного мониторинга машины. Это snmpd.conf (Ubuntu 8.04.1):
# sec.name source comunity
com2sec readonly 1.2.3.4 nicenandtight
com2sec readonly 5.6.7.8 reallysafe
group MyROGroup v1 readonly
group MyROGroup v2c readonly
group MyROGroup usm readonly
view all included .1
view system included .iso.org.dod.internet.mgmt.mib-2.system
access MyROGroup "" any noauth exact all none none
syslocation my house
syscontact me <[email protected]>
exec .1.3.6.1.4.1.2021.7890.1 distro /usr/bin/distro
smuxpeer .1.3.6.1.4.1.674.10892.1
includeAllDisks 95%
1.2.3.4 — это IP-адрес локальной машины, и все работает локально. 5.6.7.8 — это удаленная машина, и изначально я просто пытаюсь подключиться к SNMPD с помощью snmpwalk с удаленной машины;
snmpwalk -v 2c -c reallysafe 1.2.3.4
Timeout: No Response from 1.2.3.4
Я добавил в iptables самое первое правило;
-A INPUT -p udp -m udp --dport 161 -j ACCEPT
С таким свободным правилом iptables я не понимаю, почему я не могу даже прикоснуться к SNMPD на этой машине Uubuntu. Ниже в таблице есть более конкретные правила, но поскольку я не смог подключиться, я добавил приведенное выше. TCPDump показывает входящие пакеты UDP. Что здесь может быть не так?
решение1
Доброе утро. Ваш snmpd (не брандмауэр) настроен на разрешение входящих подключений? Попробуйте:
nestat -nlpu|grep snmp
прослушивает ли он 127.0.0.1 или 0.0.0.0 Конфигурация snmpd:
/etc/snmp/snmpd.conf
Я не уверен насчет 8.0.4 Ubuntu, но в 10+ нужно добавить
agentAddress udp:0.0.0.0:161
Рев2
Брандмауэр должен быть открыт также в выходных данных
iptables -A OUTPUT -p udp -m udp --sport 161 -j ACCEPT
Вы пытаетесь получить доступ к системе через Интернет или ту же сеть
решение2
Это для меня новость, SNMPD был ограничен внутри /etc/hosts.allow, а также iptables. Я просто добавил IP удаленного хоста в список там, и теперь все работает.
Спасибо всем за помощь, это очень ценно. Вы все помогли мне пересечь все возможные пути, пока не остался только один. Но из любопытства, где в сетевой цепочке находится дамп TCP, до или после iptables? Предположительно после, так что возможно ли увидеть пакеты до того, как они попадут в iptables?
решение3
Показывает ли tcpdump
также обратный UDP-трафик, отправленный обратно на хост? (Попробуйте что-то вроде tcpdump host other.host.address and udp
)
Если так, возможно, ваши правила брандмауэра OUTPUT не позволяют трафику udp возвращаться на другой хост? Можете ли вы опубликовать вывод iptables -nL
?
решение4
Я также столкнулся с этой проблемой в Ubuntu10.4 иэта почтаМне очень помогло:
- Если вы хотите опрашивать только с локального хоста, то все готово. Если же вы хотите использовать SNMP по сети... Вам нужно отредактировать /etc/default/snmpd и изменить строку, которая привязывает его только к 127.0.0.1.
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'