ipfw add pipe ( входящий - исходящий трафик )

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
V1talya
мл. сержант
Сообщения: 122
Зарегистрирован: 2007-07-23 9:36:52
Откуда: г. Нерюнгри
Контактная информация:

ipfw add pipe ( входящий - исходящий трафик )

Непрочитанное сообщение V1talya » 2007-08-13 17:21:25

Управлять можно же входящей и исходящей скоростью ?

Правильно вот так будет:

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

 Исходящий трафик
${fwcmd} add pipe 1 ip from 81.X.X.Y to not 81.X.X.X out via re1
${fwcmd} pipe 1 config bw 32kbit
 Входящий трафик
${fwcmd} add pipe 2 ip from not 81X.X.X.X to 81.X.X.Y in via re1
${fwcmd} pipe 2 config bw 32kbit
Будет ли так работать ?
( Я не пробовал, решил сначала лучше спросить )
Debian GNU/Linux 4.0
FreeBSD 6.2

Хостинговая компания 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/

Аватара пользователя
OSBoy
сержант
Сообщения: 228
Зарегистрирован: 2007-04-09 12:17:50
Откуда: Из капусты

Re: ipfw add pipe ( входящий - исходящий трафик )

Непрочитанное сообщение OSBoy » 2007-08-13 18:07:21

V1talya писал(а):Управлять можно же входящей и исходящей скоростью?
......
Будет ли так работать ?
Будет, только не совсем так конфиг пишется! Ограничивать входящий на роутер трафик НЕЛЬЗЯ! А нужно ограничивать исходящий с роутера к клиенту (то есть для клиента он будет входящий).

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

 Исходящий трафик
${fwcmd} add pipe 1 ip from 81.X.X.Y to not 81.X.X.X out recv внутр_интерф xmit внеш_интерф
${fwcmd} pipe 1 config bw 32kbit
 Входящий трафик
${fwcmd} add pipe 2 ip from not 81.X.X.X to 81.X.X.Y out recv внеш_интерфейс xmit внутр_интерф
${fwcmd} pipe 2 config bw 32kbit
Примерно так.

Аватара пользователя
V1talya
мл. сержант
Сообщения: 122
Зарегистрирован: 2007-07-23 9:36:52
Откуда: г. Нерюнгри
Контактная информация:

Re: ipfw add pipe ( входящий - исходящий трафик )

Непрочитанное сообщение V1talya » 2007-08-14 2:36:35

А я и не ограничивая всходящий трафик на роутер
Схема работа:

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

Машины которые имеют реальный IP ---- Свитч ---- (re1-смотрит в сторону свитча) Роутер (re0 включена напрямую в спутниковый терминал) (gif0 связь с провайдером)
У нас спутниковый провайдер работает через IPSec

Получается я входящий трафик на сам роутер не режу, так же ? тогда мои правила должны быть правильными ? или все таки они не правильные ?
Debian GNU/Linux 4.0
FreeBSD 6.2

Аватара пользователя
OSBoy
сержант
Сообщения: 228
Зарегистрирован: 2007-04-09 12:17:50
Откуда: Из капусты

Re: ipfw add pipe ( входящий - исходящий трафик )

Непрочитанное сообщение OSBoy » 2007-08-14 12:12:15

Я под роутером подразумеваю твою машину с шейпером (ipfw/dummynet)
А судя вот по этой строчке:

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

${fwcmd} add pipe 2 ip from not 81X.X.X.X to 81.X.X.Y in via re1
ты режешь входящий на машину (сервер/роутер/шлюз/как угодно...) трафик через интерфейс re1, чего делать не надо!
Почитай вот тут, в частности после первого значка с указательным пальцем!

Аватара пользователя
V1talya
мл. сержант
Сообщения: 122
Зарегистрирован: 2007-07-23 9:36:52
Откуда: г. Нерюнгри
Контактная информация:

Re: ipfw add pipe ( входящий - исходящий трафик )

Непрочитанное сообщение V1talya » 2007-08-15 3:16:35

Вроде дошло :)

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

Исходящий трафик - C 81.X.X.Y через re1
${fwcmd} add pipe 1 ip from 81.X.X.Y to not 81.X.X.X out via re1
${fwcmd} pipe 1 config bw 32kbit
Входящий трафик - На 81.X.X.Y через gif0
${fwcmd} add pipe 2 ip from any to 81.X.X.Y out via gif0
${fwcmd} pipe 2 config bw 32kbit
Полазил по инету, негде не нашел что б кто-нибудь упоминал на счет вот этого: ( что это надо делать )

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

${fwcmd} add pipe 10 ip from any to any tcpflags ack iplen 0-128
${fwcmd} pipe 10 config bw 100Mbit/s
А в статье lissyara http://www.lissyara.su/?id=1071 про это есть...
Надо ли это делать или и без этого нормально будет работать шейпинг ?
(или лучше сделать ? хуже не будет же :) ? )
Если файрволл есть, то в него надо добавить следующие строки (в самом верху):
Правила pipe получается лучше делать до основных правил ?
Или если указан параметр "net.inet.ip.fw.one_pass=0" то без разницы ? ( верху они или в низу )

И Вот что у меня получилось ipfw pipe show

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

00001:   8.000 Kbit/s    0 ms   50 sl. 0 queues (1 buckets) droptail
00002:   8.000 Kbit/s    0 ms   50 sl. 0 queues (1 buckets) droptail
Это нормально ? или я опять что-то не того сделал ?

