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

Бурный рост conntrack под Linux.

Есть маршрутизатор: Linux lanrouter-phys 2.6.26-2-686 #1 SMP Sat Oct 17 17:59:23 UTC 2009 i686 GNU/Linux

 

Второй день подряд, в одно и тоже время (?), в ЧНН, количество записей conntrack начинает бурно вырастать, растет до предела (conntrackmax=1,572,864).

Потом все соединения обрываются, в messages сыпят строки "contrack full, dropping packets", все как обычно.

После все восстанавливается.

Логи conntrack во время "роста" есть, аномалий не видно.

Чего делать? Куда копать?

 

Лог действа вот (это мониторинг sysctl net.ipv4.netfilter.ip_conntrack_count):

2009-11-16 21:49:01 12% [######-------------------|-------------------------] 191,071/1,572,864

2009-11-16 21:50:01 11% [#####--------------------|-------------------------] 188,583/1,572,864

2009-11-16 21:51:01 11% [#####--------------------|-------------------------] 187,240/1,572,864

2009-11-16 21:52:01 11% [#####--------------------|-------------------------] 186,854/1,572,864

2009-11-16 21:53:01 12% [######-------------------|-------------------------] 190,532/1,572,864

2009-11-16 21:54:01 12% [######-------------------|-------------------------] 195,386/1,572,864

2009-11-16 21:55:01 12% [######-------------------|-------------------------] 190,845/1,572,864

2009-11-16 21:56:01 11% [#####--------------------|-------------------------] 186,737/1,572,864

2009-11-16 21:57:01 11% [#####--------------------|-------------------------] 188,384/1,572,864

2009-11-16 21:58:01 12% [######-------------------|-------------------------] 190,941/1,572,864

2009-11-16 21:59:01 12% [######-------------------|-------------------------] 191,795/1,572,864

2009-11-16 22:00:01 11% [#####--------------------|-------------------------] 185,116/1,572,864

2009-11-16 22:01:01 11% [#####--------------------|-------------------------] 187,386/1,572,864

2009-11-16 22:02:01 16% [########-----------------|-------------------------] 261,919/1,572,864

2009-11-16 22:03:01 23% [###########--------------|-------------------------] 362,662/1,572,864

2009-11-16 22:04:01 29% [##############-----------|-------------------------] 457,340/1,572,864

2009-11-16 22:05:01 34% [#################--------|-------------------------] 548,307/1,572,864

2009-11-16 22:06:01 40% [####################-----|-------------------------] 644,561/1,572,864

2009-11-16 22:07:01 47% [#######################--|-------------------------] 741,166/1,572,864

2009-11-16 22:08:01 53% [#########################|#------------------------] 843,800/1,572,864

2009-11-16 22:09:01 59% [#########################|####---------------------] 942,409/1,572,864

2009-11-16 22:10:02 66% [#########################|########-----------------] 1,039,855/1,572,864

2009-11-16 22:11:01 72% [#########################|###########--------------] 1,134,575/1,572,864

2009-11-16 22:12:01 78% [#########################|##############-----------] 1,232,366/1,572,864

2009-11-16 22:13:01 84% [#########################|#################--------] 1,331,127/1,572,864

2009-11-16 22:14:01 90% [#########################|####################-----] 1,430,858/1,572,864

2009-11-16 22:19:25 0% [-2009-11-16 22:19:25 0% [-------------------------------------------------|-|-------------------------------------------------] 12,163/1,572,864

] 12,163/1,572,864

2009-11-16 22:19:25 0% [-------------------------|-------------------------] 12,296/1,572,864

2009-11-16 22:19:25 0% [-------------------------|-------------------------] 12,352/1,572,864

2009-11-16 22:19:25 0% [-------------------------|-------------------------] 12,383/1,572,864

2009-11-16 22:20:01 5% [##-----------------------|-------------------------] 86,424/1,572,864

2009-11-16 22:21:01 7% [###----------------------|-------------------------] 121,620/1,572,864

2009-11-16 22:22:01 8% [####---------------------|-------------------------] 129,973/1,572,864

Edited by ThreeDHead

Share this post


Link to post
Share on other sites

Посмотреть через conntrack -L какие именно записи заполонили.

Возможно стоит подкрутить таймауты, от результатов conntrack -L зависит какие.

Share this post


Link to post
Share on other sites
Посмотреть через conntrack -L какие именно записи заполонили.

Возможно стоит подкрутить таймауты, от результатов conntrack -L зависит какие.

Вывод "conntrack -L" есть, аномалии например по флуду каких-то IP-адресов нет, все в норме.

Вот десяток самых активных:

 

[ TCP ]

314 src=10.X.191.211

352 src=10.X.204.13

437 src=10.X.111.251

438 src=10.X.187.58

461 src=10.X.109.76

548 src=10.X.107.85

653 src=10.X.184.81

771 src=10.X.104.241

887 src=10.X.207.163

936 src=10.X.105.49

 

[ UDP ]

223 src=10.X.114.160

250 src=10.X.212.46

258 src=10.X.197.49

259 src=10.X.184.47

285 src=10.X.204.148

307 src=10.X.104.233

319 src=10.X.112.78

344 src=10.X.105.61

397 src=10.X.106.130

570 src=10.X.208.227

 

О каких таймаутах речь?

Share this post


Link to post
Share on other sites

Ерунда какая-то, `conntrack -L` снятый во время роста (22:11:01), содержит 176,323 записей, а `sysctl net.ipv4.netfilter.ip_conntrack_count` в тот момент показывал значение 1,134,575

Откуда призраки?

Share this post


Link to post
Share on other sites

timeout'ы уменьшаем, у вас наверняка стоит хранить сессию в netfilter 4 суток?

Share this post


Link to post
Share on other sites
timeout'ы уменьшаем, у вас наверняка стоит хранить сессию в netfilter 4 суток?
Нет, уменьшено до 6 часов.

 

Откуда жуткое несоответствие показателей? Может аппаратная проблема с памятью?

Share this post


Link to post
Share on other sites

Память заменили, эту поставили на тестирование, один пас прошел, все в норме, весь день на тесте постоит.

 

По логам message видно, что такой рост видимо является следствием чего-то. Есть смутное подозрение что iptbales_NETFLOW создает эти проблемы, видимо его нужно отстроить правильно. Пока включил журналирование /proc/net/stat/ipt_netflow, и задрал значения хешей, буферов и т.п.

Share this post


Link to post
Share on other sites

ThreeDHead

ipt_NETFLOW conntrack не использует

 

Другой вопрос в том, что если "i686", conntrack, большой роут-кеш, много записей в ipt_NETFLOW - может просто не хватать памяти. Посмотрите "cat /proc/meminfo | grep Low" и "slabtop"

 

Share this post


Link to post
Share on other sites
ThreeDHead

ipt_NETFLOW conntrack не использует

 

Другой вопрос в том, что если "i686", conntrack, большой роут-кеш, много записей в ipt_NETFLOW - может просто не хватать памяти. Посмотрите "cat /proc/meminfo | grep Low" и "slabtop"

Несоответствие записей и значения в sysctl очень аномально, если честно.

Может даже баг используемой версии ядра.

Share this post


Link to post
Share on other sites
ThreeDHead

ipt_NETFLOW conntrack не использует

 

Другой вопрос в том, что если "i686", conntrack, большой роут-кеш, много записей в ipt_NETFLOW - может просто не хватать памяти. Посмотрите "cat /proc/meminfo | grep Low" и "slabtop"

Вот по меминфо, только это уже сегодня, под загрузкой еще попробую снять.

 

# cat /proc/meminfo | grep -i low

LowTotal: 880320 kB

LowFree: 708832 kB

 

# cat /proc/meminfo | grep -i slab

Slab: 120232 kB

 

Память тестируется, за 5 часов поймали одну ошибку. Может вытащить его с серверной вообще, чтобы в тепле мучился...

 

Несоответствие записей и значения в sysctl очень аномально, если честно.

Именно, поэтому трекер соединений тут видимо явился заложником чего-то. Ошибки памяти?

 

Да, еще, коллектор NETFLOW, в тот момент, сыпет кучей дропов. Именно отсюда я сделал вывод про NETFLOW, и еще по записям в messages.

Да, вот вырезка из messages:

 

Nov 16 06:25:02 lanrouter-phys kernel: imklog 3.18.6, log source = /proc/kmsg started.

Nov 16 06:25:02 lanrouter-phys rsyslogd: [origin software=rsyslogd" swVersion="3.18.6" x-pid="2186" x-info="http://www.rsyslog.com] restart

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] Modules linked in: nf_conntrack_netlink nfnetlink iptable_raw nls_utf8 cifs nls_base sch_htb xt_CLASSIFY xt_MARK ipt_NETFLOW ipt_LOG xt_multiport xt_lim

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541]

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] Pid: 16, comm: events/1 Not tainted (2.6.26-2-686 #1)

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] EIP: 0060:[<f8ec2172>] EFLAGS: 00000a06 CPU: 1

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] EIP is at ipt_do_table+0xc8/0x422 [ip_tables]

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] EAX: 97c5e60a EBX: f004dc20 ECX: 00000000 EDX: f004dc00

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] ESI: f9d5d06c EDI: f9d4ec30 EBP: 00000070 ESP: f74addb4

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] CR0: 8005003b CR2: b7ee3d90 CR3: 003bc000 CR4: 000006d0

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] DR6: ffff0ff0 DR7: 00000400

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c026e3e4>] ? nf_iterate+0x30/0x61

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c026e473>] ? nf_hook_slow+0x3a/0x90

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c0276656>] ? ip_finish_output+0x0/0x1fc

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c0276ad2>] ? ip_output+0x6c/0x7e

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c0276656>] ? ip_finish_output+0x0/0x1fc

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c02742e0>] ? ip_forward_finish+0x2c/0x2e

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c0273306>] ? ip_rcv_finish+0x286/0x2a3

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c02588b4>] ? netif_receive_skb+0x31c/0x349

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<f886eb11>] ? e1000_receive_skb+0x12e/0x154 [e1000e]

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<f8871c70>] ? e1000_clean_rx_irq+0x229/0x2c0 [e1000e]

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<f8870a55>] ? e1000_clean+0x7a/0x24f [e1000e]

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c025a6ef>] ? net_rx_action+0x9c/0x1b9

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c01265f5>] ? __do_softirq+0x66/0xd3

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c01266a7>] ? do_softirq+0x45/0x53

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c012691e>] ? local_bh_enable_ip+0x35/0x40

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<f936d2e8>] ? netflow_scan_inactive_timeout+0xa6/0x232 [ipt_NETFLOW]

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<f936d474>] ? netflow_work_fn+0x0/0x19 [ipt_NETFLOW]

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<f936d47e>] ? netflow_work_fn+0xa/0x19 [ipt_NETFLOW]

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c012f006>] ? run_workqueue+0x74/0xf2

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c012f6e1>] ? worker_thread+0x0/0xbd

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c012f794>] ? worker_thread+0xb3/0xbd

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c013199c>] ? autoremove_wake_function+0x0/0x2d

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c01318db>] ? kthread+0x38/0x5d

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c01318a3>] ? kthread+0x0/0x5d

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] [<c01044f3>] ? kernel_thread_helper+0x7/0x10

