Трубы (первый опыт)

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

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
mediamag
лейтенант
Сообщения: 693
Зарегистрирован: 2008-10-02 20:49:21

Трубы (первый опыт)

Непрочитанное сообщение mediamag » 2008-10-27 14:39:01

Решил занятся урезкой канала определенным айпи...ядро собранно с опцией DUMMYNET и HZ=1000
правила у меня такие

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

#!/bin/sh


extif="sk0"
extnet="83.xx.xxx.0/30"
extip="xx.xxx.xxx.xxx"


intif="sk1"
intnet="192.168.0.0/24"
intip="192.168.0.108"

fwcmd="/sbin/ipfw "


${fwcmd} -f flush

${fwcmd} -f pipe flush

${fwcmd} -f queue flush


# dynamic rules 

${fwcmd} add 50 check-state

# loopback

${fwcmd} add 100 allow ip from any to any via lo0

# sshit

${fwcmd} add 150 deny not icmp from "table(0)" to me



${fwcmd} add 200 deny ip from any to 127.0.0.0/8
${fwcmd} add 250 deny ip from 127.0.0.0/8 to any



${fwcmd} add 300 deny all from ${intnet} to any in via ${extif}
${fwcmd} add 350 deny all from ${extnet} to any in via ${intif}



${fwcmd} add 400 deny ip from any to 10.0.0.0/8 in via ${extif}
${fwcmd} add 410 deny ip from any to 172.16.0.0/12 in via ${extif}
${fwcmd} add 420 deny ip from any to 0.0.0.0/8 in via ${extif}
${fwcmd} add 430 deny ip from any to 169.254.0.0/16 in via ${extif}



${fwcmd} add 500 deny ip from any to 224.0.0.0/4 in via ${extif}
${fwcmd} add 510 deny ip from any to 240.0.0.0/4 in via ${extif}



${fwcmd} add 600 deny icmp from any to any frag
${fwcmd} add 610 deny icmp from any to any in icmptype 5,9,13,14,15,16,17



${fwcmd} add 700 reject tcp from any to any tcpflags fin, syn, rst, psh, ack, urg
${fwcmd} add 710 reject tcp from any to any tcpflags !fin, !syn, !rst, !psh, !ack, !urg
${fwcmd} add 720 reject tcp from any to any not established tcpflags fin



${fwcmd} add 800 deny tcp from any to any 113 in via ${extif}



${fwcmd} add 900 deny tcp from any to any 137 in via ${extif}
${fwcmd} add 910 deny tcp from any to any 138 in via ${extif}
${fwcmd} add 920 deny tcp from any to any 139 in via ${extif}



${fwcmd} add 1000 deny log icmp from any to 255.255.255.255 in via ${extif}
${fwcmd} add 1010 deny log icmp from any to 255.255.255.255 out via ${extif}



${fwcmd} add 1050 fwd 127.0.0.1,3128 tcp from ${intnet} to any 80 via ${extif}



${fwcmd} add 1100 divert natd ip from ${intnet} to any out via ${extif}
${fwcmd} add 1110 divert natd ip from any to ${extip} in via ${extif}



${fwcmd} add 1200 deny ip from 10.0.0.0/8 to any out via ${extif}
${fwcmd} add 1210 deny ip from 172.16.0.0/12 to any out via ${extif}
${fwcmd} add 1220 deny ip from 0.0.0.0/8 to any out via ${extif}
${fwcmd} add 1230 deny ip from 169.254.0.0/16 to any out via ${extif}



${fwcmd} add 1300 deny ip from 224.0.0.0/4 to any out via ${extif}
${fwcmd} add 1310 deny ip from 240.0.0.0/4 to any out via ${extif}



${fwcmd} add 1400 allow icmp from any to any icmptype 0,8,11



${fwcmd} add 1500 allow ip from any to ${intnet} in via ${intif}
${fwcmd} add 1550 allow ip from ${intnet} to any out via ${intif}



${fwcmd} add 1600 allow tcp from any to any established



${fwcmd} add 1700 allow udp from any to ${extip} 53 in via ${extif}
${fwcmd} add 1710 allow udp from ${extip} 53 to any out via ${extif}
${fwcmd} add 1720 allow udp from any 53 to ${extip} in via ${extif}
${fwcmd} add 1730 allow udp from ${extip} to any 53 out via ${extif}



