Troubleshooting: warning: so-sndbuf 4194304 was not granted

Ralph Dolmans ralph at nlnetlabs.nl
Thu Oct 22 13:46:23 UTC 2020



On 22-10-2020 12:24, Gil Levy via Unbound-users wrote:
> Hi there,
> 
> Hope everyone is doing well these days.
> 
> Using unbound 1.9.0. My config file has
> so-dnbuf = 4m
> so-rcvbuf = 4m
> 
> When I type #: unbound
> I get these warnings:
> ---
> *[1603203700] unbound[4853:0] warning: so-rcvbuf 4194304 was not
> granted. Got 360448. To fix: start with root permissions(linux) or
> sysctl bigger net.core.rmem_max(linux) or kern.ipc.maxsockbuf(bsd) values.
> 
> [1603203700] unbound[4853:0] warning: so-sndbuf 4194304 was not granted.
> Got 360448. To fix: start with root permissions(linux) or sysctl bigger
> net.core.wmem_max(linux) or kern.ipc.maxsockbuf(bsd) values.
> 
> [1603203700] unbound[4853:0] error: can't bind socket: Address already
> in use for 127.0.0.1 port 5335
> 
> [1603203700] unbound[4853:0] fatal error: could not open ports*
> ---
> 
> Any idea why this should start with a root permission? Shouldn't the
> system allocate the RAM during boot?

>From the unbound.conf man page:

==
so-rcvbuf: <number>
  If not 0, then set the SO_RCVBUF socket option to get more  buffer
space  on UDP  port  53  incoming queries.  So that short spikes on busy
servers do not drop packets (see counter in netstat -su).  Default is 0
(use system  value). Otherwise, the number of bytes to ask for, try "4m"
on a busy server.  The OS caps it at a maximum, on linux unbound needs
root permission  to  bypass  the limit,  or  the  admin  can  use
sysctl  net.core.rmem_max.   On  BSD change kern.ipc.maxsockbuf in
/etc/sysctl.conf.  On OpenBSD change header and recompile kernel. On
Solaris ndd -set /dev/udp udp_max_buf 8388608.
==

-- Ralph


More information about the Unbound-users mailing list