LinuxForum.Fans
Тема

Iptables моментальный разрыв соединения

Автор: w03zd8rc 13 сообщений 6179 просмотров
#127919

Делаю проброс соединения таким вот макаром:
[console]iptables -t nat -I PREROUTING 1 -s 192.168.2.10 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.2.10 -j SNAT --to-source 192.168.1.37[/console]

Все пошло. Но когда я убираю эти правила (закрываю доступ)
[console]iptables -t nat -D PREROUTING -s 192.168.2.10 -j ACCEPT
iptables -t nat -D POSTROUTING -s 192.168.2.10 -j SNAT --to-source 192.168.1.37[/console]
закрывается доступ только для новых соединений, в случае если есть текущее соединение (незаконченное, например закачка) - оно остается открытым до окончания соединения.
Можно ли оборвать все соединения с текущего ип не перезагружая сетевые интерфейсы?

#128861
w03zd8rc написал:

Можно ли оборвать все соединения с текущего ип не перезагружая сетевые интерфейсы?

Как-то так:
[console]
iptables -A INPUT -s IP-ADDRESS -j DROP
[/console]

#128931

Можна вначало скрипта просто добавь сброс правил iptables

text

iptables -X
iptables -F
iptables -t nat -D PREROUTING -s 192.168.2.10 -j ACCEPT
iptables -t nat -D POSTROUTING -s 192.168.2.10 -j SNAT --to-source 192.168.1.37
#128938
kisil написал:
Можна вначало скрипта просто добавь сброс правил iptables
text

iptables -X
iptables -F
iptables -t nat -D PREROUTING -s 192.168.2.10 -j ACCEPT
iptables -t nat -D POSTROUTING -s 192.168.2.10 -j SNAT --to-source 192.168.1.37

Не особо ведь соедининение активно!
iptables -P FORWARD DROP
sleep 3
iptables -P FORWARD ACCEPT

#129028
Kettler написал:
[quote=kisil]Можна вначало скрипта просто добавь сброс правил iptables
text

iptables -X
iptables -F
iptables -t nat -D PREROUTING -s 192.168.2.10 -j ACCEPT
iptables -t nat -D POSTROUTING -s 192.168.2.10 -j SNAT --to-source 192.168.1.37

Не особо ведь соедининение активно!
iptables -P FORWARD DROP
sleep 3
iptables -P FORWARD ACCEPT[/quote]

Да наверное ты прав :P

#129081

iptables -P FORWARD DROP
sleep 3
iptables -P FORWARD ACCEPT

Несовсем =) Надо чтоб только с одного ип разорвать все соединения, а ведь людей может отказаться много (а вам приятно когда у соседа закончился лимит - и у вас закачка рвется? ;)) Я склонялся в сторону стороннего по, но пока ненашел ничего подходящего...

#129592

ниукого больше нет идей как можно такое сделать? Полностью сбрасывать правила - нельзя, идет постоянное добавление/удаление правил, и отследить трудно какие правила прописаны а какие нет - трудно. Необходимо не обрывая все другие соединения оборвать только с одного ип. Может каким доп-софтом это сделать?

#129705

как маленькие
iptables -I FORWARD 1 -i vlan6 -s 192.168.1.2 -o ppp0 -j DROP
sleep 3
iptables -I FORWARD 1 -i vlan6 -s 192.168.1.2 -o ppp0 -j ACCEPT

#135013

извиняюсь за реинкарнирование старой темы, но только руки дошли взяться за это. В-общем получается так:
iptables -I FORWARD 1 -s 192.168.2.10 -j DROP
обрывает связь, но не оставлять же это правило (вдруг кто другой получит этот ип попозже), поэтомму делаю через некоторое время
iptables -D FORWARD -s 192.168.2.10 -j DROP
и активные сессии, которые были оборваны (но программы, работавшие на этой сессии (аська, закачка), не закрыты), продолжаются. Тоесть сессии какбудто замораживаются, выжидая удаления этого правила.

#135082

Ася закачка и торренты не закроються правильно ждут когда появиться инет
И ещё когда удаляешь надо по номеру

iptables -D FORWARD 1 -s 192.168.2.10 -j DROP

#135267

Kettler, номер не обязательно, у меня срабатывает и без него (вдруг ппосле добавления правила еще правил добавилось перед ним - тогда он уже и не первый).

Ася закачка и торренты не закроються правильно ждут когда появиться инет

так в том то и дело, что все "концы" обрубаются

iptables -t nat -D PREROUTING -s 192.168.2.10 -j ACCEPT
iptables -t nat -D POSTROUTING -s 192.168.2.10 -j SNAT --to-source 192.168.1.37

и интернета быть не должно, получается канал то и остается, только пакеты по нему дропаются, а как отменить дроп - пакеты опять пошли и как будто и не было попытки "саботажа". Знач вопрос то и остается - как обрубить все линки

#135369

после долгого и вдумчивого анализа пришел я к такой комбинации:
[console]tcpkill -i eth1 host 192.168.2.10
sleep 3
pkill tcpkill[/console]

но возникла другая проблемка, не из под рута получаю следующее:
[console]/usr/sbin/tcpkill -i eth1 host 192.168.2.10
tcpkill: eth1: You don't have permission to capture on that device (socket: Operation not permitted)
tcpkill: couldn't initialize sniffing
[/console]

гугление не дало ответа как это решить.
Может подскажите куда/чем добавить пользователя чтоб он имел право обрубать соединения

#135382

В-общем, нашлось еще более простое решение:
[console]iptables -I FORWARD 1 -p tcp -s 192.168.2.10 -j REJECT --reject-with tcp-reset
iptables -D FORWARD -p tcp -s 192.168.2.10 -j REJECT --reject-with tcp-reset[/console]

моментально режет все соединения, закачки обрубаются, аська/скайп получают дисконект
Всем спс за помощь =)

Войдите или зарегистрируйтесь, чтобы ответить.