${fwcmd} add 1800 allow tcp from any to ${extip} 53 in via ${extif}



${fwcmd} add 1900 allow tcp from any to ${extip} 22 in via ${extif} setup



#${fwcmd} add 1700 allow udp from any 27015-27025 to ${intnet} in via ${extif}
#${fwcmd} add 1710 allow udp from any 27015-27025 to ${intnet} out via ${intif}
#${fwcmd} add 1720 allow udp from ${intnet} to any 27015-27025 in via ${intif}
#${fwcmd} add 1730 allow udp from ${extip} to any 27015-27025 out via ${extif}



${fwcmd} add 2000 deny log tcp from any to ${extip} in via ${extif} setup





${fwcmd} add 2200 allow tcp from ${extip} to any out via ${extif} setup
${fwcmd} add 2210 allow tcp from any to ${extip} in via ${intif} setup



${fwcmd} add 2300 allow tcp from any to 192.168.0.1 8181 via ${extif}
${fwcmd} add 2305 allow tcp from any to 192.168.0.1 8181 via ${intif}

${fwcmd} add 2310 allow tcp from any to 192.168.0.123 8282 via ${extif}
${fwcmd} add 2315 allow tcp from any to 192.168.0.123 8282 via ${intif}



${fwcmd} add 2400 allow tcp from ${intnet} to any 25,110,443,5190 in via ${intif} setup


########################## USERS INET ###############################






${fwcmd} add 2500 allow tcp from 192.168.0.1 to any in via ${intif} setup

${fwcmd} add 2505 allow tcp from 192.168.0.20 to any in via ${intif} setup

${fwcmd} add 2510 allow tcp from 192.168.0.150 to any 20,21,80 in via ${intif} setup

${fwcmd} add 2515 allow tcp from 192.168.0.5 to any in via ${intif} setup





${fwcmd} add 2520 allow tcp from 192.168.0.24 to any 20,21,80 in via ${intif} setup

${fwcmd} add 2525 allow tcp from 192.168.0.114 to any 20,21,80 in via ${intif} setup

${fwcmd} add 2530 allow tcp from 192.168.0.100 to any 20,21,80 in via ${intif} setup

${fwcmd} add 2535 allow tcp from 192.168.0.12 to any in via ${intif} setup

${fwcmd} add 2540 allow tcp from 192.168.0.123 to any in via ${intif} setup

${fwcmd} add 2545 allow tcp from 192.168.0.211 to any 20,21,80 in via ${intif} setup

${fwcmd} add 2550 allow tcp from 192.168.0.11 to any 20,21,80 in via ${intif} setup

${fwcmd} add 2555 allow tcp from 192.168.0.223 to any in via ${intif} setup





${fwcmd} add 2560 allow tcp from 192.168.0.215 to any 20,21,80 in via ${intif} setup

${fwcmd} add 2565 allow tcp from 192.168.0.151 to any 20,21,80 in via ${intif} setup

${fwcmd} add 2570 allow tcp from 192.168.0.240 to any 20,21,80 in via ${intif} setup

${fwcmd} add 2575 allow tcp from 192.168.0.153 to any 20,21,80 in via ${intif} setup




${fwcmd} pipe 1 config bw 10KBytes/s 



${fwcmd} add 65534 deny ip from any to any

хочу порезать инет до 10 кбсек айпи .123 создаю правило прямо над головой того что разрешает этому айпи ходить в инет, тоесть номером 2539 add pipe ip from 192.168.0.123 to any in via sk1 (внутр ифейс) не пашет так....пробовал 2539 add pipe ip from 192.168.0.123 to any in via sk1 setup - тоже не пашет.....пробовал add pipe ip from any to 192.168.0.123 - не пашет...подскажите пожалуста правельный формат правил для моего случая.

ipfw pipe show пишет

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

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.0.123/3662   81.176.230.239/80      18      864  0    0   0

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

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Трубы (первый опыт)

Непрочитанное сообщение hizel » 2008-10-27 15:08:43