Nov 16 22:02:20 lanrouter-phys kernel: [397826.719541] =======================

и только в конце начинают дропаться в коннтрэке пакеты:

 

Nov 16 22:18:45 lanrouter-phys kernel: [398814.078466] __ratelimit: 15067 messages suppressed

Nov 16 22:18:45 lanrouter-phys kernel: [398814.078466] nf_conntrack: table full, dropping packet.

Nov 16 22:18:50 lanrouter-phys kernel: [398819.189256] __ratelimit: 15147 messages suppressed

Nov 16 22:18:50 lanrouter-phys kernel: [398819.189256] nf_conntrack: table full, dropping packet.

Nov 16 22:18:55 lanrouter-phys kernel: [398824.290844] __ratelimit: 15296 messages suppressed

Nov 16 22:18:55 lanrouter-phys kernel: [398824.290844] nf_conntrack: table full, dropping packet.

Nov 16 22:19:00 lanrouter-phys kernel: [398829.376901] __ratelimit: 14700 messages suppressed

Nov 16 22:19:00 lanrouter-phys kernel: [398829.376901] nf_conntrack: table full, dropping packet.

Nov 16 22:19:05 lanrouter-phys kernel: [398834.480597] __ratelimit: 15200 messages suppressed

Nov 16 22:19:05 lanrouter-phys kernel: [398834.480600] nf_conntrack: table full, dropping packet.

