LINUX.ORG.RU
ФорумAdmin

Ubuntu Server +Iptables +squid +htb разрывается коннект у клиентов.


0

1

Я совсем недавно решился перевести раздачу интернета на Linux сервер.

Поставил настроил:

# cat /etc/issue
Ubuntu 10.10 \n \l
# uname -a
Linux router.office.sprut.ru 2.6.35-28-server #49-Ubuntu SMP Tue Mar 1 14:55:37 UTC 2011 x86_64 GNU/Linux
# cat /proc/version
Linux version 2.6.35-28-server (buildd@allspice) (gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5) ) #49-Ubuntu SMP Tue Mar 1 14:55:37 UTC 2011

Машин у меня в локалке 30. ADSL 7MBit/1MBit

настроил Squid, transparent HTTP-proxy, часть пользователей пустил через NAT (MASQUERADE). Скриптами htb-gen и htb-init сделал шейпер, что бы дать больше воздуху тем кому нужнее.

И всё даже работает. Вроде. Но часто наступают такие моменты что связь не держится нифига. Т.е. у всей сетки хором (может конечно и не совсем синхронно, но то что у всех точно) падает связь. ICQ, Jabber, Skype начинают пересоединятся. Они конечно пересоединяются и когда это пару раз за день, то и не заметят. Но когда начинается болтанка как например сегодня, то пользователи жить не дают, потому что у них морская болезнь уже от того что ICQ/Jabber/Skype туда сюда юолтаются :-(

Ну вот теперь вот вопрос должен быть: как добится что бы не было разрывов, но я хоть и новичок в Linux, но понимаю, что информации дал 0 для размышления. И главная то моя проблема - я не знаю что давать :-) Настройки squid.conf, /etc/iptables.up.rules, tc qdisc show кинуть можно, но букв там много а вникать подробно вряд ли кто будет.

Подскажите мне просто что делать и как искать узкое место или ошибку. Ну вот идут разрывы (хотя после обеда успокоилось, возможно net.netfilter.nf_conntrack_tcp_loose = 0 помогло). Куда смотреть и кого подозревать?

Например:

# conntrack -C
1536
# conntrack -S
entries                 1497
searched                12948168
found                   128924159
new                     8298250
invalid                 389864
ignore                  11816430
delete                  5978031
delete_list             5399467
insert                  7720032
insert_failed           14
drop                    0
early_drop              0
icmp_error              125119
expect_new              0
expect_create           0
expect_delete           0
search_restart          0
Если это плохо, то что плохо? 1536 это много? До обеда было около 3000 (munin всё записал). Это много? И если много то как сделать что бы было меньше или что бы при такой цифре работало бы. Да банально: conntrack -L выдаёт портянку, а мне бы сгруппировать по локальным адресам - что бы было видно от кого много соединений прёт. Есть какой нибудь инструмент который позволит это сделать?

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.