Ubuntu 上的 SNMP 訪問

Ubuntu 上的 SNMP 訪問

我正在嘗試使用 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 是遠端計算機,最初我只是嘗試從遠端計算機使用 snmpwalk 接觸 SNMPD;

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 規則,我不明白為什麼我甚至無法觸及 Uubuntu 機器上的 SNMPD。表中還有更具體的規則,但由於我無法連接,所以我添加了上面的規則。 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'

相關內容