Jump to content
Калькуляторы

Syn Flood и Quagga

На linux под Centos стоит Quagga

При Syn Flood одного клиента на сервер, где Quagga, ksoftirqd грузит 100% ядра и весь трафик глючит.

iptables пустой

Помогает только ip route XXX.XXX.XXX.XXX/32 Null0 в ручную.

 

Что можно сделать, чтоб роутер не тормозил?

Можете ли отключение iptables?

Share this post


Link to post
Share on other sites

Насколько я понимаю, то что вы скинули касается атакуемого сервера, а не роутера, который тормозит из-за большого количества пакетов в единицу времени.

Share this post


Link to post
Share on other sites

При Syn Flood одного клиента на сервер, где Quagga, ksoftirqd грузит 100% ядра и весь трафик глючит.

Насколько я понимаю, то что вы скинули касается атакуемого сервера, а не роутера, который тормозит из-за большого количества пакетов в единицу времени.

Если флуд не транзитный, то роутеру плохо не потому, что он роутер, а потому, что он сервер с Кваггой.

Как роутеру ему поможет отключение conntrack'a.

 

Вообще здесь полфорума забито рассказами, как оптимизировать Линукс на шлюзе.

Начинайте читать, тогда поймете хотя бы, какие сведения нужно сообщать, чтобы Вам сумели помочь.

Share this post


Link to post
Share on other sites

Если флуд не транзитный, то роутеру плохо не потому, что он роутер, а потому, что он сервер с Кваггой.

 

Я же написал, что флуд на сервер клиента, а тормозит роутер. Я много всего почитал, но ничего не смог применить в моем случае.

Share this post


Link to post
Share on other sites

Если флуд не транзитный, то роутеру плохо не потому, что он роутер, а потому, что он сервер с Кваггой.

 

Я же написал, что флуд на сервер клиента, а тормозит роутер. Я много всего почитал, но ничего не смог применить в моем случае.

 

Значит у вас на роутере запущен conntrack. Так? Если роутер не делает NAT, то conntack нужно выгрузить или(если есть NAT) отменить его для того трафика, где он не нужен (iptables raw)

 

Клиент за NAT-ом?

Share this post


Link to post
Share on other sites

При Syn Flood одного клиента на сервер

Я же написал, что флуд на сервер клиента

"Кто на ком стоял?"(с)

 

На маршрутизаторе отключите conntrack, т.е. не используйте nat и -m state.

Share this post


Link to post
Share on other sites

А как выгрузить conntrack

Iptables на роутере пустой и не используется.

Share this post


Link to post
Share on other sites

сначала надо проверить что он загружен

 

lsmod | grep nf

lsmod | grep ipt

 

выгружать - rmmod

Share this post


Link to post
Share on other sites

[root@gw ~]# lsmod | grep nf

nf_nat 18618 1 iptable_nat

nf_conntrack_ipv4 7700 3 iptable_nat,nf_nat

nf_defrag_ipv4 1013 1 nf_conntrack_ipv4

nf_conntrack_ipv6 7117 2

nf_defrag_ipv6 9847 1 nf_conntrack_ipv6

nf_conntrack 65882 5 iptable_nat,nf_nat,nf_conntrack_ipv4,nf_conntrack_ipv6,xt_state

ipv6 265735 57 ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6

[root@gw ~]# lsmod | grep ipt

iptable_mangle 2583 1

ipt_LOG 4835 2

iptable_nat 5027 1

nf_nat 18618 1 iptable_nat

nf_conntrack_ipv4 7700 3 iptable_nat,nf_nat

iptable_filter 2147 1

ip_tables 9541 3 iptable_mangle,iptable_nat,iptable_filter

nf_conntrack 65882 5 iptable_nat,nf_nat,nf_conntrack_ipv4,nf_conntrack_ipv6,xt_state

 

 

Все эти выгружать?

 

Попробовал, не дает.

# rmmod nf_conntrack_ipv6

ERROR: Module nf_conntrack_ipv6 is in use

Edited by gsmail

Share this post


Link to post
Share on other sites

Iptables на роутере пустой и не используется.

на всякий случай вывод /sbin/iptables-save в студию.

Share this post


Link to post
Share on other sites

# /sbin/iptables-save

# Generated by iptables-save v1.4.7 on Mon Oct 14 19:39:52 2013

*mangle

:PREROUTING ACCEPT [3025434766:1014870678936]

:INPUT ACCEPT [446464:150992967]

:FORWARD ACCEPT [3024867200:1012645201864]

:OUTPUT ACCEPT [689046:150427383]

:POSTROUTING ACCEPT [3025521948:1012792068787]

:syn-flood - [0:0]

-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn-flood

-A syn-flood -d YYY.YYY.YYY.YYY/32 -m limit --limit 10/sec --limit-burst 100 -j RETURN

-A syn-flood -d YYY.YYY.YYY.YYY/32 -j DROP

-A syn-flood -d XXX.XXX.XXX.XXX/32 -m limit --limit 10/sec --limit-burst 100 -j RETURN

-A syn-flood -d XXX.XXX.XXX.XXX/32 -j DROP

COMMIT

# Completed on Mon Oct 14 19:39:52 2013

# Generated by iptables-save v1.4.7 on Mon Oct 14 19:39:52 2013

*filter

:INPUT ACCEPT [459523:155344123]

:FORWARD ACCEPT [3081088618:1026211137469]

:OUTPUT ACCEPT [674328:151044887]

COMMIT

# Completed on Mon Oct 14 19:39:52 2013

Share this post


Link to post
Share on other sites

Iptables на роутере пустой и не используется.

А это что?

-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn-flood

-A syn-flood -d YYY.YYY.YYY.YYY/32 -m limit --limit 10/sec --limit-burst 100 -j RETURN

-A syn-flood -d YYY.YYY.YYY.YYY/32 -j DROP

-A syn-flood -d XXX.XXX.XXX.XXX/32 -m limit --limit 10/sec --limit-burst 100 -j RETURN

-A syn-flood -d XXX.XXX.XXX.XXX/32 -j DROP

Сделайте iptables-save > ~/iptables.save; iptables -t nat -F; iptables -t nat -X

После этого сможете выгружать модули.

Share this post


Link to post
Share on other sites

А это что?

А это я как смог придумать, снизить нагрузку от флуда.

Share this post


Link to post
Share on other sites

А это что?

А это я как смог придумать, снизить нагрузку от флуда.

 

Теперь убирайте эти правило, выгружайте conntrack и роутеру будет пофиг на syn-flood(если он конечно не создаёт 100500 pps-ов), это уже станет проблемой абонента, на которого идёт атака

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this