要让 Oxidized 从华为交换机获取配置数据,核心是建立一个安全的连接通道和拥有足够的权限。主要就是两步:
-
配置 SSH 登录:这是 Oxidized 远程连接设备并执行
display current-configuration命令的主要方式。 - (可选) 配置 SNMP:用于增强监控、自动发现设备或接收告警信息。
下面是详细的配置指南。
🔑 第一步:在交换机上配置 SSH 登录 (必需)
这是 Oxidized 工作的根本前提。
1. 基础环境配置
首先,确保交换机已配置管理IP,并开启了必要的服务。
# 1. 进入系统视图
<HUAWEI> system-view
# 2. 配置管理IP (以VLANIF接口为例)
[HUAWEI] interface Vlanif 1
[HUAWEI-Vlanif1] ip address 192.168.1.100 255.255.255.0
[HUAWEI-Vlanif1] quit
# 3. 开启SSH服务和生成密钥
[HUAWEI] stelnet server enable
[HUAWEI] rsa local-key-pair create
2. 创建 AAA 用户
为了安全,不建议直接使用 admin 这类超级管理员账户。
# 1. 进入AAA视图
[HUAWEI] aaa
# 2. 创建本地用户 (例如: oxidized)
[HUAWEI-aaa] local-user oxidized password irreversible-cipher Your_Strong_Password
# 3. 设置用户级别为3 (管理级,拥有执行配置命令的权限)
[HUAWEI-aaa] local-user oxidized privilege level 3
# 4. 指定用户服务类型为SSH
[HUAWEI-aaa] local-user oxidized service-type ssh
[HUAWEI-aaa] quit
3. 配置 VTY 线路认证
允许 Oxidized 通过 SSH 协议连接到交换机的虚拟终端(VTY)。
# 1. 进入VTY配置视图
[HUAWEI] user-interface vty 0 4
# 2. 设置认证模式为AAA
[HUAWEI-ui-vty0-4] authentication-mode aaa
# 3. 设置入向协议为SSH
[HUAWEI-ui-vty0-4] protocol inbound ssh
# 4. 设置空闲超时时间 (单位:分钟,可根据需要调整)
[HUAWEI-ui-vty0-4] idle-timeout 30
[HUAWEI-ui-vty0-4] quit
4. 保存配置
配置完成后,务必保存,否则设备重启后配置会丢失。
[HUAWEI] save
⚙️ 第二步:(可选) 配置 SNMP 增强监控
SNMP 用于增强监控、自动发现设备或接收告警信息,是可选但推荐的配置。
基础 SNMPv2c 配置 (兼容性好)
# 1. 启用SNMP代理
[HUAWEI] snmp-agent
# 2. 配置SNMP版本
[HUAWEI] snmp-agent sys-info version v2c
# 3. 配置只读团体名 (作为访问密码,请替换为复杂字符串)
[HUAWEI] snmp-agent community read cipher Your_Read_Only_Community
安全 SNMPv3 配置 (推荐)
# 1. 启用SNMP代理
[HUAWEI] snmp-agent
# 2. 配置SNMP版本为v3
[HUAWEI] snmp-agent sys-info version v3
# 3. 创建SNMPv3用户 (用户名、认证协议/密码、加密协议/密码)
[HUAWEI] snmp-agent usm-user v3 oxidized_user authentication-mode sha cipher Your_Auth_Password privacy-mode aes128 cipher Your_Privacy_Password
安全提示:生产环境中,请务必为SNMP配置复杂的团体名(community)或密码,避免使用默认的
public/private,降低被攻击的风险。
🖥️ 第三步:配置 Oxidized 服务端 (与服务端对应)
交换机侧配置完成后,服务端也需要进行相应配置。
1. 准备设备清单 (router.db)
在 Oxidized 的配置目录(如 /etc/oxidized/)下,编辑 router.db 文件,将华为交换机加入设备清单。每一行代表一台设备,格式为:设备名称:操作系统型号:管理IP地址。
# /etc/oxidized/router.db
Switch-Huawei-01:vrp:192.168.1.100
2. 配置 Oxidized 主配置文件 (config)
编辑 Oxidized 的主配置文件(/etc/oxidized/config 或 ~/.config/oxidized/config),为华为 VRP 设备指定登录方式和凭证。
# 全局默认配置
username: oxidized # 交换机上创建的AAA用户名
password: Your_Strong_Password # 对应的密码
# 指定华为 VRP 设备的模型
models:
vrp: huawei # 将模型名称 'vrp' 映射到华为VRP系统
# 其他配置(如备份间隔、日志等)
interval: 3600 # 备份间隔(秒)
log: /var/log/oxidized/oxidized.log
# 如果使用 Git 存储
output:
default: git
git:
repo: "/var/lib/oxidized/configs"
3. 重启 Oxidized 服务
配置完成后,重启服务以加载新配置。
sudo systemctl restart oxidized
🧪 第四步:验证配置与排查故障
完成上述配置后,可以从以下几个方面验证是否成功:
| 验证项目 | 验证方法 | 预期结果 |
|---|---|---|
| SSH连接测试 | ssh oxidized@192.168.1.100 |
成功登录交换机CLI。 |
| 配置文件检查 | display current-configuration |
能完整输出配置。 |
| Oxidized备份验证 | tail -f /var/log/oxidized/oxidized.log |
看到设备配置被成功获取的日志。 |
| 配置版本追踪 |
oxidized-web 或 Git 命令 |
在Oxidized Web界面或Git仓库中看到配置文件和变更历史。 |
常见问题与排查
-
连接超时或拒绝:检查管理IP、VTY协议、AAA用户服务类型等配置,并确认网络防火墙没有阻止
22(SSH) 或161(SNMP) 端口。 -
登录后立刻断开:检查 AAA 用户的
privilege level是否为3或更高。 -
配置输出不全:检查用户是否有足够的
privilege level来执行display current-configuration命令。 -
服务端无法识别设备:检查
router.db中的型号名称(如vrp)与config文件中的模型映射是否一致。
💎 总结
配置的核心在于在交换机上创建一个拥有足够权限的SSH账户,用于Oxidized连接。为了安全性,强烈建议启用SNMPv3,并避免使用默认的团体名。