Есть у меня некий сервер (CentOS 6.7, ядро 3.10), на нём на интерфейсе eth0 висит DNS-сервер NSD.
Есть ещё два интерфейса, eth2 и eth3, IP-адресами на которых управляет Keepalived. Сами же хартбиты VRRP между Keepalived ходят по eth0 уникастом.
Так вот, пока Keepalived не запущен, NSD работает хорошо - долблю его dnsperf-ом, около 200к запросов в сек обслуживает. Как только же запускаю keepalived и он поднимает несколько адресов на eth2 и eth3 (и, в принципе, никоим образом не должен влиять на eth0) - NSD сразу ломается: отвечает на 7-10 запросов и замирает на насколько секунд.. потом ещё отвечает на несколько и опять замирает.
На выходе примерно такая картина:
Queries sent: 1537
Queries completed: 37 (2.41%)
Queries lost: 1000 (65.06%)
Queries interrupted: 500 (32.53%)
Причём, если потушить Keepalived - ничего не лечится. Только ребут, только хардкор. После всё так же - до запуска Keepalived всё хорошо, потом - ахтунг. В tcpdump ничего интересного не видно - пачка запросов приходит, а ответов уходит только на несколько.
При этом я рулю сервером именно через этот eth0 по SSH - никаких проблем не наблюдается.
Что-то я уже всё перебрал - не могу понять причин такого поведения...