IPFW и PIPE

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
underground
рядовой
Сообщения: 45
Зарегистрирован: 2014-01-30 13:41:40

IPFW и PIPE

Непрочитанное сообщение underground » 2014-12-16 9:01:28

Всем доброго времени суток!!!
Понимаю, что тема избитая, но что-то у меня не получается... Вроде все делаю по Библии, а положительного результата нет...
Нужно ограничить полосу трафика для некоторых пользователей. Решил реализовать с помощью IPFW.
В конце файла с правилами для IPFW прописал две строки:

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

ipfw add pipe 7 ip from any to 192.168.20.52 out via re2
ipfw pipe 7 config bw 512Kbit/s 
После попытки подгрузить правила командой: sh /etc/ipfw.rules выводит сообщение:

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

root@FreeBSD:/ # sh /etc/ipfw.rules
01099 pipe 7 ip from any to 192.168.20.52 out via re2
root@FreeBSD:/ #
При проверке скорости скачки на хосте 192.168.20.52 естественно никаких ограничений нет...

Пробовал делать:
1. Подгружал модуль вручную командой kldload dummynet - не помогло
2. Проверял kldstat:

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

     root@FreeBSD:/ # kldstat
     Id Refs Address    Size     Name
      1   12 0xc0400000 12045b8  kernel
      2    3 0xc6a69000 12000    ipfw.ko
      3    1 0xc6aa3000 4000     ipdivert.ko
      4    1 0xcd641000 d000     dummynet.ko
     root@FreeBSD:/ # 
вроде все подгружено...
3. Пробовал дрписать в файл /etc/rc.conf строку dummynet_enable="YES" - не помогло...

Помогите пожалуйста разобраться, что я делаю не так...

Заранее всем благодарен и признателен за Ваши советы
С уважением
Илья

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

Гость
проходил мимо

Re: IPFW и PIPE

Непрочитанное сообщение Гость » 2014-12-17 11:00:33

Без полного списка правил не помочь.

underground
рядовой
Сообщения: 45
Зарегистрирован: 2014-01-30 13:41:40

Re: IPFW и PIPE

Непрочитанное сообщение underground » 2014-12-17 13:24:51

Прошу прощения... Вот список правил, действующих на данный момент:

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

root@FreeBSD:/ # cat /etc/ipfw.rules

ipfw -q -f flush

LanOut="re1"
LanIn="re2"
IpOut="192.168.0.210"
IpIn="192.168.20.210"
dns1="217.12.81.129"
dns2="217.12.81.131"
cmd="ipfw -q add"
ks="keep-state"
skip="skipto 800"


$cmd 005 allow all from any to any via $LanIn
$cmd 006 allow all from any to any via lo0
$cmd 007 pass tcp from any to 192.168.20.52 8181 in recv $LanOut
$cmd 010 allow tcp from me to any out via $LanOut keep-state uid squid
$cmd 011 fwd 127.0.0.1,3129 tcp from 192.168.20.0/24 to any 80-83, 8080-8088 out via $LanOut
$cmd 012 divert natd ip from any to any in via $LanOut
$cmd 013 check-state

###########################################
#####FOR OUTBOUND TRAFFIC ON OUTSIDE INTERFACE#####
###########################################

$cmd 040 $skip tcp from any to any 80 out via $LanOut setup $ks
$cmd 050 $skip tcp from any to any 443 out via $LanOut setup $ks
$cmd 060 $skip tcp from any to any 25 out via $LanOut setup $ks
$cmd 061 $skip tcp from any to any 110 out via $LanOut setup $ks
$cmd 070 $skip tcp from me to any out via $LanOut setup $ks uid root
$cmd 080 $skip icmp from any to any out via $LanOut $ks
$cmd 090 $skip tcp from any to any 37 out via $LanOut setup $ks
$cmd 100 $skip tcp from any to any 119 out via $LanOut setup $ks
$cmd 110 $skip tcp from any to any 22 out via $LanOut setup $ks
$cmd 120 $skip tcp from any to any 43 out via $LanOut setup $ks
$cmd 130 $skip udp from any to any 123 out via $LanOut $ks


