alexandrnew писал(а):Если в системный журнал поступают предупреждения о syn flood для вполне
законных соединений, то можете попробовать подстроить переменные
tcp_max_syn_backlog, tcp_synack_retries и tcp_abort_on_overflow.
http://www.opennet.ru/base/sys/sysctl_linux.txt.html
1 минута поиска в гугле
в гугл заглядывал до того, как написать сюда на форум, и были предприняты следующие меры:
1)echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout- максимальное время пребывания сокета в состоянии
FIN-WAIT-2. было уменьшено с 60 до 30
echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time - определяет как часто следует проверять соединение, если оно
давно не используется. именьшено с 7200 до 1800
net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf- Разрешает/запрещает передачу так называемых syncookies вызывающему хосту
в случае переполнения очереди SYN-пакетов для заданного сокета. 1(включено)
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling -Разрешает/запрещает масштабирование TCP-окна. Значение по-умолчанию 1 (включено) так и оставил
echo 0 > /proc/sys/net/ipv4/tcp_sack - Разрешает Selective Acknowledgements (SACK Выборочное Подтверждение) 0 (выключено)
echo 1280 > /proc/sys/net/ipv4/tcp_max_syn_backlog -- определяет максимальное время хранения SYN-запросов в памяти
до момента получения третьего, завершающего установление соединения,
пакета. Увеличил с 1024 до 1280
2)$IPTABLES
### Цепь для сброса (DROP) флуд пакетов SYN-s ######
$IPTABLES -N syn-flood
$IPTABLES -A syn-flood -m limit --limit 100/second --limit-burst 150 -j RETURN
$IPTABLES -A syn-flood -j LOG --log-prefix "SYN flood: "
$IPTABLES -A syn-flood -j DROP
3) iptables -A FORWARD -i eth0 -m state --state NEW -m recent --set --name SYNF --rsource
iptables -A FORWARD -i eth0 -m state --state NEW -m recent --update --seconds 10 --hitcount 10 --rttl --name SYNF --rsource -j DROP
Но ничего не помогло. Может у кого есть какие-то другие соображения, как избавится от син флуда.
Забыл уточнить, что Таймаут для ваучеров выдавался на 600 мин(10часов), по истечении которых клиент автоматически будет отключен от системы хотспота. А для Клиентов с оплатой по счету таймаут составлял 1 сутки. Так как учет ВСЕХ клиентов ведется только по трафику, а не по времени, то многие клиенты просто закрывают маленькое окошко, где есть кнопка logout, а не сворачивают, и после того, как завершили работу, выключают комп или уложат спать. Но никогда не жмут эту кнопку logout. А через некоторое время опять входят в инет, и опять окно авторизации... и по новой. У меня просто команда netstat выдавала tcp 0 52 192.168.182.1:3990 192.168.182.236:29776 TIME WAIT
И одни и те же ип в выводе команды netstat, много раз повторялись, что они находятся в состоянии TIME WAIT.
Может уменьшить время таймаута????