找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

419

积分

0

好友

56

主题
发表于 前天 20:15 | 查看: 4| 回复: 0

在 Ubuntu 24.04 LTS 上搭建 SNMP (Simple Network Management Protocol) 服务,是进行服务器和网络设备监控的常见需求。本文将指导您完成从安装、配置到验证的全过程,涵盖基础内网监控与企业级安全部署两种典型场景。

一、基础安装与验证

1. 更新系统包(可选但推荐)

建议在安装新服务前更新软件包列表,以确保获取最新的版本和安全补丁。

sudo apt update && sudo apt upgrade -y
2. 安装 SNMP 核心组件

我们需要安装 snmpd 守护进程(服务端)以及 snmp 客户端工具包(用于测试和查询)。

sudo apt install -y snmpd snmp

安装完成后,snmpd 服务会自动启动。您可以通过以下命令检查其运行状态:

sudo systemctl status snmpd

正常的输出应显示 active (running)

二、核心配置详解

SNMP 的主配置文件位于 /etc/snmp/snmpd.conf。默认配置仅允许本地访问且使用不安全的默认社区字符串,必须根据实际环境进行调整。

1. 备份原始配置

修改前进行备份是一个好习惯。

sudo cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
2. 编辑配置文件

使用文本编辑器(如 vim 或 nano)打开配置文件:

sudo vim /etc/snmp/snmpd.conf

请根据您的监控需求,参考以下任一场景进行配置。

场景一:基础内网监控 (SNMPv2c)

此配置适用于小型机房或内部网络监控,通过社区字符串进行认证,配置简单。

# 1. 监听地址(默认监听所有IPv4和IPv6本地地址,若需限制可指定IP)
agentAddress udp:161,udp6:[::1]:161

# 2. 安全配置(务必修改默认的社区字符串‘public’)
# rocommunity: 只读权限,推荐用于监控;rwcommunity: 读写权限,慎用。
rocommunity MySecureCommString 192.168.0.0/24  # 仅允许指定网段访问
rocommunity MySecureCommString 127.0.0.1       # 允许本机访问

# 3. 定义系统标识信息(可选,便于识别)
sysLocation “数据中心 - 服务器机架A”
sysContact admin@example.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  default    -V systemonly
场景二:企业级安全部署 (SNMPv3,推荐)

对于生产环境,强烈建议使用 SNMPv3,它提供用户认证和数据加密,安全性远超 SNMPv2c。

# 1. 监听地址
agentAddress udp:161,udp6:[::1]:161

# 2. 创建SNMPv3用户(请替换为自己的强密码)
# 格式:createUser <用户名> MD5 <认证密码> DES <加密密码>
createUser snmpv3user MD5 “MyAuthPass123!” DES “MyPrivPass456!”

# 3. 为用户授权访问权限
# rouser: 只读用户;authPriv: 要求认证并加密传输。
rouser snmpv3user authPriv

# 4. 系统信息
sysLocation “企业生产环境”
sysContact netops@example.com

# 5. 定义MIB视图
view   all         included   .1
3. 重启服务使配置生效

完成配置编辑后,重启 snmpd 服务以加载新配置,并确保其开机自启。

sudo systemctl restart snmpd
sudo systemctl enable snmpd

三、防火墙配置

Ubuntu系统 24.04 默认使用 ufw 管理防火墙。必须放行 SNMP 服务使用的 161/UDP 端口,否则远程主机无法访问。作为一项基础的运维技能,正确配置防火墙对服务可达性至关重要。

# 放行指定内网网段访问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

四、服务可用性验证

配置完成后,请务必进行测试,确保服务按预期工作。

1. 本地测试 (SNMPv2c 配置)

使用 snmpwalk 命令从本机查询系统基本信息。

snmpwalk -v 2c -c MySecureCommString 127.0.0.1 .1.3.6.1.2.1.1

成功执行将返回类似以下信息:

SNMPv2-MIB::sysDescr.0 = STRING: Linux ubuntu-server 6.8.0-xxx-generic ...
SNMPv2-MIB::sysLocation.0 = STRING: 数据中心 - 服务器机架A
2. 本地测试 (SNMPv3 配置)

使用更复杂的命令参数来测试 SNMPv3 的认证和加密功能。

snmpwalk -v 3 -u snmpv3user -a MD5 -A “MyAuthPass123!” -x DES -X “MyPrivPass456!” -l authPriv 127.0.0.1 .1.3.6.1.2.1.1
3. 远程测试

从网络中的另一台监控主机或工作站进行测试,这是最终的验证步骤。

# 测试 SNMPv2c
snmpwalk -v 2c -c MySecureCommString <你的Ubuntu服务器IP> .1.3.6.1.2.1.25.2.3.1

# 测试 SNMPv3
snmpwalk -v 3 -u snmpv3user -a MD5 -A “MyAuthPass123!” -x DES -X “MyPrivPass456!” -l authPriv <你的Ubuntu服务器IP> .1.3.6.1.2.1.1

如果远程测试成功,表明 SNMP 服务已在 Ubuntu 24.04 上完成安装和配置,可以接入Zabbix、Prometheus或PRTG等监控系统进行集中管理。

您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-9 00:09 , Processed in 0.060656 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表