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

Ubuntu 8.0.4についてはよく分かりませんが、10以降では追加する必要があります

agentAddress udp:0.0.0.0:161

Rev2

ファイアウォールは出力でも開く必要があります

iptables -A OUTPUT -p udp -m udp --sport 161 -j ACCEPT

インターネットまたは同じネットワーク経由でシステムにアクセスしようとする

答え2

これは私にとっては新しいことですが、SNMPD は /etc/hosts.allow と iptables 内で制限されていました。リモート ホストの IP をリストに追加しただけで、すべてが機能するようになりました。

皆さんの助けに感謝します。皆さんのおかげで、考えられるすべての方法を試し、最終的に 1 つだけになりました。興味深いことに、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'

関連情報