http://www.nt.com.ua/info/ipfw/ar01s03.shtml#id2815870
Просмотреть информацию о канале, можно с помощью команды

# ipfw pipe 1 list
00001: 80.000 Kbit/s 0 ms 50 sl. 1 queues (1 buckets) droptail
mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
0 tcp 192.168.15.199/80 192.168.15.254/52995 12365 15440683 0 0 1
Странно а у меня такой информации нету... значит ли это что я что-то все таки не так сделал ?
Debian GNU/Linux 4.0
FreeBSD 6.2

Аватара пользователя
OSBoy
сержант
Сообщения: 228
Зарегистрирован: 2007-04-09 12:17:50
Откуда: Из капусты

Re: ipfw add pipe ( входящий - исходящий трафик )

Непрочитанное сообщение OSBoy » 2007-08-15 11:16:58

Что касается iplen - это уже "тонкая настройка", надо оно тебе или нет - решать тебе, у меня например и без этого всё неплохо работает.
Пайпы в любом случае лучше добавлять до основных правил, или даже лучше после запрещающих всё лишнее но перед разрешающими всё нужное, дивертами, форвардами и т.п.
Странно а у меня такой информации нету... значит ли это что я что-то все таки не так сделал ?
Судя вот по этому:

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

00001:   8.000 Kbit/s    0 ms   50 sl. 0 queues (1 buckets) droptail
00002:   8.000 Kbit/s    0 ms   50 sl. 0 queues (1 buckets) droptail
Видимо пайпы нормально создались, но через них просто ещё ничего не было пропущено...
Только вот не понятно, почему 8кбит, если ты в конфиге пишешь 32...

Аватара пользователя
V1talya
мл. сержант
Сообщения: 122
Зарегистрирован: 2007-07-23 9:36:52
Откуда: г. Нерюнгри
Контактная информация:

Re: ipfw add pipe ( входящий - исходящий трафик )

Непрочитанное сообщение V1talya » 2007-08-15 12:02:58

Только вот не понятно, почему 8кбит, если ты в конфиге пишешь 32...
Я пробовал с разными параметрами...

Все заработало с такой конструкцией:

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

Исходящий трафик
${fwcmd} add pipe 1 ip from 81.X.X.Y to not 81.X.X.X via re1
${fwcmd} pipe 1 config bw 32kbit
Входящий трафик
${fwcmd} add pipe 2 ip from not 81X.X.X.X to 81.X.X.Y via re1
${fwcmd} pipe 2 config bw 32kbit
Только вот правильно или нет хз... работает да и ладно :)

ipfw pipe show

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

ipfw pipe show
00001:  32.000 Kbit/s    0 ms   50 sl. 1 queues (1 buckets) droptail
    mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
  0 tcp   81.222.YY.XX/80     194.186.55.206/63746 1590  1117558 34 35832 129
00002:  32.000 Kbit/s    0 ms   50 sl. 1 queues (1 buckets) droptail
    mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
  0 tcp       74.6.24.31/36744  81.222.YY.XX/80    1603   169269  0    0   0
00003:  32.000 Kbit/s    0 ms   50 sl. 1 queues (1 buckets) droptail
    mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
  0 tcp   81.222.YY.XY/37227     64.12.26.81/5190  1738   148335  0    0   0
00004:  32.000 Kbit/s    0 ms   50 sl. 1 queues (1 buckets) droptail
    mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
  0 tcp    205.188.5.252/5190   81.222.YY.XY/44405 1719   357739  0    0  28
Drp - это drop что ли ? как с ними бороться ?
Debian GNU/Linux 4.0
FreeBSD 6.2

Аватара пользователя
V1talya
мл. сержант
Сообщения: 122
Зарегистрирован: 2007-07-23 9:36:52
Откуда: г. Нерюнгри
Контактная информация:

Re: ipfw add pipe ( входящий - исходящий трафик )

Непрочитанное сообщение V1talya » 2007-08-15 12:57:25

Поставил
queue 100 (хотел больше но ipfw сказал что <=100 )

Как еще можно увеличить очередь ?
Debian GNU/Linux 4.0
FreeBSD 6.2

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: ipfw add pipe ( входящий - исходящий трафик )

Непрочитанное сообщение dikens3 » 2007-08-15 14:31:28

http://www.nag.ru/2005/1106/1106.shtml
Почитай тут, много полезного.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
OSBoy
сержант
Сообщения: 228
Зарегистрирован: 2007-04-09 12:17:50
Откуда: Из капусты

Re: ipfw add pipe ( входящий - исходящий трафик )

Непрочитанное сообщение OSBoy » 2007-08-15 16:13:32

V1talya писал(а):Поставил
queue 100 (хотел больше но ipfw сказал что <=100 )

Как еще можно увеличить очередь ?
Безмерно увеличивать размер очереди тоже не желательно, поскольку это приводит к большим задержкам. Ещё можешь вот тут почитать...
Так что надо искать компромис между задержками и дропами. Для этого стоит применять алгоритм RED или GRED. Почитать по этой теме можно например тут.

Аватара пользователя
V1talya
мл. сержант
Сообщения: 122
Зарегистрирован: 2007-07-23 9:36:52
Откуда: г. Нерюнгри
Контактная информация:

Re: ipfw add pipe ( входящий - исходящий трафик )

Непрочитанное сообщение V1talya » 2007-08-15 16:54:52

Почитал, везде одно и тоже :)
Сколько не пробовал ставить в queue, много все ровно пакетов дропаеться блин... ( или может мне не судьба понять )
Debian GNU/Linux 4.0
FreeBSD 6.2