Решение ZEBRA: netlink-listen recvmsg overrun: No buffer space available

Однажды на сервере с Quagga после добавления нескольких тысяч сетевых интерфейсов, заметил сообщение в логах /var/log/zebra.log:

ZEBRA: netlink-listen recvmsg overrun: No buffer space available

Посмотрел текущие значения (у меня везде было 212992):

cat /proc/sys/net/core/rmem_default
cat /proc/sys/net/core/rmem_max
cat /proc/sys/net/core/wmem_default
cat /proc/sys/net/core/wmem_max

Чтобы решить проблему я увеличил максимальные значения буфера приема данных для всех соединений на 16 мегабайт (16777216 byte = 16Mb):

sudo su
echo 16777216 > /proc/sys/net/core/rmem_max
echo 16777216 > /proc/sys/net/core/wmem_max

А также чтобы при перезапуске системы значение не сбросилось, добавил в sysctl.conf:

sudo nano /etc/sysctl.conf
net.core.rmem_max=16777216
net.core.wmem_max=16777216

Также в файле /etc/quagga/debian.conf добавим «nl-bufsize»:

zebra_options="  --daemon -A 127.0.0.1 --nl-bufsize 16777216"

И перезапустим quagga чтобы применить изменения:

sudo /etc/init.d/quagga restart

В Ubuntu Server 18.04 я указывал в другом файле:

nano /lib/systemd/system/zebra.service
nano /etc/systemd/system/multi-user.target.wants/zebra.service


ExecStart=/usr/sbin/zebra -d -A 127.0.0.1 -s 16777216 -f /etc/quagga/zebra.conf

Смотрите также мои статьи:
Настройка BGP в Quagga
Как включить или отключить Proxy ARP в Linux

Оставьте комментарий

Добавить комментарий