LINUX.ORG.RU
ФорумAdmin

Пакеты идут мимо шейпера


0

1

Просто мистически непонятная проблема.. Попросили настроить на комп(обычный десктоп) шлюз с дележкой трафика.. Комп не старый, Процессор AMD Phenom II X2 550, Материнская плата ASRock M3A770DE (чипсет RX780) 2Гб памяти, винт, сетевухи две внешние (встроенную не пользовал - грешил на нее.) Поставил UbuntuServer 10.04, ядро стандартное, 2.6.32-24-server

Проблема в том, что трафик не шейпится так, как настроено.. т.е. какие-то изменения от скорости все-таки происходят, но совсем не похоже на то, что должно быть...

Схема (Локальная сеть) - Подопытный сервер - Клиент подопытного сервера. На одном компе из локалки (100Мбит) стоит веб сервер, на котором лежит тестовый файлик. При выключенном шейпере скорость скачивания стабильная, ~11.2 МБ/с. При включенном шейпере сначала с максимальной падает до ~300 Кбайт/с, потом постепенно выростает до 2.5 Мбайт/с (нестабильно). При этом в инфе, которую tc выдает (tc -s -d -p) нет даже близких цифр.. Скрипт проверял на другой машине (ubuntu desktop 10.04) - работает отлично. Ядра пробовал менять - нифига. Сетевухи менял - нифига.

Мои вопросы.
1. Куда деваются пакеты?. Каким образом они идут мимо шейпера.
2. Как можно отслеживать как идет трафик? 3. Кхм.. глупый вопрос. Почему не работает..

Мой скрипт.

DOWNLINK=64kbit
SSH=70mbit
DEV=eth2
NETWORK="192.168.10.201/32"
SFQ_FLOW_OPTS=" flow hash keys nfct-dst divisor 1024 "

tc qdisc add dev $DEV root handle 1: htb default 12
  tc class add dev $DEV parent 1: classid 1:1 htb rate 100mbit ceil 100mbit prio 1 # Общий
   tc class add dev $DEV parent 1: classid 1:10 htb rate ${DOWNLINK} ceil ${DOWNLINK} # для интернета
	  tc filter add dev $DEV parent 1:0 protocol ip prio 2 u32 match ip dst $NETWORK flowid 1:10
     tc filter add dev $DEV parent 1:0 protocol ip prio 2 u32 match ip src $NETWORK flowid 1:10
   tc qdisc add dev $DEV parent 1:10 handle 10: sfq perturb 10
tc class add dev $DEV parent 1: classid 1:12 htb rate 100kbit ceil 100kbit prio 1
Это его результаты.

# tc -s -d -p class show dev eth2
class htb 1:10 root leaf 10: prio 0 quantum 1000 rate 64000bit ceil 64000bit burst 1600b/8 mpu 0b overhead 0b cburst 1600b/8 mpu 0b overhead 0b level 0
 Sent 262295 bytes 3823 pkt (dropped 4928, overlimits 0 requeues 0)
 rate 53016bit 97pps backlog 0b 126p requeues 0
 lended: 3697 borrowed: 0 giants: 0
 tokens: -140398 ctokens: -140398

class htb 1:1 root prio 1 quantum 200000 rate 100000Kbit ceil 100000Kbit burst 1600b/8 mpu 0b overhead 0b cburst 1600b/8 mpu 0b overhead 0b level 0
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 rate 0bit 0pps backlog 0b 0p requeues 0
 lended: 0 borrowed: 0 giants: 0
 tokens: 2000 ctokens: 2000

class htb 1:12 root prio 1 quantum 1250 rate 100000bit ceil 100000bit burst 1600b/8 mpu 0b overhead 0b cburst 1600b/8 mpu 0b overhead 0b level 0
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
 rate 0bit 0pps backlog 0b 0p requeues 0
 lended: 0 borrowed: 0 giants: 0
 tokens: 2000000 ctokens: 2000000

class sfq 10:12b parent 10:
 (dropped 0, overlimits 0 requeues 0)
 backlog 0b 110p requeues 0
 allot -18

class sfq 10:33d parent 10:
 (dropped 0, overlimits 0 requeues 0)
 backlog 0b 16p requeues 0
 allot 1410


Ответ на: комментарий от ventilator

Вот ведь... блин... Короче нашел решение. Это выспаться. нормально, по-человечески. И потом на свежую голову подходить и думать. Оказалось, что сетевухи именовались неправильно, т.е. встроенная eth1 а внешняя eth0. И шейпер вешался не на тот интерфейс. Заодно убедился, что невозможно шейпить входящий трафик :) Всем спасибо, прощу прощения за крики. :)

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