|
|
www.lissyara.su
—> статьи
—> FreeBSD
—> настройка
—> ALTQ в IPFW
ALTQ в IPFW
Автор: Covax.
Предистория. Работа у нас сложная и напряжённая, о чём свидетельствуют протёртые клавиши W A S D на клавиатуре, а канал в инет не резиновый (к нашему всеобщему сожалению). Загвоздка состояла в том, что когда начинали активно серфить или кто-то осмеливался ещё и качать, то пинг в любой игре подскакивал до неприлично больших значений, ну и конечно большая вероятность дисконекта. На шлюзе стоит FreeBSD 7.0 Release с настроенным ipfw и претензий к нему нет. Именно поэтому при возникновении необходимости в altq я полез копаться в pf. Настроил, всё прекрасно заработало. Косяк вылез при редиректе на squid из-за того, что в FreeBSD 7 в pf по умолчанию включен keep state, а в rdr он не убирается. Убил неделю, но, как говорится: "А ларчик то просто открывался!". Настроенный ipfw переводится на работу с ALTQ за несколько минут.
Теперь по порядку:
Естественно надо ядро с поддержкой ALTQ, а именно:
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_CDNR
options ALTQ_PRIQ
options ALTQ_NOPCC #нужен для для SMP
options ALTQ_DEBUG
| PF (можно модулем подгружать, но не пробовал) для добавления очередей ALTQ (ipfw сам не умеет):
device pf #обязательно
device pflog #остальное по желанию
device pfsync
| Правим /etc/rc.conf и добавляем:
pf_enable="YES"
pf_rule="/etc/pf.conf"
| В /etc/pf.conf только включаем altq и прописываем очереди.
altq on $ext_if bandwidth 1000Kb priq queue {def_out, game_out}
queue def_out priority 1 priq(default red)
queue game_out priority 5 priq(red)
altq on $int_if bandwidth 1000Kb cbq queue {def_in, game_in}
queue def_in bandwidth 872Kb cbq(default borrow red)
queue game_in bandwidth 128Kb priority 7 cbq(borrow red)
| Подробно очереди описывать не буду, в интернете множество примеров.
Ну и теперь надо завернуть в очереди трафик из ipfw. При настроенном ipfw, делается это очень удобно через конструкцию count
ipfw add 1 count altq game_out all from any to any 8112 out via $ext_if
ipfw add 2 count altq game_in all from any 8112 to any out via $int_if
...
| Ну и т.д. Все, кто не попал в очередь идут в дефолтную.
Для удобства ставим pftop и радуемся работе ALTQ в ifpw.
З.Ы. Замечания по man`у ipfw. При попадании пакета в несколько очередей срабатывает первое. Заворачивать в очереди надо до check-state и keep-state.
Ну, вот, как-то так...
Литература:
FAQ по ALTQ (eng)
FAQ по ALTQ (rus)
Настройка PF (rus)
Полезно у кого асинхронный канал (eng)
Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?f=8&t=8379.
размещено: 2008-05-20,
последнее обновление: 2008-05-20,
автор: Covax
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
|
Статистика сайта
|
Сейчас на сайте находится: 64 чел.
|
За последние 30 мин было: 158 человек
|
За сегодня было 3936 показов, 1008 уникальных IP
|
|
|
|
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
|
|
|
Комментарии пользователей [17 шт.]