установка флагов DSCP в IP пакетах во FreeBSD

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
57EA17h
рядовой
Сообщения: 18
Зарегистрирован: 2010-03-03 11:02:13
Контактная информация:

установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение 57EA17h » 2010-03-03 11:22:02

Доброго времени суток.
Возникла необходимость накладывать различные правила на обработку трафика в зависимости от того, откуда он пришел. Проблема в том, что есть NAT, соответственно на точке, где трафик обрабатывается нет возможности обрабатывать адрес источника.
Логично в этом случае отклассифицировать трафик на нате, установив DSCP биты в зависимости от классов сервиса и уже потом их использовать для наложения правил. NAT выполняется на машинке:

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

FreeBSD host.domen.ru 7.2-RELEASE-p6 FreeBSD 7.2-RELEASE-p6
при помощи ng_nat.
Так вот, внимательно читая маны по ipfw так и не нашел возможности работы с DiffServ битами. С помощью гугла нашел лишь патч к ядру от 2006 года:
http://www.freebsd.org/cgi/query-pr.cgi?pr=102471
Так понимаю, что особого смысла от него уже нет. Подскажите, в какую сторону копать с текущей версией FreeBSD для работы с DSCP?
Деньги надо зарабатывать кровью и потом. Кровью врагов и потом рабов.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

57EA17h
рядовой
Сообщения: 18
Зарегистрирован: 2010-03-03 11:02:13
Контактная информация:

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение 57EA17h » 2010-03-05 12:47:41

up!
Неужели никто не занимался хотя бы QoS на фре? Должен же быть в сетевой ОСи подобный инструментарий?
Деньги надо зарабатывать кровью и потом. Кровью врагов и потом рабов.

Аватара пользователя
lolwut
мл. сержант
Сообщения: 123
Зарегистрирован: 2010-01-26 4:39:23

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение lolwut » 2010-03-09 19:41:55

ЕМНИМС фря не умеет DSCP ставить ... красьте трафик на свиче в который она воткнута (D-Link DES-3526 100% позволяет и COS и DSCP менять ну или каталиста ставьте)

57EA17h
рядовой
Сообщения: 18
Зарегистрирован: 2010-03-03 11:02:13
Контактная информация:

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение 57EA17h » 2010-03-31 15:03:18

Видимо да... В крайнем случае я тоже дошел до такой же мысли..
Деньги надо зарабатывать кровью и потом. Кровью врагов и потом рабов.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение terminus » 2010-03-31 15:11:31

ipfw tag не поможет разве? :unknown:
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
lolwut
мл. сержант
Сообщения: 123
Зарегистрирован: 2010-01-26 4:39:23

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение lolwut » 2010-03-31 19:57:47

terminus писал(а):ipfw tag не поможет разве? :unknown:
man ipfw
man ipfw писал(а): tag number
When a packet matches a rule with the tag keyword, the numeric
tag for the given number in the range 1..65534 will be attached
to the packet. The tag acts as an internal marker (it is not
sent out over the wire)
that can be used to identify these pack-
ets later on.
внимательно читаем выделенный текст

Аватара пользователя
budmo
рядовой
Сообщения: 18
Зарегистрирован: 2010-04-04 11:48:38

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение budmo » 2010-04-05 22:51:51

Похожую задачу для внутреннего трафика решал с помощью TTL.

orlov
рядовой
Сообщения: 25
Зарегистрирован: 2008-12-03 4:41:01

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение orlov » 2010-05-14 8:24:15

Up-аю тему. Ибо актуально. Есть задача. Одна из составляющей задачи - анализ полей DSCP в пакетах. Т.е. в качестве бордера стоит FreeBSD. В ядре есть несколько маршрутизаторов Cisco. В моем случае циски раскрашивают трафик маркерами DSCP, а бордер на базе FreeBSD должен реагировать на выставленные маркеры и что-то делать с тарфиком. Есть куча мэйл-листов, где часто отписывается некий Вадим Гончаров. Отписал ему на мыло, пока молчит. Патч вроде какой-то нагуглил. Применил. Эффекта ноль. Функционала DSCP в ipfw не появилось. Может кто-то уже делал?

Аватара пользователя
lolwut
мл. сержант
Сообщения: 123
Зарегистрирован: 2010-01-26 4:39:23

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение lolwut » 2010-05-14 12:20:52

