Нужно принудительно зарубить сокеты в состоянии established. kill по pid не подходит. Будет использоваться в скрипте. any ideas ? Мне в голову пришло только ребутить демон сети.
Закрытие сокетов "ESTABLISHED"
А зачем о_О порты освободить? Там, что, провисшие соединения висят?
не, есть качалка, в 9 утра ее порты закрываются. Но в iptables прописано --cstate ESTABLISHED и при закрытии порта, соединение не рвется.
kill по pid не подходит.
почему?
не, есть качалка, в 9 утра ее порты закрываются.
чем и как?
порты закрываются на шлюзе, (iptables -A FORWARD ) т.е. если буду делать что-то вроде
[console]for pid in `lsof -t -i`; do kill - 9 $pid; done[/console]
то закроется и squid и все процессы которые держат соединение. А нужно чтобы процессы работали, но соединение разорвалось.
порты закрываются на шлюзе, (iptables -A FORWARD )
может уместнее iptables -D или iptables -R Ничто не мешает также завести весь интересующий трафик в специальную цепочку, а потом прибить эту цепочку.
то закроется и squid и все процессы которые держат соединение. А нужно чтобы процессы работали, но соединение разорвалось.
ну это на самом деле вовсе не iptables-проблемы. Используя iptables вы максимум разрыва по таймауту добьётесь ИМХО.
linux:
- tcpkill
- iptstate
freebsd:
- pfctl
- tcpdrop
В sysctl.conf можно прописать время жизни сессий. Первейшее средство при ддосе. :)
может уместнее iptables -D
не проснулся еще. Конечно -D
Используя iptables вы максимум разрыва по таймауту добьётесь ИМХО.
в том то и дело, timeout'a не будет. Присоединенные конекты не разорвутся, т.к. повторюсь
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPTi2ks, спасибо, tcpkill подходит.