ubuntu24安装snmp服务

在 Ubuntu 24.04 上安装并配置 SNMP(Simple Network Management Protocol)服务,核心是安装 snmpd(SNMP 守护进程)、调整配置文件并验证可用性

一、基础安装

1. 更新系统包(可选但推荐)
bash 复制代码
sudo apt update && sudo apt upgrade -y
2. 安装 SNMP 核心组件
bash 复制代码
# 安装 snmpd(服务端)+ snmp(客户端工具,用于测试)
sudo apt install -y snmpd snmp

安装完成后,snmpd 会自动启动,可通过以下命令验证状态:

bash 复制代码
sudo systemctl status snmpd
# 正常输出应为 "active (running)"

二、核心配置(关键步骤)

SNMP 配置文件位于 /etc/snmp/snmpd.conf,默认配置仅允许本地访问且安全级别低,需根据场景调整。

1. 备份原配置(避免改错)
bash 复制代码
sudo cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
2. 编辑配置文件
bash 复制代码
sudo vim /etc/snmp/snmpd.conf

根据你的需求修改以下核心项(注释掉原有内容,替换为以下配置):

场景 1:基础监控(允许内网访问,社区字符串认证)

适合小型机房/内网监控,是最常用的配置:

ini 复制代码
# 1. 监听地址(允许所有网卡,若仅内网可指定内网IP,如 192.168.1.100)
agentAddress udp:161,udp6:[::1]:161

# 2. 安全配置(替换为自定义社区字符串,避免默认 public)
# rocommunity:只读权限(推荐),rwcommunity:读写权限(谨慎使用)
rocommunity MySNMP@2025 192.168.0.0/24  # 仅允许192.168.0.0/24网段用该社区字符串访问
rocommunity MySNMP@2025 127.0.0.1       # 允许本地访问

# 3. 系统信息(可选,定义设备标识)
sysLocation "IDC Server Room - Xeon 6330"
sysContact admin@yourcompany.com

# 4. 启用标准 MIB 库(监控CPU、内存、磁盘等核心指标)
view   systemonly  included   .1.3.6.1.2.1.1
view   systemonly  included   .1.3.6.1.2.1.25.1
view   all         included   .1  # 允许访问所有MIB(如需精细化可限制)

# 5. 禁用默认的不安全配置
# 注释掉原有的 "rocommunity public" 等行
场景 2:企业级安全配置(SNMPv3,推荐生产环境)

SNMPv3 支持加密和用户认证,避免社区字符串明文传输,适配 Xeon 6330 所在的企业级场景:

ini 复制代码
# 1. 监听地址
agentAddress udp:161,udp6:[::1]:161

# 2. SNMPv3 用户配置(替换为自定义密码)
createUser snmpadmin MD5 "AdminPass@123" DES "EncryptPass@456"
rouser snmpadmin authpriv  # 要求认证+加密

# 3. 系统信息
sysLocation "Enterprise Data Center"
sysContact it-admin@yourcompany.com

# 4. 启用 MIB 库
view   all         included   .1
3. 重启 snmpd 服务使配置生效
bash 复制代码
sudo systemctl restart snmpd
# 设置开机自启(默认已开启,确认一下)
sudo systemctl enable snmpd

三、防火墙配置(关键!避免端口不通)

Ubuntu 24.04 默认启用 ufw 防火墙,需放行 SNMP 的 161/UDP 端口:

bash 复制代码
# 放行161/UDP端口(仅允许内网访问,更安全)
sudo ufw allow from 192.168.0.0/24 to any port 161 proto udp
# 若需公网访问(不推荐),直接放行:sudo ufw allow 161/udp

# 重载防火墙规则
sudo ufw reload

四、验证 SNMP 服务可用性

1. 本地测试(SNMPv2c,对应场景1)
bash 复制代码
# 使用 snmpwalk 测试,替换社区字符串和MIB路径
snmpwalk -v 2c -c MySNMP@2025 127.0.0.1 .1.3.6.1.2.1.1

正常输出会显示系统名称、位置、联系人等信息,示例:

复制代码
SNMPv2-MIB::sysDescr.0 = STRING: Linux ubuntu-xeon 6.8.0-36-generic #36-Ubuntu SMP PREEMPT_DYNAMIC Thu May 23 15:17:33 UTC 2024 x86_64
SNMPv2-MIB::sysLocation.0 = STRING: IDC Server Room - Xeon 6330
...
2. 本地测试(SNMPv3,对应场景2)
bash 复制代码
snmpwalk -v 3 -u snmpadmin -a MD5 -A "AdminPass@123" -x DES -X "EncryptPass@456" -l authPriv 127.0.0.1 .1.3.6.1.2.1.1
3. 远程测试(从监控主机/另一台机器)
bash 复制代码
# SNMPv2c
snmpwalk -v 2c -c MySNMP@2025 服务器IP .1.3.6.1.2.1.25.2.3.1  # 查看内存/存储信息
# SNMPv3
snmpwalk -v 3 -u snmpadmin -a MD5 -A "AdminPass@123" -x DES -X "EncryptPass@456" -l authPriv 服务器IP .1.3.6.1.2.1.25.2.3.1
相关推荐
胖好白1 小时前
【RK3588开发】模型部署全流程
linux·人工智能
司铭鸿1 小时前
图论中的协同寻径:如何找到最小带权子图实现双源共达?
linux·前端·数据结构·数据库·算法·图论
无名小卒Rain1 小时前
docker pull tomcat 报错missing signature key解决办法
运维·docker·容器
java_logo2 小时前
LOBE-CHAT Docker 容器化部署指南
运维·docker·语言模型·容器·llama
zwm_yy2 小时前
服务器检查内存爆满
运维·服务器
摩尔元数2 小时前
2025,服务器通信MES厂商谁主沉浮?
运维·服务器
last demo2 小时前
nfs服务器
linux·运维·服务器·php
翼龙云_cloud2 小时前
阿里云渠道商:自建或RDS怎么迁移到阿里云PolarDB?
运维·服务器·阿里云·云计算
q***76663 小时前
RustDesk搭建公网中继服务器远控内网机器(完整版)
运维·服务器