Я использую сервер, на котором запущена служба на порту 59380. К этой службе подключается более 1000 машин. Как только мне нужно перезапустить службу, все эти машины подключаются одновременно.
Это вызвало некоторые проблемы, поскольку я видел эту запись в журнале kern.log
TCP: Possible SYN flooding on port 59380. *Sending cookies*. Check SNMP counters.
Итак, я изменил sysctl net.ipv4.tcp_syncookies
до 0, потому что конечные точки не могут правильно обрабатывать файлы cookie tcp syn. Наконец, я перезапустил свою сеть, чтобы изменения в производстве
В следующий раз, когда мне пришлось перезапустить службу, было зарегистрировано следующее сообщение
TCP: Possible SYN flooding on port 59380. *Dropping request*. Check SNMP counters.
Как я могу предотвратить такие действия системы? Все необходимые контрмеры выполняются iptables ...
Не отключить файлы cookie SYN, что невероятно непродуктивно, как вы можете видеть, вместо того, чтобы хост возвращался к сокетам с cookie, он просто его отбрасывает.
Правильнее всего отрегулировать net.ipv4.tcp_max_syn_backlog
до достаточно высокого значения, чтобы это предупреждение больше не срабатывало.
Вы, вероятно, также захотите настроить стек TCP в целом, чтобы иметь больше памяти - беглый поиск в Google для "Linux TCP Tuning" должен предоставить то, что вам нужно.
Также прочтите следующие страницы. Может стоит еще раз проверить.