[Nut-upsuser] Master Works, Slave Does Not

Charles Lepple clepple at gmail.com
Sat Nov 8 14:00:12 UTC 2014

[Please use reply-all to keep the discussion on the list, thanks]

On Nov 6, 2014, at 10:19 PM, Charles Lepple <clepple at gmail.com> wrote:

> On Nov 6, 2014, at 12:48 PM, Steve Read <sd_read at hotmail.com> wrote:
>> I am presently upgrading my servers. The old ones are running Suse 10.1 and I am upgrading to the most  recent Debian.
> What version of NUT on the new systems?
> There are a few changes to the configuration files, mostly related to the ACL lines.

You mentioned you got "driver.version: 2.6.4" from upsc. So it seems like you have Debian wheezy. Is that the case for both servers?

(What I was really interested in was the output of "dpkg -l nut", since it shows the Debian-specific version number as well, but wheezy hasn't changed much. There are a few things still being sorted out in Debian jessie.)

> Now this may be a problem but I don't think it is the only one. I really feel this is a permissions issue. 
> For example from the master, if I type:
>    root at backup2:~# sudo upsc sdrups at localhost ups.status
>     OL
> Which is the response I expect, but if I type (also from the master):
>   root at backup2:~# sudo upsc sdrups at ups.status
>   Error: Connection failure: Connection refused

One thing that has changed since NUT 2.4.x is that the ACL options were removed, and the defaults for the LISTEN directive were changed to only bind to localhost. So a "netstat -ta" (trimmed to just show NUT) would look like this:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 localhost:nut           *:*                     LISTEN     

Instead, you want to listen on the wildcard address, so you will want to add "LISTEN" to /etc/nut/upsd.conf. After restarting NUT, netstat should look like this:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 *:nut                   *:*                     LISTEN     

And at that point, you can use the firewall rules to restrict access to just localhost and your local network.

If you were able to get output from upsc, then it sounds like you got the driver working. Just in case, here is the UPGRADING document: https://github.com/networkupstools/nut/blob/master/UPGRADING

Some drivers (apcsmart) have had under-the-hood changes that should be more beneficial than problematic.

Also, Stan mentioned the following off-list, and it holds true:

> upsmon.conf should have a line like this
> MONITOR apcusb at 1 upsmon pass slave
> upsd.users should have a matching statement like this
>        [upsmon]
>                password  = pass
> #               upsmon master
> # or
>                upsmon slave

The only configuration files that a slave needs are upsmon.conf, nut.conf to tell the init.system that it is a slave, and possibly an upssched.conf if you haven enabled that. The others are master-only.

Charles Lepple
clepple at gmail

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/nut-upsuser/attachments/20141108/7bdc8b5e/attachment.html>

More information about the Nut-upsuser mailing list