Nov 16 22:19:10 lanrouter-phys kernel: [398839.594024] __ratelimit: 15752 messages suppressed

Nov 16 22:19:10 lanrouter-phys kernel: [398839.594024] nf_conntrack: table full, dropping packet.

Nov 16 22:19:15 lanrouter-phys kernel: [398844.712679] __ratelimit: 15417 messages suppressed

Nov 16 22:19:15 lanrouter-phys kernel: [398844.712679] nf_conntrack: table full, dropping packet.

Nov 16 22:19:24 lanrouter-phys kernel: or -1: data loss 440 pkt, 27594 bytes

Nov 16 22:19:24 lanrouter-phys kernel: [398858.640896] __ratelimit: 68038 messages suppressed

Nov 16 22:19:24 lanrouter-phys kernel: [398858.640896] nf_conntrack: table full, dropping packet.

Nov 16 22:19:24 lanrouter-phys kernel: [398858.654235] cron D 00000000 0 473 1

Nov 16 22:19:24 lanrouter-phys kernel: [398858.654235] f6e88de0 00000086 00524b37 00000000 00000000 f6e88f6c c3017fa0 00000000

Nov 16 22:19:24 lanrouter-phys kernel: [398858.654235] f78e5e4c 048e3503 f6767d3c c0136114 00000001 00000000 00000000 000000fd

