URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 89566
[ Назад ]

Исходное сообщение
"Проблема с шейпом трафика (FreeBSD)"

Отправлено Asay , 10-Авг-10 21:55 
Здравствуйте.
Имеется странная проблема. Не знаю в каком направлении ковырять дальше. Буду весьма благодарен, если кто пнёт в правильную сторону.

Есть:
- FreeBSD6.4 + NAT + IPFW + PPPoE + DUMMYNET (в качестве роутера);
- канал в Интернет 30 Мбит/с;
- локалка

Есть правила:

#...
ipfw pipe 1 config bw 1Mbit/s
#...
ipfw add 101 pipe 1 ip from 10.10.10.10 to any
ipfw add 102 pipe 1 ip from any to 10.10.10.10
#...
# nat - порт NAT
# devI - интерфейс, который смотрит в Интернет
# IPInt - IP на интерфейсе devI
ipfw add 1001 divert ${nat} ip from 10.10.10.10 to any out xmit ${devI}
ipfw add 1002 divert ${nat} ip from any to ${IPInt} in recv ${devI}
#...
ipfw add 65000 allow ip from any to any
#...

Всё работает :)

Проблема:
Если pipe 1 мегабит (как указано выше), то у абонента из локалки торренты, спидтесты и т.п. показывают максимум 0,9 download и 0.47 upload. Когда поменять pipe на "2Mbit/s", у клиента 1,83/0,87 и т.д.. А что самое интересное, если вообше убрать из правил pipe, то максимальная скорость у клиента не выше 8 мегабит/с, тоесть FreeBSD не отдала все 30 провайдерских мегабит/с клиенту. (Включали ноут клиента непосредственно напрямую к провайдеру минуя FreeBSD роутер и speedtest.net показал все 30 мегабит)

В логах messages ошибок нету.

Вопрос: куда девается трафик и как найти проблему? :)


Содержание

Сообщения в этом обсуждении
"Проблема с шейпом трафика (FreeBSD)"
Отправлено Michael , 10-Авг-10 22:38 

>Вопрос: куда девается трафик и как найти проблему? :)

ну для начала дополните правила, помещающие пакеты в пайп названиями интерфейсов.
я подозреваю, что трафик попадает в пайп дважды.
ну и посмотрите ipfw show pipe в момент тестирования скорости.


"Проблема с шейпом трафика (FreeBSD)"
Отправлено YuryD , 12-Авг-10 06:18 
>ну для начала дополните правила, помещающие пакеты в пайп названиями интерфейсов.
>я подозреваю, что трафик попадает в пайп дважды.

Это точно. без интерфейса траффик пройдет дважды. проверить легко и просто - запомните счетчики pipe и качните файл известного размера - сразу видно...


"Проблема с шейпом трафика (FreeBSD)"
Отправлено Pahanivo , 12-Авг-10 08:20 
>>ну для начала дополните правила, помещающие пакеты в пайп названиями интерфейсов.
>>я подозреваю, что трафик попадает в пайп дважды.
>
> Это точно. без интерфейса траффик пройдет дважды. проверить легко и просто
>- запомните счетчики pipe и качните файл известного размера - сразу
>видно...

дабл-пайт это стандартные грабли юных пайперов )


"Проблема с шейпом трафика (FreeBSD)"
Отправлено rr , 12-Авг-10 09:09 
попадает два раза в пайп, и как по вашему это может повлиять на уменьшение скорости?
нагружается машина чуть больше и только.

а что если стоит pipe 1Мбит/с то спидтест должен показать четко 1Мбит/с ?


"Проблема с шейпом трафика (FreeBSD)"
Отправлено Pahanivo , 12-Авг-10 15:11 
>попадает два раза в пайп, и как по вашему это может повлиять
>на уменьшение скорости?

очень странный вопрос ))
типа - я допустил глюк - что будет? ответ - будет глючить
>нагружается машина чуть больше и только.

не факт
>
>а что если стоит pipe 1Мбит/с то спидтест должен показать четко 1Мбит/с
>?

говнотесты не есть показатель



"Проблема с шейпом трафика (FreeBSD)"
Отправлено Asay , 04-Окт-10 22:23 
> ну для начала дополните правила, помещающие пакеты в пайп названиями интерфейсов.

Большое спасибо за ответ.

Назрел ещё один вопрос. Не очень понимаю принцип такой штуки, например, если у меня допустим:
vr0 - смотрит в интернет;
vr1 - смотрит в локалку;

то как такое правило:
ipfw add 101 pipe 1 ip from 10.10.10.10 to any
ipfw add 102 pipe 1 ip from any to 10.10.10.10

расписать по интерфейсам, если 10.10.10.10 приходит на сервер через PPPoE по интерфейсу tunX (где "Х" - "Х"-его знает :)) а выходит после NAT'а с vr0 уже с внешним адресом?

Разве что как-то так:
ipfw add 101 pipe 1 ip from 10.10.10.10 to me in
ipfw add 102 pipe 1 ip from me to 10.10.10.10 out