ipfw pipe

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
squid
лейтенант
Сообщения: 683
Зарегистрирован: 2007-05-25 11:32:23
Откуда: Украина, Киев
Контактная информация:

ipfw pipe

Непрочитанное сообщение squid » 2007-10-11 20:16:32

привет
есть безлимитный интернет, но поскольку он безлимитный все хотят много качать
в итоге получаются такие моменты что пытаешся пойти на любимый форум :D , а тебе болт большой причем
но когда никто не сидит в нете, хочется использовать канал на полную
пришло решение поделить канал
несколько труб не хочется создавать, поскольку те кто качает не смогут выйти за пределы трубы и будут качать с определенной скоростью
вот нашел решение с помощью веса пакета, хотелось бы услышать на сколько это кошерно и может существует более рабочий вариант, потому что этот мне не очень нравится, поскольку он висит на сетевухе что смотрит внутрь сети
пытался поставить на ng0 но там стоит нат, не работает с такими правилами
собственно настройки файервола:

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

#!/bin/sh
#
fwcmd="/sbin/ipfw -q"
inet_if="ng0" # смотрит в нет
pipe_if="xl0" # смотрит в локалку

my_ip="10.12.0.5,192.168.132.5" # мои айпи
proxy_ip="10.12.0.3"          # обычные пользователи
down_ip="192.168.71.0/24"  # те кто много качает

${fwcmd} flush
${fwcmd} pipe flush
${fwcmd} queue flush

${fwcmd} pipe 1 config bw 128Kbits # upload 
${fwcmd} pipe 2 config bw 512Kbits # download

${fwcmd} queue 1 config pipe 1 weight 60
${fwcmd} queue 11 config pipe 2 weight 60

${fwcmd} queue 2 config pipe 1 weight 30
${fwcmd} queue 21 config pipe 2 weight 30

${fwcmd} queue 3 config pipe 1 weight 10
${fwcmd} queue 31 config pipe 2 weight 10

${fwcmd} add queue 1 ip from $my_ip to any in via $pipe_if
${fwcmd} add queue 11 ip from any to $my_ip out via $pipe_if

${fwcmd} add queue 2 ip from $proxy_ip to any in via $pipe_if
${fwcmd} add queue 21 ip from any to $proxy_ip out via $pipe_if

${fwcmd} add queue 3 ip from $down_ip to any in via $pipe_if
${fwcmd} add queue 31 ip from any to $down_ip out via $pipe_if
# далее идет natd
хех..

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

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

Re: ipfw pipe

Непрочитанное сообщение dikens3 » 2007-10-11 20:20:58

Что именно не работает то?
ipfw pipe show не помогает?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
squid
лейтенант
Сообщения: 683
Зарегистрирован: 2007-05-25 11:32:23
Откуда: Украина, Киев
Контактная информация:

Re: ipfw pipe

Непрочитанное сообщение squid » 2007-10-11 20:36:45

все работает, только на xl0 а вот на ng0 не получается перенести
правила там работают только на исходящий трафик
а входящий никак нельзя прикрутить поскольку у него один айпи (natd)

====================
вообще интересует мнение all, кто сталкивался с pipe, может существует более рациональное решение?
хех..

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35466
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: ipfw pipe

Непрочитанное сообщение Alex Keda » 2007-10-11 20:58:48

я, помница по трубе на IP делал.
на свой - пошире :)
Убей их всех! Бог потом рассортирует...

Аватара пользователя
squid
лейтенант
Сообщения: 683
Зарегистрирован: 2007-05-25 11:32:23
Откуда: Украина, Киев
Контактная информация:

Re: ipfw pipe

Непрочитанное сообщение squid » 2007-10-12 8:23:17

и еще такой вопрос, в эту трубу все попадут или кто первый попадет, а все остальные мимо ?
хех..

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35466
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: ipfw pipe

Непрочитанное сообщение Alex Keda » 2007-10-12 8:28:37

squid писал(а):и еще такой вопрос, в эту трубу все попадут или кто первый попадет, а все остальные мимо ?
дак я по IP делал
Убей их всех! Бог потом рассортирует...

Аватара пользователя
squid
лейтенант
Сообщения: 683
Зарегистрирован: 2007-05-25 11:32:23
Откуда: Украина, Киев
Контактная информация:

Re: ipfw pipe

Непрочитанное сообщение squid » 2007-10-12 8:34:38

а если по этим правилам что я написал ?
хех..

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35466
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: ipfw pipe

Непрочитанное сообщение Alex Keda » 2007-10-12 8:42:31

