The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"pf  route-to  ограничение аплоуда"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Firewall, Фильтрация пакетов / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"pf  route-to  ограничение аплоуда"  +/
Сообщение от VArtem (??) on 31-Окт-06, 19:59 
Есть 2 канала в интернет. Необходимо, что бы определенные ip ходили через один канал, а другие через другой. Все это я с успехом реализовал. Схема приблизительно следующая:

# Пользователи 1-го канала
pass in route-to ($ext_if1 $ext_gw1) from 192.168.0.1  to any queue q_user1
pass in route-to ($ext_if1 $ext_gw1) from 192.168.0.2  to any queue q_user2
...
pass in route-to ($ext_if1 $ext_gw1) from 192.168.0.N1  to any queue q_userN1

# Пользователи 2-го канала
pass in route-to ($ext_if2 $ext_gw2) from 192.168.0.11  to any queue q_user11
pass in route-to ($ext_if2 $ext_gw2) from 192.168.0.12  to any queue q_user12
...
pass in route-to ($ext_if2 $ext_gw2) from 192.168.0.N2  to any queue q_userN2

# DOWNLOAD
pass out on $int_if from any to 192.168.0.1 queue d_user1
...

Вся эта схема работает. Все замечательно, если бы не одно НО!!  Пакеты, которые проходят правила типа
pass in route-to ($ext_if1 $ext_gw1) from 192.168.0.N1  to any queue q_userN1 и  
pass in route-to ($ext_if2 $ext_gw2) from 192.168.0.N2  to any queue q_userN2
они не попадают в свои очереди q_userN1 и q_userN2, а попадают в очереть DEFAULT, в следствии чего невозможно залимитировать UPLOAD-трафик и как следствие подскакивают пинги. Если кто-то имеет какие-либо соображения по этому поводу, пожалуйста выскажите.

Заранее благодарен.

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "pf  route-to  ограничение аплоуда"  +/
Сообщение от nagoHaK email(ok) on 01-Ноя-06, 12:17 
Имхо, юзеров каждого канала проше загнать в таблицу, либо в конфиге, либо "persist file", проще читать конфиг будет, но это если только для кажного юзверя не требуется своей отдельной очереди.
т.е.

table <ch1_users> persist file "/etc/ch1_users.txt"
table <ch2_users> persist file "/etc/ch2_users.txt"

altq on $ext_if1 cbq bandwidth 10Mb queue {ch1_def_queue,ch1_users_download,ch1_users_upload}
queue ch1_def_queue bandwidth 40% priority 2 cbq(default)
queue ch1_users_download bandwidth 30% priority 1
queue ch1_users_upload bandwidth 30% priority 1

altq on $ext_if2 cbq bandwidth 10Mb queue {ch2_def_queue,ch2_users_download,ch2_users_upload}
queue ch2_def_queue bandwidth 40% priority 2 cbq(default)
queue ch2_users_download bandwidth 30% priority 1
queue ch2_users_upload bandwidth 30% priority 1

pass in route-to ($ext_if1 $ext_gw1) from <ch1_users> to any queue ch1_users_upload
pass in route-to ($ext_if2 $ext_gw2) from <ch2_users> to any queue ch2_users_upload

pass out on $int_if from any to <ch1_users> queue ch1_users_download
pass out on $int_if from any to <ch2_users> queue ch2_users_download

Имхо вот так все будет красиво зарезано =)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "pf  route-to  ограничение аплоуда"  +/
Сообщение от VArtem (??) on 01-Ноя-06, 14:46 
Юзеров каждого канала в таблицу я загнал, что бы можно было НАТ запустить. Использовать предложенную Вами схему возможности не имею, т.к. нужно строго ограничить каждому юзверю свой канал и свою очередь. Но по большому счету разницы между
pass in route-to ($ext_if1 $ext_gw1) from <ch1_users> to any queue ch1_users_upload и
pass in route-to ($ext_if1 $ext_gw1) from 192.168.0.2 to any queue ch1_user1_up я не вижу.

Единственно что, очереди для download правил я пишу для внутреннего интерфейса, т.е.
altq on $int_if cbq bandwidth 10Mb queue {ch1_def_dw, ch1_user1_dw, ch2_user2_dw, ...}
...
Правда ограничение скорости по download'у работает правильно. Единственная проблема заключается в том, что весь аплоуд попадает в очереди дефолт (ch1_def_up, ch2_def_up)

Спасибо за отклик

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "pf  route-to  ограничение аплоуда"  +/
Сообщение от nagoHaK email(ok) on 01-Ноя-06, 15:07 
мб тогда и аплоуд на внутреннем интерфейсе резать?
pass in on $int_if from 192.168.0.Xn to any queue user_Xn_up
pass in route-to ($ext_if1 $ext_gw1) from 192.168.0.Xn to any

моя ошибка - забыл объявить altq на внутренний интерфейс и прикручиваю queue от внешнего:
>pass out on $int_if from any to <ch1_users> queue ch1_users_download
>pass out on $int_if from any to <ch2_users> queue ch2_users_download

между прочим на openbsd.org в факах аплоуд режут именно на внутреннем
http://www.openbsd.org/faq/pf/queueing.html#example2

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "pf  route-to  ограничение аплоуда"  +/
Сообщение от Andriy email(??) on 26-Окт-10, 15:09 
> мб тогда и аплоуд на внутреннем интерфейсе резать?
> pass in on $int_if from 192.168.0.Xn to any queue user_Xn_up
> pass in route-to ($ext_if1 $ext_gw1) from 192.168.0.Xn to any
> моя ошибка - забыл объявить altq на внутренний интерфейс и прикручиваю queue
> от внешнего:
>>pass out on $int_if from any to <ch1_users> queue ch1_users_download
>>pass out on $int_if from any to <ch2_users> queue ch2_users_download
> между прочим на openbsd.org в факах аплоуд режут именно на внутреннем
> http://www.openbsd.org/faq/pf/queueing.html#example2

напишите полностью свой конфиг, у меня такая же проблема, не могу разобраться


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру