Portál AbcLinuxu, 25. dubna 2024 21:22


Dotaz: zahlceny router

25.7.2011 13:54 krnoha | skóre: 10 | blog: prizpevy
zahlceny router
Přečteno: 736×
Odpovědět | Admin

V podniku máme dvě pracoviště spojená internetem. Na každém pracovišti je pár strojů s "veřejnými" t.j. routovatelnými adresami a hodně strojů s "privátními" t.j. neroutovatelnými adresami. Linuxové hraniční routery dělají současně NAT pro přístup privátních strojů do internetu. Hraniční routery dále dělají IPsec tunel mezi oběma lokalitami, takže vzájemná konektivita v rámci podniku je každý s každým.

Stroje s veřejnou adresou chodí na router nativním Ethernetem. Stroje s privátní adresou chodí na router pomocí VLAN na stejném fyzickém rozhraní, a router si to přebere. Na routerech je řada filtrovacích pravidel iptables sloužících jako firewall. Spojení do internetu máme na optice. Všechno funguje a stroje s veřejnou adresou si posílají data s průchodností tisíců Mbps.

Problém: Stroje s privátní adresou se dostanou na druhou stranu jen s malou průchodností pod 10Mbps. Často se stane, že přenos z privátní sítě jedné lokality začne slušnou rychlostí 100Mbps, ale rychlost během několika minut klesne na desetinu a méně, při čemž některý z routerů začne být zahlcený. Ve stavu zahlcení je jeho celková datová průchodnost velmi malá, ale nevypadá to, že by se pakety ztrácely. Ale odezva pingu vyběhne z původních jednotek ms na stovky ms. Při tom top na linuxovém routeru ukazuje load asi tak 4,  procesor přes 95% idle. Současně vmstat ukazuje jen malý provoz, odpovídající té malé průchodnosti. Top vůbec neukáže, že by démon pluto (t.j. IPsec) spotřebovával zdroje.

Otázky: Kam se poděl výkon? Mohlo by to brzdit VLAN dekódování v jádře? Může to brzdit IPsec? Zažil někdo podobný jev?

Děkuji.

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

25.7.2011 14:37 NN
Rozbalit Rozbalit vše Re: zahlceny router
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ja bych eliminoval cast site tak, ze bych ten ping sledoval nejdrive na rozhrani routeru a potom od routeru k routeru. Pripadne traceroute by mohl odhalit ktera cast cesty ma slabou odezvu. Podle popisu to vypada,z e problem je mezi privatni siti a routerem. Takze bych skontroloval switche mezi klientem a routerem.

NN
25.7.2011 16:00 krnoha | skóre: 10 | blog: prizpevy
Rozbalit Rozbalit vše Re: zahlceny router

Vypadá že zahlcený je přímo ten router. Všecko co jde přes něj nebo přímo z něj má pomalou odezvu. Všechno co jde mimo něj má dobrou. Problém je ale v tom, že nevidíme nebo se neumíme podívat, co konkrétně se na routeru tak náročnýho děje.

H0ax avatar 25.7.2011 14:45 H0ax | skóre: 36 | blog: Odnikud_nikam
Rozbalit Rozbalit vše Re: zahlceny router
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jsou ty routery schopny uNATovat takovou rychlost? Není tam moc pravidel v iptables pro ipčka, která jsou natovány?
uid=0(root) gid=0(root) skupiny=0(root)
25.7.2011 16:10 krnoha | skóre: 10 | blog: prizpevy
Rozbalit Rozbalit vše Re: zahlceny router

Pozorované případy zahlcení jsou

lokalita A <-> IPsec <-> lokalita B

Při tom je NAT vyloučen, je tam jen tunel. Jestli je moc pravidel nevím, ale stejná pravidla se uplatní i při spojení

veřejná síť A <-> veřejná síť B

a propustnost je velmi dobrá.

25.7.2011 18:40 NN
Rozbalit Rozbalit vše Re: zahlceny router
Co pouzit neco jako iftop, nebo iptraf, nebo proskoumat statistiky jednotlivych rozhrani(rx,tx, error..) ?

NN
25.7.2011 18:48 krnoha | skóre: 10 | blog: prizpevy
Rozbalit Rozbalit vše Re: zahlceny router