Nov 16 22:19:24 lanrouter-phys kernel: [398858.654235] c3017fa0 02c5d000 f6767d3c c3000fa4 c02b8998 f6767d34 00000000 c019096a

Share this post


Link to post
Share on other sites
Это kernel oops? заголовок обрезан в первом сообщении
Где это? Первая строчка - это чистый message после ротации.

 

Мы про эту?

Nov 16 06:25:02 lanrouter-phys kernel: imklog 3.18.6, log source = /proc/kmsg started.

Nov 16 06:25:02 lanrouter-phys rsyslogd: [origin software=rsyslogd" swVersion="3.18.6" x-pid="2186" x-info="http://www.rsyslog.com] restart

Share this post


Link to post
Share on other sites

ну очень похоже на то, что NETFLOW расклячивает conntrack (портит в нем память), сообщение очень похоже на OOPS, и у системы сьезжает крыша.

Реально запустить без netflow на один день?

Share this post


Link to post
Share on other sites
ну очень похоже на то, что NETFLOW расклячивает conntrack (портит в нем память), сообщение очень похоже на OOPS, и у системы сьезжает крыша.

Реально запустить без netflow на один день?

Ну час ИКС уже позади, самая загрузка сейчас закончится, пока полет нормальный. Заменена память, подкручен NETFLOW. Завтра гляну что с тестом старой памяти.

 

А NETFLOW у меня должен срубиться с правил самостоятельно, когда загрузка CONNTRACK дойдет до 30% - эт я ловушки расставил. Но до 30% так и не дошло, значит все хорошо.

Share this post


Link to post
Share on other sites

Вторые сутки, полет нормальный.

 

А вот тест памяти завершился плачевно, видимо это она.

dsc00119t.th.jpg

Share this post


Link to post
Share on other sites

ThreeDHead

У Вас серьезно такая память или Вы ее разогнали?

 

Собственно, одной красной строчки достаточно в любом случае...

 

Share this post


Link to post
Share on other sites

У Вас серьезно такая память или Вы ее разогнали?

Не, не разгоняли ничего, такая и есть.

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