Jump to content

Recommended Posts

Posted (edited)

Конфигурация оборудования следующая:

Сервер на базе: MB Intel S3000AH, CPU Intel Core 2 Quad, 4 Gb RAM, 2 встроенные гигабитные сетевушки e1000 и e1000e.

ОС: CentOS 5.2 i386

Драйвера сетевушек:

driver: e1000e
version: 0.2.0
firmware-version: 3.1-7

 

driver: e1000
version: 7.3.20-k2-NAPI
firmware-version: N/A

 

Еще один ньюанс, обе сетевушки объединены в бридж br0. Сервер должен быть прозрачным мостом между VPN-серверами и бордером, ставится исключительно под шейпинг и фильтрацию.

 

Скорфигурировал htb через настройки htb.init, запустил, проверил сгенерированный скрипт, все ОК. Проверил tc qdisc, tc class ls <dev>, tc filter ls <dev>, тоже все ОК.

Скорость для своего IP установил 512 Кбит/c, реально имею скорость чуть больше 1 Мбит/c. Тестировал с помощью iperf. Подумал было что iperf глючит, попробовал просто слить файлик по sftp и получил те же результаты.

 

У кого какие мысли? Может ли такое быть из-за того что CONFIG_HZ у ядра равен 1000? У меня просто уже есть один сервер и там CONFIG_HZ=250 и нормально шейпит.

Edited by SokolovS
Posted

А не в брижде ли дело?? Умеет ли tc работать с мостами? И почему именно бридж?? Что мешает сделать рутер? Там уж точно проблем не будет. Насчет конфига ядра.. Не знаю.. Обычно этот параметр всегда оставлял по дефолту (250 как раз вроде).

 

Posted (edited)

tc умеет работать с физическими интерфесами, на мост ему наплевать. У многих я знаю работает именно мост.

Edited by SokolovS
Posted

У меня еще на 4-ке htb с бриджом нормально работало из каробки - скорее всего у вас какие-то проблемы с настройкой бриджа. Для начала попробуйте пойти от простого - соберите стенд, настройте роутинг, а не бридж - настройте шейпинг, проверьте что пакеты попадают именно под нужные правила фильтров (tc -s filter - и вам пакажет сколько пакетов попало под вильтр а сколько нет) и т.д. Потом перестройте на бридж. Кстати опять же попробуйте прописать правила tc ручками а не автоматическими скриптами.

Posted

Пакеты попадают под правила, уже смотрел tc -s. Пробовал убрать бридж и просто шейпить исходящий трафик, результат тот же. Изменение HZ ни на что не влияет, уже пробовал пересбирать ядро из src.rpm с измененным конфигом. Зарегался в лист рассылки LARTC и на CentOS, буду пробвоать там узнать в чем проблема.

Posted

у меня похожий сервер, только мать s3200, тоже выбрал CentOS 5.2 i386 и тоже шейпится через tc htb, но бриджа нету, шейпится достаточно точно, особенно на маленьких скоростях, около мегабита, десять мегабит немного занижает, процентов на 5

Posted

Проблема фиксится если после ребута выполнить service network restart, тогда все начинает работать правильно, настроен один интерфейс br0 с двумя сетевушками. Что такого происходит после выполнения этой команды и не происходит при старте системы? Может есть какие-то идеи?

 

у меня похожий сервер, только мать s3200, тоже выбрал CentOS 5.2 i386 и тоже шейпится через tc htb, но бриджа нету, шейпится достаточно точно, особенно на маленьких скоростях, около мегабита, десять мегабит немного занижает, процентов на 5
С R2Q попробуй поиграться, влияет на точность шейпинга.
Posted (edited)
Скорость для своего IP установил 512 Кбит/c, реально имею скорость чуть больше 1 Мбит/c. Тестировал с помощью iperf. Подумал было что iperf глючит, попробовал просто слить файлик по sftp и получил те же результаты.

У кого какие мысли? Может ли такое быть из-за того что CONFIG_HZ у ядра равен 1000? У меня просто уже есть один сервер и там CONFIG_HZ=250 и нормально шейпит.

У коллег была похожая (но только похожая - у них бриджа не было) проблема. Шейпинг шел с завышением раза 2-3...

Поковырялся я в Инете и нашел следуюший хинт:

ethtool -k <интерфейс>

И вот если там встречается что либо из

tcp segmentation offload: on

udp fragmentation offload: off

generic segmentation offload: off

включенное, то выключить.

У них выключил tcp segmentation offload, презагрузил скрипт нарезки и поехало как часы.

Edited by Jugernault
Posted (edited)

2Jugernault: огромное спасибо, помогло :)

Нашел полезную опцию в настройках интерфейса в RedHat подобных системах: ETHTOOL_OPTS

Edited by SokolovS
  • 3 months later...
Posted

У меня тоже проблема с шейпером на мосту, не режет скорость вообще.В ethtool gso отключил так как был включен но не помогло, помогите пожалуйста решить проблему.

Posted (edited)

Понимаю, что вопрос глупый, но я все-таки пионер. :)

Может кто-нибудь подскажет, как поделить аплинк PPPoE (ppp0) на локальную сеть (eth0)? Читал много умных инструкций, но там все больно сложно, с приоритетами по типу трафика и т.д. Мне же пока нужно просто поделить равноправно полосу, чтобы качальщики с регетами в 100 потоков не мешали остальным сидеть в интернете. Т.е. скажем выходят в инет 2 IP - значит полосу 512 кбит делить на двоих, трое выходят - на троих. Если кто-то всю полосу не использует - излишки отдавать остальным (я так понимаю, что для этого нужен HTB). И надо это как-то со сквидом скооперировать. (я так понимаю, что просто порт сервера 3128 фильтровать). Потом будет еще и NAT, но это потом - еще руки не дошли.

Система тоже CentOS 5.3

 

Тьфу блин, только сейчас заметил, что тема то в оффтопике. Я просто ее поиском нашел и на раздел не посмотрел. :(

Edited by пионер
  • 8 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.