Страница 1 из 1

FreeBSD в качестве коммутатора (QoS)

Добавлено: 2010-02-20 9:18:12
Rubi
Здравствуйте, есть небольшая сеть на 4 компьютера и маршрутизатор Cisco 871 предоставляющий доступ в интернет и сеть провайдера, на плечи которого возложены обязанности в том числе и по ограничению канала для пользователей с помощью rate-limit-а, функционала и гибкости которого естественно не хватает, нужен QoS. Скажите, как можно настроить FreeBSD бриджом (как я понимаю) чтобы с интерфесов смотрящих в сторону пользователей и в сторону Cisco можно было шейпить трафик плюс приоритезация по портам, протоколам и т.д.
Заранее пять раз спасибо.

Re: FreeBSD в качестве коммутатора (QoS)

Добавлено: 2010-02-20 9:30:44
baton4eg
Ethernet,vpn,pppoe какой способ связи с провайдером?
FreeBSD может выступать вместо вашей циски, вышеперечисленное в роли клиента без проблем. соответственно можно от циски избавится. У вас будет такая схема:

Провайдера--(pppoe)--->FreeBSD(Nat,dummynet)--->свитч-(5 портов)--->Пользователи

Re: FreeBSD в качестве коммутатора (QoS)

Добавлено: 2010-02-20 10:17:49
Rubi
Это всё понятно, но вот только от циски избавляться я не хочу, так как на ней у меня реализован DMVPN и масса других прибамбасов которые мне нужны именно на Cisco. От FreeBSD нужен только QoS. Дальше по мере набирания опыта с BSD буду думать.

Re: FreeBSD в качестве коммутатора (QoS)

Добавлено: 2010-02-20 11:24:38
baton4eg
Какие задачи вы хотите реализовать по ограничениям, что, кому, какие приоритеты и т.д

Re: FreeBSD в качестве коммутатора (QoS)

Добавлено: 2010-02-20 14:22:10
Rubi
Есть необходимость реализовать следующие задачи:
1) для клиентов установить ограничения по скорости загрузка/отдача (512к интернет)
2) для клиентов установить ограничения по скорости загрузка/отдача (4м сеть пров. (192.168.0.0/16))
3) если кто-то не загружает канал до своих лимитов то остатки делятся между остальными
4) ну и на Bittorent минимальный приоритет
пожалуй пока всё :oops:

P.S. Есть ли во FreeBSD поддержка механизма NBAR ?

Re: FreeBSD в качестве коммутатора (QoS)

Добавлено: 2010-02-21 0:34:26
SAS
Во FreeBSD нет пакетного QoS, только тупой шейпинг и диверт, но вы же не будете писать на С фильтр пакетов через divert для Ipfw. Но надежда всеже есть. В OpenBSD есть Hierarchical Fair Service Curve - это то что вам нужно, работает оно через PF который есть, и синхронизирован с новой версией OpenBSD PF в FreeBSD, я не пробовал это во фре, но в OpenBSD все идиально работает. Если успешно настроите во фре - отпишите.
http://dreamcatcher.ru/2009/11/30/Испол ... в-openbsd/

Re: FreeBSD в качестве коммутатора (QoS)

Добавлено: 2010-02-23 15:22:16
Rubi
Итак потратил сегодняшний день на изучение ALTQ, по пунктам 1, 2, 3, всё получилось про 4-ый можно забыть, на мой взгляд не выйдет.

Мой pf.confg

Код: Выделить всё

ext="rl0"
int="re0"

table <PRNET> {192.168.0.0/16,10.100.0.0/14}
Server=10.10.77.2
User1=10.10.77.3
User2=10.10.77.4
User3=10.10.77.5

altq on $int bandwidth 100Mb hfsc queue{pri_iinternet,std_internet, pri_provider, std_provider, default}
altq on $ext bandwidth 100Mb hfsc queue{pri_ointernet,std_internet, pri_provider, std_provider, default}


#                               ОЧЕРЕДИ ДЛЯ ПРИВЕЛИГИРОВАННЫХ  ПОЛЬЗОВАТЕЛЕЙ                            #