squid писал(а):а если по этим правилам что я написал ?
а фиг знат.. :)
========
в подписи, если правильно, то последнее слово должно быть 'хочИт', поскольку первое из рифмы, через И :)
Убей их всех! Бог потом рассортирует...

Аватара пользователя
squid
лейтенант
Сообщения: 683
Зарегистрирован: 2007-05-25 11:32:23
Откуда: Украина, Киев
Контактная информация:

Re: ipfw pipe

Непрочитанное сообщение squid » 2007-10-12 8:46:42

дописал log
вроде отрабатывает
посмотрим, будет ли падать канал
==========================
звыняюсь за плагиат, но фраза прикольная ;)
хех..

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35466
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: ipfw pipe

Непрочитанное сообщение Alex Keda » 2007-10-12 8:59:24

хе - боян боянов :)
Убей их всех! Бог потом рассортирует...

Аватара пользователя
squid
лейтенант
Сообщения: 683
Зарегистрирован: 2007-05-25 11:32:23
Откуда: Украина, Киев
Контактная информация:

Re: ipfw pipe

Непрочитанное сообщение squid » 2007-10-12 9:23:26

все новое - это хорошо забытое старое :D
хех..

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

Re: ipfw pipe

Непрочитанное сообщение dikens3 » 2007-10-12 10:18:03

Есть к примеру такое:
${fwcmd} pipe 1 config bw 700Kbit/s
${fwcmd} queue 1 config pipe 1 queue 50 mask src-ip 0xffffffff
В работе выглядит так:

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

00001: 700.000 Kbit/s    0 ms   50 sl. 0 queues (1 buckets) droptail
    mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
q00001: weight 1 pipe 1   50 sl. 30 queues (64 buckets) droptail
    mask: 0x00 0xffffffff/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
 2 ip     192.168.27.213/0             0.0.0.0/0     1405   155838  0    0   0
 4 ip      192.168.27.22/0             0.0.0.0/0      144     6912  0    0   0
 6 ip      192.168.27.23/0             0.0.0.0/0     5017   654673  0    0   0
 8 ip     192.168.27.176/0             0.0.0.0/0     7471   786432  0    0   0
 10 ip     192.168.27.177/0             0.0.0.0/0     14392  1534411  0    0   0
 12 ip     192.168.27.114/0             0.0.0.0/0     1128   114294  0    0   0
 14 ip     192.168.27.211/0             0.0.0.0/0     14136  1627718  0    0   0
 16 ip      192.168.27.28/0             0.0.0.0/0      130     7112  0    0   0
 18 ip     192.168.27.157/0             0.0.0.0/0     2768   260571  0    0   0
 20 ip     192.168.27.254/0             0.0.0.0/0      359    41884  0    0   0
 22 ip     192.168.27.223/0             0.0.0.0/0     1877   146785  0    0   0
 24 ip      192.168.27.24/0             0.0.0.0/0       91     6275  0    0   0
 26 ip     192.168.27.153/0             0.0.0.0/0     11131  1094149  0    0   0
 28 ip     192.168.27.154/0             0.0.0.0/0      306    62114  0    0   0
 30 ip      192.168.27.27/0             0.0.0.0/0     20421  2199838  0    0   0
 32 ip       192.168.27.4/0             0.0.0.0/0     34659  3136810  0    0   0
 34 ip     192.168.27.197/0             0.0.0.0/0     1544    68389  0    0   0
 36 ip     192.168.27.102/0             0.0.0.0/0      138     6284  0    0   0
 38 ip     192.168.27.199/0             0.0.0.0/0       11      528  0    0   0
 40 ip     192.168.27.224/0             0.0.0.0/0     34572  1471885  0    0   0
 42 ip     192.168.27.161/0             0.0.0.0/0     13356  1735781  0    0  27
 44 ip       192.168.27.2/0             0.0.0.0/0     5734   397062  0    0   0
 46 ip       192.168.27.3/0             0.0.0.0/0      284    16083  0    0   0
 48 ip     192.168.27.204/0             0.0.0.0/0     53485  5080881  0    0   0
 50 ip     192.168.27.109/0             0.0.0.0/0     24360  2962144  0    0   0
 52 ip     192.168.27.110/0             0.0.0.0/0     33815  4403138  0    0   0
 56 ip     192.168.27.200/0             0.0.0.0/0     1200   139505  0    0   0
 58 ip     192.168.27.201/0             0.0.0.0/0     60007  6778468  0    0   0
 60 ip     192.168.27.202/0             0.0.0.0/0     29107  3058431  0    0   0
 62 ip     192.168.27.203/0             0.0.0.0/0     5099   625080  0    0   0
