Я совсем недавно решился перевести раздачу интернета на 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