iT邦幫忙

0

Zabbix Server V6.4 Centos 8 系統下snmpwalk指令,出現snmpwalk:No securityName specified錯誤訊息

  • 分享至 

  • xImage

Zabbix SNMPv2升級到v3協議,Zabbix Server V6.4 Centos8系統下snmpwalk -v 3 -c public 172.16.x.x指令,出現snmpwalk:No securityName specified錯誤訊息(下圖),172.16.x.x是要監控的PA已設置成v3協議,Zabbix網頁上host的snmpv3、 serurity name、authpassword、privpassword都已設置好!

https://ithelp.ithome.com.tw/upload/images/20240725/20058589ZNIurp7euK.jpg

查了一下資料,不太確定是不是我之前不小心把Zabbix Server 上 /etc/snmp/snmpd.conf、/var/lib/net-snmp/snmpd.conf 的usr、engine id刪除所導致。
如果是我不小心刪除,請問engine id要如何能找回?貼回檔案中?
如果不是這個問題,麻煩提供檢查步驟,非常感謝解答。

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
rb1102
iT邦研究生 3 級 ‧ 2024-07-28 19:35:24

幫你問chatGPT

如果你在 Zabbix Server 上不小心刪除了 SNMP 相關的配置文件或文件中的某些重要內容,可能會導致 SNMP 無法正常工作。這裡有幾個步驟和檢查方法來幫助你解決問題:

1. 檢查和恢復配置文件
檢查 /etc/snmp/snmpd.conf
/etc/snmp/snmpd.conf 是 SNMP 代理的主要配置文件。如果你刪除了其中的重要設定(如 engineID、securityName 等),這可能會導致問題。

確認 SNMP 配置:

打開 /etc/snmp/snmpd.conf 檔案,檢查是否有丟失的配置行。
如果有備份,可以恢復到之前的狀態。
重置 SNMP 配置:

如果沒有備份,可以重新配置 SNMP。以下是一個基本的 SNMP v3 配置範例:
# See /usr/share/doc/net-snmp-doc/html/config/snmpd.conf.html for more information`

# Listen for connections on all interfaces
agentAddress udp:161,udp6:[::1]:161

# Create a new user with a specific engine ID, authentication, and privacy protocols
createUser myUser SHA authPass123 AES privPass123

# Configure SNMPv3 security
rouser myUser

# System information
sysLocation "Unknown"
sysContact "Unknown
```"
設定好後,重啟 SNMP 代理服務以使更改生效:

`sudo systemctl restart snmpd`
檢查 /var/lib/net-snmp/snmpd.conf
這個文件通常是 SNMP 代理的運行時配置文件,保存了 SNMP 的狀態信息。一般情況下,你不應該直接編輯這個文件,因為它是由 SNMP 代理自動生成和管理的。

確認此文件的存在和讀取權限,必要時進行修復或重建。
2. 恢復 SNMP Engine ID
SNMP Engine ID 是 SNMP 代理識別的唯一標識,這通常是在 snmpd 啟動時自動生成的。刪除或丟失 SNMP Engine ID 會導致 SNMP 代理無法正常運作。

檢查 Engine ID:

可以通過檢查 SNMP 日誌來查看 Engine ID。查看 /var/log/snmpd.log 或其他相關日誌文件,看是否有 SNMP Engine ID 的信息。
如果 Engine ID 遺失或損壞,通常需要重新配置或重置 SNMP。
重新生成 Engine ID:

重新啟動 SNMP 代理會自動生成新的 Engine ID。確保 snmpd 配置正確,然後重啟服務:

`sudo systemctl restart snmpd`
3. 檢查 SNMP 代理和配置
檢查 SNMP 服務狀態:

確保 SNMP 服務正在運行:

`sudo systemctl status snmpd`
如果服務未啟動,查看日誌以獲取錯誤信息:

`sudo journalctl -u snmpd`
測試 SNMP 配置:

使用 snmpwalk 命令測試配置,確保它能夠返回預期的結果。使用正確的 SNMP 版本和安全參數來測試。
4. 其他檢查
檢查防火牆設置:

確保防火牆允許 SNMP 流量通過(通常是 UDP 端口 161)。
檢查 SELinux 設置:

如果使用 SELinux,確保其配置允許 SNMP 服務正常運行。
總結
確認和恢復 /etc/snmp/snmpd.conf 和 /var/lib/net-snmp/snmpd.conf 文件。
確保 SNMP 服務正常運行並重啟服務。
如果需要,可以重新生成 SNMP Engine ID。
測試 SNMP 配置以確保其工作正常。
希望這些步驟能幫助你解決問題。如果還有其他問題或需要進一步的幫助,隨時告訴我!

我要發表回答

立即登入回答