###########################################
#####FOR INCOMING TRAFFIC ON OUTSIDE INTERFACE#####
###########################################

$cmd 301 deny all from 172.16.0.0/12 to any in via $LanOut
$cmd 302 deny all from 10.0.0.0/8 to any in via $LanOut
$cmd 303 deny all from 127.0.0.0/8 to any in via $LanOut
$cmd 304 deny all from 0.0.0.0/8 to any in via $LanOut
$cmd 305 deny all from 169.254.0.0/16 to any in via $LanOut
$cmd 306 deny all from 192.0.2.0/24 to any in via $LanOut
$cmd 307 deny all from 204.152.64.0/23 to any in via $LanOut
$cmd 308 deny all from 224.0.0.0/3 to any in via $LanOut
$cmd 309 deny all from any to any 445 in via $LanOut
$cmd 315 deny tcp from any to any 113 in via $LanOut
$cmd 320 deny tcp from any to any 137 in via $LanOut
$cmd 321 deny tcp from any to any 138 in via $LanOut
$cmd 322 deny tcp from any to any 139 in via $LanOut
$cmd 323 deny tcp from any to any 81 in via $LanOut
$cmd 330 deny all from any to any frag in via $LanOut
$cmd 370 allow tcp from any to me 80 in via $LanOut setup limit src-addr 2
$cmd 380 allow tcp from any to me 22 in via $LanOut setup limit src-addr 2
$cmd 399 deny icmp from any to any in via $LanOut
$cmd 400 allow tcp from any to 192.168.20.2 dst-port 8080,21 via re1
$cmd 401 allow tcp from any to 192.168.20.2 dst-port 8080,21 via re2


$cmd 800 divert natd ip from any to any out via $LanOut
$cmd 801 allow ip from any to any

$cmd 999 deny log all from any to any

ipfw add pipe 7 ip from any to 192.168.20.52 out via re2
ipfw pipe 7 config 7 bw 512Kbit/s

#############THE END###############
root@FreeBSD:/ # 

rmn
старшина
Сообщения: 427
Зарегистрирован: 2008-10-03 18:52:02

Re: IPFW и PIPE

Непрочитанное сообщение rmn » 2014-12-17 16:55:09

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

ipfw add 4 pipe 7 ...

Гость
проходил мимо

Re: IPFW и PIPE

Непрочитанное сообщение Гость » 2014-12-17 18:41:32

Имеется ввиду что правило шейпа должно идти в начале, и не забудь про

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

net.inet.ip.fw.one_pass
, т.к. по умолчанию после шейпера проверка по правилам не будет производиться.

underground
рядовой
Сообщения: 45
Зарегистрирован: 2014-01-30 13:41:40

Re: IPFW и PIPE

Непрочитанное сообщение underground » 2014-12-18 8:43:29

Уважаемый rmn, не могли бы Вы уточнить, если я правильно понял, то полностью правило будет выглядеть следующим образом:

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

ipfw add 4 pipe 7 ip from any to 192.168.20.52 out via re2 net.inet.ip.fw.one_pass
ipfw pipe 7 config 7 bw 512Kbit/s
Правильно?
Заранее благодарен Вам.
С уважением,
Илья

Гость
проходил мимо

Re: IPFW и PIPE

Непрочитанное сообщение Гость » 2014-12-18 10:21:49

:-D извини, но ты реально смешон! Прежде чем писать правила, а тем более с шейпером, потрать пару дней тупо на изучение документации, ее предостаточно. У тебя полное непонимане что к чему.
з.ы.: one_pass это sysctl параметр...

underground
рядовой
Сообщения: 45
Зарегистрирован: 2014-01-30 13:41:40

Re: IPFW и PIPE

Непрочитанное сообщение underground » 2014-12-18 11:02:23

Уважаемый ГостьБлагодарю Вас - Вы очень помогли...