Почему много invalid addresses в ответе netstat-а?
На продакшн-сервере стоит java-приложение, принимающее tcp-соединения. В какой-то момент стали замечать, что новые соединения к серверу невозможно установить, при этом, уже подсоединившееся пользователи нормально работают с сервисом. Ситуации продолжается на протяжении недели-двух, возникает не постоянно. Из подозрительного, netstat выдает кучу 'invalid addresses' в то время, когда сервер не пускает соединения.
Пробовали переносить сервис на другой сервер и другой дистрибутив, ситация не поменялась. Аналогичный сервис, развернутый под другую аудиторию подобными проблемами не страдает.
Как можно понять, спуф ли это или какой-то ddos, или просто проблемы с сервисом?
> uname -a
Linux xxx.xxx.xxx 2.6.32-18-pve #1 SMP Mon Jan 21 12:09:05 CET 2013 x86_64 x86_64 x86_64 GNU/Linux
> cat /etc/issue
CentOS release 6.4 (Final)
Kernel \r on an \m
> nestat -s
Ip:
34710709 total packets received
189 with invalid headers
272868 with invalid addresses
0 forwarded
0 incoming packets discarded
34251161 incoming packets delivered
24456227 requests sent out
Очень похоже на спуфленные запросы. Проверить довольно непросто, на самом деле. Если смена сервера не помогла и эти запросы не кушают много ресурсов, то можно просто игнорировать, ведь по умолчанию такие пакеты отбрасываются.
Если в момент проблемы попробовать в одной консоли запустить tcpdump на порт приложения, в другой strace на приложение, а в третьей попробовать с сервера на котором запускается это приложение установить соединение, что происходит в логах?