queue pri_iinternet bandwidth 9Mb hfsc (upperlimit 9Mb){iinet_server,iinet_user1}
        queue iinet_server bandwidth 48% priority 3 qlimit 500 hfsc (realtime 2Mb)
        queue iinet_user1 bandwidth 48% priority 3 qlimit 500 hfsc (realtime 2Mb)

queue pri_ointernet bandwidth 9Mb hfsc (upperlimit 9Mb){oinet_server,oinet_user1}
        queue oinet_server bandwidth 48% priority 4 qlimit 500 hfsc (realtime 2Mb)
        queue oinet_user1 bandwidth 48% priority 3 qlimit 500 hfsc (realtime 2Mb)

queue pri_provider bandwidth 20Mb hfsc (upperlimit 20Mb) {pr_server, pr_user1}
        queue pr_server bandwidth 49% priority 1 qlimit 500 hfsc (realtime 9Mb)
        queue pr_user1 bandwidth 49% priority 2 qlimit 500 hfsc (realtime 9Mb)


#                               ОЧЕРЕДИ ДЛЯ ОБЫЧНЫХ ПОЛЬЗОВАТЕЛЕЙ                                 #

queue std_internet bandwidth 1Mb hfsc (upperlimit 1Mb){inet_user2,inet_user3}
        queue inet_user2 bandwidth 48% priority 2 qlimit 500 hfsc (realtime 500Kb)
        queue inet_user3 bandwidth 48% priority 2 qlimit 500 hfsc (realtime 500Kb)

queue std_provider bandwidth 4Mb hfsc(red,upperlimit 4096Kb){pr_user2,pr_user3}
        queue pr_user2 bandwidth 49% hfsc (realtime 2Mb)
        queue pr_user3 bandwidth 49% hfsc (realtime 2Mb)

queue default bandwidth 66% priority 0 hfsc (default)


#              ИСХОДЯЩИЕ ОТ ПОЛЬЗОВАТЕЛЕЙ В СЕТЬ ПРОВАЙДЕРА
pass out quick on $ext from $Server to <PRNET> queue pr_server no state
pass out quick on $ext from $User1 to <PRNET> queue pr_user1 no state
pass out quick on $ext from $User2 to <PRNET> queue pr_user2 no state
pass out quick on $ext from $User3 to <PRNET> queue pr_user3 no state

#               ВХОДЯЩИЕ ИЗ СЕТИ ПРОВАЙДЕРА К ПОЛЬЗОВАТЕЛЯМ
pass out quick on $int from <PRNET> to $Server queue pr_server no state
pass out quick on $int from <PRNET> to $User1 queue pr_user1 no state
pass out quick on $int from <PRNET> to $User2 queue pr_user2 no state
pass out quick on $int from <PRNET> to $User3 queue pr_user3 no state

#               ИСХОДЯЩИЕ ОТ ПОЛЬЗОВАТЕЛЕЙ В ИНТЕРНЕТ
pass out quick on $ext from $Server to any queue oinet_server no state
pass out quick on $ext from $User1 to any queue oinet_user1 no state
pass out quick on $ext from $User2 to any queue inet_user2 no state
pass out quick on $ext from $User3 to any queue inet_user3 no state

#               ВХОДЯЩИЕ ИЗ ИНТЕРНЕТА К ПОЛЬЗОВАТЕЛЯМ
pass out quick on $int from any to $Server queue iinet_server no state
pass out quick on $int from any to $User1 queue iinet_user1 no state
pass out quick on $int from any to $User2 queue inet_user2 no state
pass out quick on $int from any to $User3 queue inet_user3 no state

Re: FreeBSD в качестве коммутатора (QoS)

Добавлено: 2010-02-23 16:27:22
schizoid
по-моему pf не умеет шейпить входящий трафик, только исходящий с интерфейса

Re: FreeBSD в качестве коммутатора (QoS)

Добавлено: 2010-02-23 16:34:38
Rubi
Извиняюсь, и причем здесь это?

Re: FreeBSD в качестве коммутатора (QoS)

Добавлено: 2010-02-24 15:51:30
schizoid
ну так, что б знали, мало ли ;)