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
相关推荐
xingzhemengyou12 分钟前
Linux taskset指令设置或查看进程的 CPU 亲和性
linux·服务器
开开心心就好3 分钟前
图片格式转换工具,右键菜单一键转换简化
linux·运维·服务器·python·django·pdf·1024程序员节
永远在Debug的小殿下6 分钟前
wsl安装Ubuntu and ROS2
linux·运维·ubuntu
❀͜͡傀儡师7 分钟前
docker一键部署HFish蜜罐
运维·docker·容器
chenmingfa11030 分钟前
yum安装软件报错:Could not retrieve mirrorlist http://mirrorlist.centos.org/?relea
linux·centos
dnpao41 分钟前
linux onlyoffice服务向docker容器中添加中文字体
linux·运维·docker
Linux技术芯1 小时前
浅谈nvme驱动中的nvme_alloc_ns函数的实现原理和底层逻辑
linux
AOwhisky1 小时前
Linux防火墙管理指南
linux·运维·服务器
礼拜天没时间.1 小时前
Linux 系统规范配置:建立标准目录结构、 repo 源获取、修改终端变色
linux·服务器·centos·repo·终端变色
白玉瑕1 小时前
服务器存储基础
运维·服务器