私は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'