Вот и делят на всех.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

pimlab
прапорщик
Сообщения: 484
Зарегистрирован: 2007-10-09 11:31:03

Re: ipfw pipe

Непрочитанное сообщение pimlab » 2007-10-12 20:32:06

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

#!/bin/sh 

 fwcmd="/sbin/ipfw -q" 

${fwcmd} -f flush
${fwcmd} -f pipe flush
${fwcmd} -f queue flush

#### vsjo v odnu trubu fxp0
${fwcmd} pipe 1 config bw 0 queue 100 mask src-ip 0xffffffff gred 0.002/10/60/0.1
${fwcmd} pipe 2 config bw 0 queue 100 mask dst-ip 0xffffffff gred 0.002/10/60/0.1
#
${fwcmd} add pass  all from any to any via lo0
${fwcmd} add allow all from any to any via xl0

############################################################################
#upload
${fwcmd} queue 1 config pipe 1 weight 50 queue 100 mask src-ip 0xffffffff gred 0.002/10/60/0.1
${fwcmd} queue 2 config pipe 2 weight 50 queue 100 mask dst-ip 0xffffffff gred 0.002/10/60/0.1

#upload 
${fwcmd} add queue 1 all from 192.168.108.0/24{2-30} to any  in recv fxp0
#download
${fwcmd} add queue 2 all from any to 192.168.108.0/24{2-30} out via fxp0
#proxy
${fwcmd} add fwd 127.0.0.1,3128 tcp from 192.168.108.0/24{2-30} to any 8000-8100,79-81,1080,3128  via fxp0 limit dst-addr 320

${fwcmd} add allow all from any to 192.168.108.0/24{2-30} out via fxp0 limit dst-addr 320
${fwcmd} add allow all from 192.168.108.0/24{2-30} to any  in via fxp0 limit src-addr 320

######################################################################################################
Приветствую!
вот собственно мой конфиг.
возможно кому будет интересно.
а вот меня интересует как же работает труба , если у меня нет лимитов на download и upload ?
Цель просто поделить поровну , чтоб всем хватило.
У моего провайдера нет стабильной скорости и сколько я не наблюдаю за трубами , то непонимаю всётаки разруливает она то что есть всем поровну или нет .... Просветите пожалуста
Последний раз редактировалось Alex Keda 2007-10-12 20:46:20, всего редактировалось 1 раз.
Причина: Товарищщи, цените чужое время, юзайте кнопочку [code]...

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

Re: ipfw pipe

Непрочитанное сообщение dikens3 » 2007-10-12 22:31:58

Вывод ipfw pipe show смотри. В моём случае(выше) все делят 700Кbit/sec.
Если будет качать один, у него будет 700Кбит.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
squid
лейтенант
Сообщения: 683
Зарегистрирован: 2007-05-25 11:32:23
Откуда: Украина, Киев
Контактная информация:

Re: ipfw pipe

Непрочитанное сообщение squid » 2007-10-13 11:14:56

проверил, вроде тоже попадают все только в ipfw pipe show попадает первый айпи
включал логирование - туда все
хех..

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

Re: ipfw pipe

Непрочитанное сообщение dikens3 » 2007-10-13 11:17:06

Значит и ограничение работает только на одного.
Пробуй src-ip 0xffffffff или dst-ip 0xffffffff
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Аватара пользователя
squid
лейтенант
Сообщения: 683
Зарегистрирован: 2007-05-25 11:32:23
Откуда: Украина, Киев
Контактная информация:

Re: ipfw pipe

Непрочитанное сообщение squid » 2007-10-13 11:25:32

уже, все попадают вот только

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

16 ip      192.168.27.28/0             0.0.0.0/0      130     7112  0    0   0
0.0.0.0/0 - здесь и должны быть
сейчас у меня там айпи ну то есть без src-ip и dst-ip или это значит что на любой адрес ?
хех..

Аватара пользователя
squid
лейтенант
Сообщения: 683
Зарегистрирован: 2007-05-25 11:32:23
Откуда: Украина, Киев
Контактная информация:

Re: ipfw pipe

Непрочитанное сообщение squid » 2007-10-13 11:34:39

вроде работает
буду тестить
спс всем :)
хех..

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

Re: ipfw pipe

Непрочитанное сообщение dikens3 » 2007-10-13 12:20:20

сейчас у меня там айпи ну то есть без src-ip и dst-ip или это значит что на любой адрес ?
Именно так.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.