2 orlov
сэр, у Вас, к сожалению, всего 2 пути - поставить в качестве бордера:
1. линух, т.к. оно вроде знает про метки
2. циску (тут Вы все и сами знаете ;))
потому что на фре пока нет гарантированно рабочего решения для работы с ToS/DSCP :( по крайней мере я не встречал, а все что когда-то пробывал толком не работало да и не актуально оно уже, т.к. было во времена то ли последних 4-х версий, то ли первых 5-х ...

orlov
рядовой
Сообщения: 25
Зарегистрирован: 2008-12-03 4:41:01

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение orlov » 2010-05-14 15:13:33

ну ipprecedence точно работает. Ладно, попробую. Может чего получится.
Тестовый стенд-то уже собрал. :smile: Не пропадать же добру.
Много где говорят, что и dummynet хреново работает.
Но

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

[root@Gate /]# uname -a
FreeBSD Gate 7.2-RELEASE FreeBSD 7.2-RELEASE #3: Mon Feb  8 15:15:05 UTC 2010     admin@Gate:/usr/src/sys/i386/compile/PAE  i386
[root@Gate /]#
и

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

[root@Gate /]# ipfw pipe show | grep ip | wc -l
    4714
[root@Gate /]#
Отпишусь вобщем о результатах.

orlov
рядовой
Сообщения: 25
Зарегистрирован: 2008-12-03 4:41:01

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение orlov » 2010-05-18 5:25:52

На данный момент новости такие.
Сегодняшний ipfw умеет только заглядывать в поле ToS и анализировать только биты IPprecedence.

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

[root@test /etc]# ipfw show
65000 22787950 18275284714 allow ip from any to any
65535       32        1752 deny ip from any to any
[root@test /etc]# ipfw add 00100 count ip from any to any ipprecedence 5
00100 count ip from any to any ipprecedence 5
[root@test /etc]# ipfw show
00100        0           0 count ip from any to any ipprecedence 5
65000 22788652 18275831521 allow ip from any to any
65535       32        1752 deny ip from any to any
[root@test /etc]#
Менять их нельзя. Нужно накладывать патч для того, чтобы ipfw умел менять эти биты.
Списался с Marcelo Araujo, который в 2008 году разработал patch для ipfw, который позволяет утсанавливать биты IPprecedence и DSCP в поле ToS пакетов.
Он указал на то, что его патч работает только с ipfw revision number 1.118.
Сказал, что нужно собрать ipfw именно этой ревизии. Подскажите кто-нидь, как узнать номер ревизии существующего ipfw и как собрать ipfw нужной ревизии.
Сам не могу допереть. Marcelo указал на то, что можно это сделать через cvsup. Сам давно пользуюсь cvsup-without-gui, но вот как сдернуть исходники ipfw определенной ревизии не знаю. Гугл и маны не помогли особо.

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение FreeBSP » 2010-05-20 12:40:34

а теги vlan не выход?
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

orlov
рядовой
Сообщения: 25
Зарегистрирован: 2008-12-03 4:41:01

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение orlov » 2010-05-25 4:09:23

FreeBSP писал(а):а теги vlan не выход?
Чета не понял. Вы о CoS чтоле, в смысле спецификация 802.1p?

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение BlackCat » 2010-05-25 11:56:42

57EA17h, посмотрите в сторону pf, конкретнее: работа с полем ToS. Это не самый лучший выход - использовать левый МСЭ, но за-то быстрый.

orlov
рядовой
Сообщения: 25
Зарегистрирован: 2008-12-03 4:41:01

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение orlov » 2010-05-26 2:19:38

А можно ссылочку хоть какую-нибудь?

orlov
рядовой
Сообщения: 25
Зарегистрирован: 2008-12-03 4:41:01

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение orlov » 2010-05-26 2:20:34

И еще, люди, может все-таки кто-то знает как сдернуть исходники ipfw определенной ревизии?

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение BlackCat » 2010-05-26 7:11:58

orlov писал(а):А можно ссылочку хоть какую-нибудь?
Конечно, вот она: man pf.conf, далее - поиском по фразе "tos".
Странно, имеется подозрение, что под FreeBSD отсутствует возможность установки флагов. Вот оригинальное обсуждение OpenBSD версии: http://groups.google.com/group/bit.list ... wc=1&pli=1.

orlov
рядовой
Сообщения: 25
Зарегистрирован: 2008-12-03 4:41:01

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение orlov » 2010-05-26 7:50:00

Совершенно верно. В том-то и дело, что существующие механизмы позволяют только заглядывать в поле ToS, но нужно как раз вытсавить значение в этом поле.

Аватара пользователя
BlackCat
прапорщик
Сообщения: 469
Зарегистрирован: 2007-10-16 22:40:42

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение BlackCat » 2010-05-26 8:44:05

orlov писал(а):Совершенно верно. В том-то и дело, что существующие механизмы позволяют только заглядывать в поле ToS, но нужно как раз вытсавить значение в этом поле.
Тогда остаётся модификация исходников, но здесь могу помочь только добрым словом. Или в качестве другой крайней меры - смена ОС/железа.
=====
В своём первом сообщении вы писали:
orlov писал(а):бордер на базе FreeBSD должен реагировать на выставленные маркеры и что-то делать с тарфиком
, теперь потребовалось ещё и выставлять метки?

orlov
рядовой
Сообщения: 25
Зарегистрирован: 2008-12-03 4:41:01

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение orlov » 2010-05-26 9:14:08

Да, согласен. Чуть не так задачу расписал.
Надо как раз средствами FreeBSD раскрасить трафик величинами ToS.
Железо сменить не получится у меня. На циску денег пока не дают. Так что надо решать теми средствами, что есть. Сейчас жду ответа Marcello по поводу сбора ipfw определенной ревизии, сказал, что поможет. О результатах конечно отпишусь

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение terminus » 2010-07-16 18:52:34

Во новость
http://nuclight.livejournal.com/126002.html

Кто хотел DSCP? :Bravo:
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

orlov
рядовой
Сообщения: 25
Зарегистрирован: 2008-12-03 4:41:01

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение orlov » 2010-07-17 6:57:18

угу, зергут. Спасибо.
Вадим таки добился коммита. Молоток. Надо теперь будет попробовать.

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение FreeBSP » 2010-07-19 14:17:23

найс =))
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

s3men
проходил мимо

Re: установка флагов DSCP в IP пакетах во FreeBSD

Непрочитанное сообщение s3men » 2014-10-04 13:24:23

Наткнулся на необходимость установки dscp во фряхе, напоролся на вашу статейку.
Возрадуемся, в 10-RELEASE закомиттили код по работе с dscp: https://wiki.freebsd.org/WhatsNew/FreeBSD10
экшн ipfw setdscp для установки
и паттерн dscp для проверки