安装NUT配置UPS
NUT配置文件
不论是Linux还是Windows系统, 想要顺利获取UPS状态, 需要配置NUT的5个基本文件.
nut.conf
控制NUT运行模式, 支持standalone, netserver, netclient, master, slave, none.
如果需要通过网络分享UPS状态信息, 运行模式需要设置为master或者netserver, 否则设置为standalone. 当前 Debian/Ubuntu 软件库中的 NUT 版本master和slave参数. 通常只需要在nut.conf中按照如下填写:1
MODE=netserver
ups.conf
指定UPS设备名称还有UPS和服务器物理连接方式等.
此文件只支持纯ASCII内容. 不同的UPS可能需要不同驱动, 在Hardware compatibility list 查找对应UPS驱动类型. 如果厂商推荐使用UPSilon 2000客户端, 驱动类型可以选择”nutdrv_qx”. 部分设备需要设置langid_fix=”0x409”, 固定USB HID 报告中的语言ID. desc用来简单描述ups设备. 通常没必要设置vendorid和productid, 这两个数值用于在连接多个UPS时, 区分不同设备.1
2
3
4
5
6
7[upsname]
driver = "nutdrv_qx"
port = auto
langid_fix="0x409"
desc="Constantinople 1453"
vendorid = "0001"
productid = "0000"最简单的配置:
1
2
3
4[upsname]
driver = usbhid-ups
port = auto
desc = "Simple UPS"upsd.conf
设置NUT服务器监听的地址和端口. 端口3493可能被Windows Docker Desktop占用.1
2LISTEN 127.0.0.1 3493
LISTEN 192.168.42.* 3493upsd.users
设置访问权限.
至少要设置一个用户才能顺利启动NUT. 在不需要控制UPS的前提下, 只需要设置一个只读用户即可.1
2
3[user]
password = userpassword
upsmon slaveupsmon.conf
定义了连接UPS服务器方式和UPS监控策略.1
MONITOR upsname@127.0.0.1 1 user userpassword slave
Debian/Ubuntu配置NUT
安装 NUT 程序
使用以下命令安装 NUT:1
apt install nut
配置 UPS
修改ups.conf 文件, 根据Hardware compatibility list 填写相应配置. 也可以通过以下命令扫描 UPS 设备, 并将 UPS信息填入 /etc/nut/ups.conf:1
nut-scanner -U
将修改后的ups.conf和其他配置文件保存到 /etc/nut 目录.
启动服务
依次启动 NUT 相关服务:1
2systemctl enable nut.targe
systemctl restart nut-server测试 UPS 状态
1
upsc upsname@127.0.0.1:3493
若能正确输出 UPS 信息, 则说明配置成功.
Windows配置NUT
安装NUT主程序
- 下载并执行安装程序.
安装程序会尝试安装驱动, 此处忽略安装失败的错误提示. 记录VID和PID数值:1
Found UPS : vendor ID = 1 - Product ID = 0
- 安装完毕后, 执行程序目录中
others文件夹中wdi-simple.exe程序手动安装驱动. 根据提示将UPS数据线连接至电脑. - 驱动完成安装后可在设备管理器找到”NUT USB Driver”
- 下载并执行安装程序.
下载DLL文件
NUT 需要一些缺少的库文件, 必须手动添加到程序目录:- 必须文件: libeay32.dll、ssleay32.dll、libgcc_s_dw2-1.dll.
- libeay32.dll 和 ssleay32.dll 为 OpenSSL 运行库, 确保它们版本相同.
- 将 libeay32.dll 和 ssleay32.dll 复制到 bin 文件夹.
- 将 libeay32.dll、ssleay32.dll 和 libgcc_s_dw2-1.dll 复制到 sbin 文件夹.
配置文件
- 修改ups.conf 文件, 填写VID和PID数值, 根据Hardware compatibility list 填写相应配置.
- 将修改后的ups.conf和其他配置文件保存到C:\Program Files (x86)\NUT\etc 目录.
设置防护墙
- NUT默认使用3493端口, 此端口可能被docker服务占用. 建议使用NETSTAT.EXE命令确认端口占用情况, 并修改默认端口.
- 在防火墙设置中添加新规则, 开放upsd.conf中设置的端口.
- 重启”Network UPS Tools”服务.
测试
- 在bin目录下执行命令, 测试 UPS 状态:
1
.\upsc.exe ups@127.0.0.1:3493
- 若终端能够正确输出 UPS 信息, 说明配置成功.
- 更换USB接口需要重启服务.
- 在bin目录下执行命令, 测试 UPS 状态:
客户端
Windows 推荐使用WinNUT作为UPS客户端.