Statistiky před přenosem a po přenosu, když se přenos udělá různýma cestama - že mě to nenapadlo?? Dík já to zkusím. (Ale teď jdu domů.)

3.8.2011 17:19 krnoha | skóre: 10 | blog: prizpevy
Rozbalit Rozbalit vše Re: zahlceny router

Prozkoumal jsem statistiky s velkou parádou, snímkoval jsem po sekundě, dělal jsem z toho grafy a hnidopišsky jsem sečítal a odčítal čísílka v souborech vzorků. Nakonec vidím že nic nevidím, pakety běhají jak mají, žádné chyby, co jeden pošle druhý přijme. Když mám nějaký provoz na eth0.204 tak ho vidím ve statistice jak téhle vlany, tak ve statistice eth0. To je doufám správně.

Teď asi budu muset nějak hledat, který program je ten, který to zatížení způsobuje. Problém je že top nic neukázal. Já myslím že top ukazuje čas strávený v kontextu procesu, ale routování včetně netfilteru je přece v jádře. Jak spolehlivě zjistit, kolik zdrojů spotřebovává jádro, to tedy vážně nevím.

3.8.2011 18:58 jurasek
Rozbalit Rozbalit vše Re: zahlceny router
Zdar

Jake jsou tam sitovky /typ, chip/, kolik preruseni pribyva pri prenosu /pri jake rychlosti, kolik preruseni/, co je to za CPU a chipset. Jaky je pozadovany /planovany/ sifrovany provoz pres tunel ? Jak je na tom pamet ?

Jurasek
vencour avatar 3.8.2011 19:51 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
Rozbalit Rozbalit vše Re: zahlceny router

A conntrack-tools jste už zkusil, jestli se nějak mění počet spojení? Ohledně "provozu" zkuste sledovat stav skrze latencytop a atop.

Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
5.8.2011 13:03 krnoha | skóre: 10 | blog: prizpevy
Rozbalit Rozbalit vše Re: zahlceny router
Odpovědět | | Sbalit | Link | Blokovat | Admin

Děkuji za rady. Normálně je tam kolem 2000 interuptů za sekundu podle vmstat, atop ukazuje IRQ na úrovni 3%. Když pustím intezívní přenos, který jde do veřejné sítě a tedy neprochází tunelem IPsec, interupty vylezou na 8000 / s a atop ukazuje IRQ hodnotu mezi 30 - 40% . Myslím že to znamená, že 40% výkonu CPU jde na zpracování přerušení. Když pustím stejně inteznívní přenos do privátní sítě, jde to skrz IPsec tunel. V tom případě je přes 13000 přerušení/s a atop mi píše 100% IRQ a při tom se červená.

Mimochodem ten router je IBM blade LS21, 4GBN RAM, jeden Dual-Core AMD Opterony 2218 @2.6 GHz. Chipset jsem vyguglil SERVERWORKS HT1000 / HT2000 . Tož tak. Problém trvá, protože kdokoliv z uživatelů může začít tlačit data z jedné lokality do druhé a tím to zahltí. Řešení mě nenapadá.

5.8.2011 13:09 kyytaM | skóre: 35 | blog: kyytaM | Bratislava
Rozbalit Rozbalit vše Re: zahlceny router
Su tie prerusenia rozhadnovane medzi viacero jadier, ci vsetky spracuva len jedno?

cat /proc/interrupts
5.8.2011 14:13 krnoha | skóre: 10 | blog: prizpevy
Rozbalit Rozbalit vše Re: zahlceny router
nrouter2 root# cat /proc/interrupts
CPU0 CPU1
0: 42 0 IO-APIC-edge timer
1: 0 2 IO-APIC-edge i8042
5: 0 1043 IO-APIC-fasteoi ehci_hcd:usb1, ohci_hcd:usb2, ohci_hcd:usb3
7: 1 0 IO-APIC-edge
8: 0 0 IO-APIC-edge rtc0
9: 0 0 IO-APIC-fasteoi acpi
12: 0 4 IO-APIC-edge i8042
48: 15930 3074685 PCI-MSI-edge qla2xxx
49: 1624 333074 PCI-MSI-edge qla2xxx
50: 26215268 3136520483 PCI-MSI-edge eth0
51: 30172892 3172682677 PCI-MSI-edge eth1
52: 40 2693 PCI-MSI-edge eth2
53: 136 11704 PCI-MSI-edge eth3
NMI: 0 0 Non-maskable interrupts
LOC: 259980490 661828332 Local timer interrupts
SPU: 0 0 Spurious interrupts
PMI: 0 0 Performance monitoring interrupts
IWI: 0 0 IRQ work interrupts
RES: 55276625 7716555 Rescheduling interrupts
CAL: 6435 2238 Function call interrupts
TLB: 338364 157931 TLB shootdowns
TRM: 0 0 Thermal event interrupts
THR: 0 0 Threshold APIC interrupts
MCE: 0 0 Machine check exceptions
MCP: 11148 11148 Machine check polls
ERR: 1
MIS: 0

