| 
 
 
   |   |  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, lissyaragmirror
 Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
 2013-08-20, zentarimScan+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, zentarimWi-FI роутер + DHCP + DNS
 Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
 2011-06-15, -ZG-Охранная система на FreeBSD+LPT
 В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
 2011-03-13, terminusng_nat
 Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
 2011-02-20, КапитанNagios+Digitemp
 Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
 2011-02-17, Le1Zyxel Configuration
 Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
 2011-02-16, foxhast carp zfs ucarp cluster
 HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
 
 | 
	
		| 
	
		| 
			
				
					| Статистика сайта |  
					| Сейчас на сайте находится: 19 чел. |  
					| За последние 30 мин было: 74 человек |  
					| За сегодня было10962 показов,
 1447 уникальных IP
 |  |  |  |   Этот информационный блок появился по той простой причине,
			что многие считают нормальным, брать чужую информацию не уведомляя автора
			(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
			Я не против распространения информации — только за. Только условие простое — извольте
			подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
			незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
			Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
 © lissyara 2006-10-24 08:47 MSK
			
 |   | 
		
		 | 
Комментарии пользователей [17 шт.]