Bug#643654: munin-node won't listen on ipv4 addresses after upgrading to libnet-server-perl 0.99-3

gregor herrmann gregoa at debian.org
Wed Sep 28 17:31:45 UTC 2011


tag 643654 + confirmed
severity 643654 important
thanks

On Wed, 28 Sep 2011 22:11:24 +1000, Craig Sanders wrote:

> > > i've got several systems running munin-node, and those that have had
> > > munin-node restarted recently are listening ONLY on ipv6.  Those that
> > > have been running since approx Sep 19 are listening correctly on ipv4.
> > > 
> > > ganesh:/etc/munin# netstat -tupan | grep munin
> > > tcp6       0      0 :::4949                 :::*                    LISTEN      8301/munin-node
> > 
> > I have that too, but I am still able to connect on the regular ipv4 
> > address.
> > 
> > Are you really unable to connect to the ipv4 addresses?
> 
> nope. i can't even telnet to 127.0.0.1:4949 or to $hostname:4949 (so the
> munin server can't connect to gather data).

Seems I can reproduce the problem. Some output to make sure I got
everything right:

root at belanna:~# netstat -tupan | grep munin
tcp6       0      0 :::4949                 :::*                    LISTEN      3037/munin-node 

root at belanna:~# ps aux | grep [m]unin
root      3037  0.0  0.1   8652  2848 ?        Ss   Sep26   0:04 /usr/sbin/munin-node

root at belanna:~# grep host /etc/munin/munin-node.conf | egrep -v ^#
host *

root at belanna:~# telnet 127.0.0.1 4949
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

root at belanna:~# telnet ::1 4949
Trying ::1...
Connected to ::1.
Escape character is '^]'.
Connection closed by foreign host.

root at belanna:~# telnet localhost 4949
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

root at belanna:~# telnet belanna 4949
Trying 192.168.0.3...
telnet: Unable to connect to remote host: Connection refused

root at belanna:~# telnet 192.168.0.3 4949
Trying 192.168.0.3...
telnet: Unable to connect to remote host: Connection refused

root at belanna:~# telnet 2001:<public ipv6> 4949
Trying 2001:<public ipv6>...
Connected to 2001:<public ipv6>.
Escape character is '^]'.
Connection closed by foreign host.


And indeed, my munin charts for this machines are empty since
Saturday evening when I rebooted the machine because of a new kernel.
(That show how often I actually check them :/)

syslog doesn't help; munin-node.log has

2011/09/24-20:25:03 CONNECT TCP Peer: "192.168.0.252:58636" Local: "192.168.0.3:4949"
[some errors about byte order and ../../lib/Storable.pm]
2011/09/24-20:27:34 Server closing!
Process Backgrounded
2011/09/24-20:29:51 Munin::Node::Server (type Net::Server::Fork) starting! pid(3869)
Using default listen value of 128
Binding to TCP port 4949 on host *
Setting gid to "0 0"

and then nothing until (my telnet attempts before):

2011/09/28-18:17:45 CONNECT TCP Peer: "::1:32798" Local: "::1:4949"
Invalid netblock: 127.255.255.255-0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1 at /usr/share/perl5/Net/Server.pm line 849
2011/09/28-18:25:32 CONNECT TCP Peer: "2001:15c0:66bc:0:211:11ff:fe92:3e20:33975" Local: "2001:15c0:66bc:0:211:11ff:fe92:3e20:4949"
Invalid netblock: 127.255.255.255-32.1.21.192.102.188.0.0.2.17.17.255.254.146.62.32 at /usr/share/perl5/Net/Server.pm line 849
2011/09/28-18:26:57 CONNECT TCP Peer: "2001:15c0:66bc:0:211:11ff:fe92:3e20:33989" Local: "2001:15c0:66bc:0:211:11ff:fe92:3e20:4949"
Invalid netblock: 127.255.255.255-32.1.21.192.102.188.0.0.2.17.17.255.254.146.62.32 at /usr/share/perl5/Net/Server.pm line 849

(and none of the ipv4 connect attempts)


Random thoughts:
- /usr/share/perl5/Munin/Node/Server.pm uses Net::Server::Fork --
  does usr/share/perl5/Net/Server/Fork.pm need some additional
  treatment? (It's not in the patch.)
- Ansgar mentioned sys.net.ipv6.bindv6only on IRC.

  root at belanna:~# sysctl net.ipv6.bindv6only
  net.ipv6.bindv6only = 1

  Oh, and setting it to 0 changes something:

root at belanna:~# telnet ::1 4949
Trying ::1...
Connected to ::1.
Escape character is '^]'.
Connection closed by foreign host.

root at belanna:~# telnet 127.0.0.1 4949
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
# munin node at belanna.comodo.priv.at
Connection closed by foreign host.

2011/09/28-19:02:17 CONNECT TCP Peer: "::1:33533" Local: "::1:4949"
Invalid netblock: 127.255.255.255-0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1 at /usr/share/perl5/Net/Server.pm line 849
2011/09/28-19:02:23 CONNECT TCP Peer: "::ffff:127.0.0.1:37569" Local: "::ffff:127.0.0.1:4949"
2011/09/28-19:02:33 [20689] Node side timeout while processing: '<no command received yet>'

So, with net.ipv6.bindv6only = 1 there's no ipv4 connection; with = 0
ipv4 works. And ipv6 works connection-wise in both cases but doesn't
generate a prompt in my telnet attempt?!


Cheers,
gregor


-- 
 .''`.   Homepage: http://info.comodo.priv.at/ - OpenPGP key ID: 0x8649AA06
 : :' :  Debian GNU/Linux user, admin, & developer - http://www.debian.org/
 `. `'   Member of VIBE!AT & SPI, fellow of Free Software Foundation Europe
   `-    NP: The Band: The Band With Bob Dylan / Fore
NP: Rolling Stones: Wild Horses
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-perl-maintainers/attachments/20110928/6323bdc8/attachment.pgp>


More information about the pkg-perl-maintainers mailing list