что значит не пашет?
one_pass не включали?
счетчики на правиле не меняются?
тогда уж не

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

ipfw add pipe lala
а

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

ipfw add pipe 1 lala
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

mediamag
лейтенант
Сообщения: 693
Зарегистрирован: 2008-10-02 20:49:21

Re: Трубы (первый опыт)

Непрочитанное сообщение mediamag » 2008-10-28 9:33:00

ну я так и писал....ipfw pipe 1 ip.....one_pass=0 в sysctl.conf...труба вроде как создается но не тормозит пакеты.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Трубы (первый опыт)

Непрочитанное сообщение hizel » 2008-10-28 9:37:46

гм а прокси трафик под шейпер не попадает? :/

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

${fwcmd} add 1050 fwd 127.0.0.1,3128 tcp from ${intnet} to any 80 via ${extif}
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

mediamag
лейтенант
Сообщения: 693
Зарегистрирован: 2008-10-02 20:49:21

Re: Трубы (первый опыт)

Непрочитанное сообщение mediamag » 2008-10-28 10:49:44

тоесть..не понял немного о чем ты? прокси не дает шейпить?? или как...
кстати через правило с трубой пакеты бегают по ipfw show

Covax
мл. сержант
Сообщения: 131
Зарегистрирован: 2008-04-27 23:54:31
Откуда: Витебск, Беларусь
Контактная информация:

Re: Трубы (первый опыт)

Непрочитанное сообщение Covax » 2008-10-28 14:04:05

Могу ошибиться, но здесь правила создаются с динамикой. В ipfw, при наличии динамического правила, пакет у которого есть запись с динамическим правилом, не проходит через все правила, а пускается сразу без задержки. Логично было бы попробовать заворачивать в пайп до check-state.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Трубы (первый опыт)

Непрочитанное сообщение hizel » 2008-10-28 14:12:41

ошибаетесь уважаемый
в вышеприведённом фаерволе нет ни одного правила с keep-state и limit
динамикой там и не пахнет
а check-state просто торчит :)

я мыслю часть трафика проходит через прозрачный прокси и не попадает под шейпер
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

mediamag
лейтенант
Сообщения: 693
Зарегистрирован: 2008-10-02 20:49:21

Re: Трубы (первый опыт)

Непрочитанное сообщение mediamag » 2008-10-28 14:45:41

хорошо..если отталкиватся от прокси...что можете посоветовать?

Yam
сержант
Сообщения: 226
Зарегистрирован: 2008-10-11 19:19:24
Откуда: 2:5093/41

Re: Трубы (первый опыт)

Непрочитанное сообщение Yam » 2008-10-28 14:55:48

логично предположить, что нужно шейпить до прокси или средствами прокси.

mediamag
лейтенант
Сообщения: 693
Зарегистрирован: 2008-10-02 20:49:21

Re: Трубы (первый опыт)

Непрочитанное сообщение mediamag » 2008-10-28 15:06:56

да я тоже так подумал и написал самое первое правило фаервола....

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

ipfw add pipe 1 from any to 192.168.0.123 via sk1(внутренний ифейс)
ipfw pipe 1 config bw 64Kbit/s
и о чудо!!!!! заработало....но есть минус...если я с этого айпи захожу по ссш лагает жуть..получается это я заблочил и сетевой трафик...щас пробую всевозможные варианты типа from ${extip} или from ${extnet} но пока ничего не получается.

Yam
сержант
Сообщения: 226
Зарегистрирован: 2008-10-11 19:19:24
Откуда: 2:5093/41

Re: Трубы (первый опыт)

Непрочитанное сообщение Yam » 2008-10-28 15:17:12

ну так не шейпите трафик по 22 порту или больший приоритет ему отведите.

ipfw add pipe 1 from not 192.168.0.0/24 to 192.168.0.123 via sk1(внутренний ифейс)
ipfw pipe 1 config bw 64Kbit/s

mediamag
лейтенант
Сообщения: 693
Зарегистрирован: 2008-10-02 20:49:21

Re: Трубы (первый опыт)

Непрочитанное сообщение mediamag » 2008-10-28 15:24:31

Вооо заработало..спасибо всем агромное за учебу!!!!!!!!!!!!!!! удачи всем!!!