Tại sao SNMP bị hỏng?


28

Phiên bản Ubuntu: Ubuntu 14.04.1 LTS

Phiên bản SNMP: 5.7.2

Sự cố ngắn: Rất nhiều mục trong tệp cấu hình "mặc định" bị hỏng. Điều đó không thực sự quan trọng bởi vì tôi thậm chí không thể bắt đầu SNMP.

Kết quả mong muốn: Tôi muốn một phiên bản SNMP hoạt động, một phiên bản có càng nhiều chức năng mặc định trong đó càng tốt.

LƯU Ý: Từ rất nhiều nguồn, bao gồm các trang web Ubuntu thuộc sở hữu của Canonical, người ta nói rằng tôi phải sửa đổi exportSNMPDOPTS, để có chức năng cơ bản.

/etc/default/snmpd

export MIBS=UCD-SNMP-MIB
SNMPDRUN=yes
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid -c /etc/snmp/snmpd.conf'
TRAPDRUN=no
TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid'
SNMPDCOMPAT=yes

/etc/snmp/snmpd.conf

view   systemonly  included   .1.3.6.1.2.1.1
view   systemonly  included   .1.3.6.1.2.1.25.1
rocommunity public
rwcommunity nanana
sysLocation    vm1-ryd-wlo
sysContact     Paul Adams <pauladams@nanana.com>
sysServices    72
disk       /     10000
disk       /var  5%
load   12 10 5
trapsink     localhost public
iquerySecName   internalUser
rouser          internalUser
master          agentx

/var/log/syslog

Oct  3 13:59:51 mdnsreflector-ryd-wlo snmpd[9120]: Server Exiting with code 1
Oct  3 14:00:09 mdnsreflector-ryd-wlo snmpd[9143]: Turning on AgentX master support.
Oct  3 14:00:09 mdnsreflector-ryd-wlo snmpd[9145]: NET-SNMP version 5.7.2

sudo service --status-all

[ + ]  snmpd

sudo service ufw status

Status: inactive
  1. Mặc dù cấu hình này tải và dường như đang chạy. Bạn thực sự không thể truy vấn bất cứ điều gì từ phiên bản SNMP này từ một thiết bị từ xa. Các kết nối cuối cùng thời gian ra.

  2. Truy vấn nó từ máy chủ tự nó không mang lại kết quả gì.

snmpwalk -Os -c công khai -v 1 hệ thống localhost

system: Unknown Object Identifier (Sub-id not found: (top) -> system)
  1. Tôi đã phải xóa các mục "agentAddress" vì phần mềm liên tục hoảng loạn mỗi khi nó cố xử lý lệnh đó. (Mặc dù đó là mặc định và cách nó được liệt kê trong cấu hình.)

/etc/var/syslog

Oct  3 14:10:32 mdnsreflector-ryd-wlo snmpd[9292]: Turning on AgentX master support.
Oct  3 14:10:32 mdnsreflector-ryd-wlo snmpd[9292]: Turning on AgentX master support.
Oct  3 14:10:32 mdnsreflector-ryd-wlo snmpd[9292]: Error opening specified endpoint "udp:161"
Oct  3 14:10:32 mdnsreflector-ryd-wlo snmpd[9292]: Server Exiting with code 1

dịch vụ sudo --status-all

[ - ]  snmpd
  1. Tôi đã phải xóa một số mục mặc định trong cấu hình vì chúng cũng gây ra lỗi khi chạy chúng.

/etc/snmp/snmpd.conf

proc mount
proc ntalkd    4
proc sendmail    10 1
includeAllDisks 10%
extend    test1   /bin/echo  Hello, world!
extend-sh test2   echo Hello, world! ; echo Hi there ; exit 35

/ var / log / syslog

Oct  3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: /etc/snmp/snmpd.conf: line 90: Error: Already have an entry for this process.
Oct  3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: /etc/snmp/snmpd.conf: line 92: Error: Already have an entry for this process.
Oct  3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: /etc/snmp/snmpd.conf: line 94: Error: Already have an entry for this process.
Oct  3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: /etc/snmp/snmpd.conf: line 106: Error: includeAllDisks already specified.
Oct  3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: /etc/snmp/snmpd.conf: line 106: Error: #011ignoring: includeAllDisks 10%
Oct  3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: /etc/snmp/snmpd.conf: line 146: Error: duplicate trigger name
Oct  3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: message repeated 6 times: [ /etc/snmp/snmpd.conf: line 146: Error: duplicate trigger name]
Oct  3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: /etc/snmp/snmpd.conf: line 148: Error: duplicate trigger name
Oct  3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: /etc/snmp/snmpd.conf: line 148: Error: duplicate trigger name
Oct  3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: duplicate table data attempted to be entered. row exists
Oct  3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: Failed to register extend entry 'test1' - possibly duplicate name.
Oct  3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: duplicate table data attempted to be entered. row exists
Oct  3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: Failed to register extend entry 'test2' - possibly duplicate name.

