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