我只有 IPv6(不是雙堆疊)系統,我想知道如何
從該系統發送 snmptrap? - 配置 snmpd 以便能夠存取它?
我的意思是,snmp 是否可以在純 IPv6 環境中使用?
答案1
根據你必須指定UDP6。
傳送:trap2sink udp6:[::1]:162
在 snmpd.conf 中這將會傳送到本機主機 IPv6。
接收:snmptrapd udp6:162
答案2
首先啟動 snmptrapd 來監聽 IPv6:
/usr/sbin/snmptrapd -On -Lsd -f -p /run/snmptrapd.pid udp:162,udp6:162
然後發送一個陷阱:
/usr/bin/snmptrap -Lo -v2c -c public udp6:[2001:db:8::beef]:162 "" .1.3.6.1.2.1.31337.0
答案3
作為 root,我發出命令/usr/sbin/snmptrapd udp:162,udp6:162
並啟動 snmptrapd。使用命令驗證這一點ps -u root | fgrep snmptrapd
。然後,發送一個陷阱。就我而言,我的 IPv6 位址是 2601:602:8500:1b2:5a74:16a3:770f:40ce,所以我的指令是snmpinform -v 2c -m ALL -c public 2601:602:8500:1b2:5a74:16a3:770f:40ce 145 coldStart.0
。我必須使用 -m ALL 因為我的 MIB 檔案的設定方式有問題 - 我需要解決這個問題。如果您收到錯誤訊息“coldStart.0:未知物件識別碼(未找到子 id:(頂部)-> ColdStart)”,那麼您可能會遇到與我相同的問題 - 請告訴我。如果您沒有收到錯誤訊息,請忽略 -m ALL 選項。 ColdStart.0 是標準 OID 之一。我不知道這個測試的 OID 是什麼。我什麼做關心的是數字145 snmpinform
。這將使您在追蹤日誌檔案時變得更加輕鬆。
這不是最好的解決方案。最好的解決方案是使用
snmpTrapdAddr upd6:162
/etc/snmp/snmptrapd.conf 檔案中的參數,這就是我首先來到這裡的原因。
如果我正確設定了 snmptrapd,那麼 /var/log/syslog 中將會有一個條目,如下所示:
Jan 10 02:04:35 jeffs-desktop snmptrapd[405089]: 2021-1-10 2:4 0.0.0.0 Cold Start