Các hướng dẫn sau đây đã được xác minh để làm việc trên 14.04 askubuntu.com/a/223734/106495
Kevin Bowen

Câu trả lời:


2

SNMP không bị hỏng. Quá trình để làm cho nó hoạt động chỉ là một chút phức tạp.

Các bước sau đây đã được xác minh để hoạt động vào ngày 14.04:

Sau khi cài đặt SNMP và trình nền của nó ( sudo apt-get install snmp snmpd), bạn sẽ cần chỉnh sửa tệp /etc/snmp/snmp.confvà nhận xét dòng có chứa "mibs:"

Trong tệp này, thay đổi dòng:

mibs :

đến

#mibs : 

Tiếp theo, giả sử bạn chưa thực hiện điều này, bạn sẽ cần có được bộ MIB IETF đầy đủ. Các tệp này không được gửi theo mặc định trên các hệ thống Debian / Ubuntu do vấn đề cấp phép.

Từ thiết bị đầu cuối ( Ctrl- Alt- t), nhập các lệnh sau:

sudo apt-get install snmp-mibs-downloader

sudo download-mibs

Sau đó, bạn sẽ cần phải sửa đổi /etc/snmp/snmpd.conf.

  1. Để cho phép SNMP, hệ thống nhận các truy vấn trên các giao diện khác với địa chỉ loopback của nó. Các dòng cho cái này sẽ trông như thế này:

    #  Listen for connections from the local system only
    #  agentAddress  udp:127.0.0.1:161
    #  Listen for connections on all interfaces (both IPv4 *and* IPv6)
    agentAddress udp:161,udp6:[::1]:161
    

    Lưu ý rằng điều này sẽ cho phép BẤT K system hệ thống nào truy vấn máy của bạn. Bạn sẽ cần điều chỉnh điều này để hạn chế quyền truy cập SNMP vào thiết bị của mình.

  2. Bây giờ bạn sẽ muốn thay đổi chuỗi SNMP chỉ đọc của bạn từ publicthành một chuỗi tùy chỉnh mà bạn chọn, như dưới đây:

    #rocommunity public  default    -V systemonly
    rocommunity <My$ecret$tr1nG> (don't use this example!)
    

    Lưu ý: Xóa -V systemonlykhỏi dòng sẽ cho phép truy cập vào toàn bộ cây MIB và không giới hạn nó trong phần hệ thống của cây.

  3. Khởi động lại daemon SNMP

    sudo service snmpd restart
    

Cuối cùng, truy vấn SNMP của bạn bây giờ sẽ trả lời đúng.

ví dụ:

snmpwalk -v 2c -c <My$ecret$tr1nG> <MachineName> ipadd

IP-MIB::ipAdEntAddr.127.0.0.1 = IpAddress: 127.0.0.1
IP-MIB::ipAdEntAddr.192.168.1.7 = IpAddress: 192.168.1.7
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
IP-MIB::ipAdEntIfIndex.192.168.1.7 = INTEGER: 2
IP-MIB::ipAdEntNetMask.127.0.0.1 = IpAddress: 255.0.0.0
IP-MIB::ipAdEntNetMask.192.168.1.7 = IpAddress: 255.255.255.0
IP-MIB::ipAdEntBcastAddr.127.0.0.1 = INTEGER: 0
IP-MIB::ipAdEntBcastAddr.192.168.1.7 = INTEGER: 1

Xem các câu trả lời sau để tham khảo thêm:

Làm cách nào để có hoặc định cấu hình IP-MIB trong Ubuntu 12.04?

SNMP là gì?


0

Tôi sẽ bắt đầu với một cấu hình chứng khoán với chế độ xem đến .1, cho phép ghi nhật ký gỡ lỗi và thử nhận truy vấn tới OID. Thành thật mà nói tôi không bao giờ hiểu được MIB và vì tôi chỉ sử dụng SNMP cho những thứ như MRTG và xương rồng, nên tôi không bao giờ thực sự cần biết thêm. Xem nếu bạn có thể có được cấu hình đơn giản nhất có thể hoạt động, sau đó thêm một yếu tố tại một thời điểm trong khi điều chỉnh (các) tệp nhật ký thích hợp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.