Nějak neumím zarovnat sloupečky. Naprostá většina přerušení je na CPU 1.

5.8.2011 15:13 w3432
Rozbalit Rozbalit vše Re: zahlceny router
50: 26215268 3136520483 PCI-MSI-edge eth0 51: 30172892 3172682677 PCI-MSI-edge eth1

vidim dobre ze na CPU1 je tech irq 100x vic? zkuste to rozhodit...

tech 100% IRQ je softirq nebo hwirq (/proc/stat) ?

jak mate nastavene "sifry" toho IPSECu, pomuze sifrovani vypnout (NULL) ???

5.8.2011 13:12 mozog | skóre: 28
Rozbalit Rozbalit vše Re: zahlceny router
Co resit IPsec na HW routru? Treba nejake Cisco, Juniper, H3C, ...
5.8.2011 14:25 krnoha | skóre: 10 | blog: prizpevy
Rozbalit Rozbalit vše Re: zahlceny router

Vychází to moc draho - na dva routery šifrující 300 Mbps milionová investice. Já nevím jestli by ten OpenSwan šel nějak poladit nebo použít něco jiného.

5.8.2011 14:58 kyytaM | skóre: 35 | blog: kyytaM | Bratislava
Rozbalit Rozbalit vše Re: zahlceny router
Aky OS je tam pouzity?

10mbit IP sec dalo lavou zadnou aj nejake prehistoricke p3. Druha vec je, ze rozsiahle pravidla v IPtables a NATovanie vie dost brutalne zrazit priepustnost, ale nieco tam asi nebude celkom zdrave, ked je ten IPsec taky pomaly...
5.8.2011 15:06 krnoha | skóre: 10 | blog: prizpevy
Rozbalit Rozbalit vše Re: zahlceny router
nrouter2 root# uname -a
Linux nrouter2 2.6.39.2 #1 SMP Mon Jun 27 18:02:40 CEST 2011 x86_64 GNU/Linux
nrouter2 root# cat /etc/debian_version
6.0.2

5.8.2011 15:05 kyytaM | skóre: 35 | blog: kyytaM | Bratislava
Rozbalit Rozbalit vše Re: zahlceny router
Kazdopadne "riesenie" by mohlo byt aj pouzitie samostatnych strojov na IPsec tunel s tym, ze sucasny "router" by robil nadale nat+fw len sifrovanie by bolo offloadnute na iny stroj.
5.8.2011 15:56 krnoha | skóre: 10 | blog: prizpevy
Rozbalit Rozbalit vše Re: zahlceny router
Odpovědět | | Sbalit | Link | Blokovat | Admin

Podle /proc/stat máme 3 miliardy HW přerušení a 4 miliardy SW přerušení. Běžně tam je 2000 přerušení/s, Při testovacím SSH přenosu rychlostí 11 MB/s podle tvrzení SCP do veřejné sítě máme 7500 intr/s . Řekněme že těch 5500 navíc jsou HW intr. odpovídající přijetí paketu a odeslání paketu. Při testovacím přenosu do privátní sítě skrz IPsec (stejnou rychlostí podle tvrzení SCP) máme 13000 intr/s . Řekněme že z toho je 2000 běžný provoz, 5500 HW přijmutí a odeslání a dalších 5500 přečtení programem a zápis programem do soketu. Když dedikujeme další celý stroj pro IPsec, bude tam tedy místo 13000 intr/s jen 11000, to se mi nezdá až takový rozdíl. Podle mě není jisté, že toto rozdělení funkcí něco rapidně zlepší.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.