Помогите с Dummynet

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

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Power
рядовой
Сообщения: 16
Зарегистрирован: 2008-06-02 9:18:24

Помогите с Dummynet

Непрочитанное сообщение Power » 2008-06-02 9:28:10

Здраствуйте! Волею судьбы приходится настраивать прокси. Предпочтение отдал в сторону
FreeBSD . Но столкнулся с проблемой настройки Dummynet. установлена FreeBSD-7.0 Reliase, ядро с опциями :
options IPFIREWALL
options IPDIVERT
options DUMMYNET
options HZ=1000
net.inet.ip.fw.one_pass=0
Сеть:
intranet="rl0" - 192.168.0.1 интерфейс смотрящий внутрь локалки
inet="tun0" - поднятый pppoe интерфейс
IpOut="83.xxx.xxx.xxx"- внешний IP который получает tun0
IpIn="192.168.0.1" - IP rl0
NetInE="192.168.0.0" - внутренняя сеть
NetMask="24" - маска сети

rc.firewall :

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

${ipfw} -f flush
${ipfw} -f pipe flush
${ipfw} -f queue flush
${ipfw} add 100 check-state
${ipfw} add 200 allow ip from any to any via lo0 
${ipfw} add 300 deny ip from any to 127.0.0.0/8
${ipfw} add 400 deny ip from 127.0.0.0/8 to any
${ipfw} add 800 deny ip from any to 10.0.0.0/8 in via ${inet}
${ipfw} add 900 deny ip from any to 172.16.0.0/12 in via ${inet}
${ipfw} add 1000 deny ip from any to 192.168.0.0/16 in via ${inet}
${ipfw} add 1100 deny ip from any to 0.0.0.0/8 in via ${inet}
${ipfw} add 1300 deny ip from any to 169.254.0.0/16 in via ${inet}
${ipfw} add 1400 deny ip from any to 240.0.0.0/4 in via ${inet}
${ipfw} add 1600 deny icmp from any to any frag
${ipfw} add 1650 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${ipfw} add 1700 deny log icmp from any to 255.255.255.255 in via ${inet}
${ipfw} add 1800 deny log icmp from any to 255.255.255.255 out via ${inet}
${ipfw} add 1850 deny tcp from any 137-139,1022,1023 to any via ${intranet}
${ipfw} add 1860 deny tcp from any to any 137-139,1022,1023 via ${intranet}
${ipfw} add 1900 deny udp from any 137-139,1022,1023 to any via ${intranet}
${ipfw} add 2000 deny udp from any to any 137-139,1022,1023 via ${intranet}
######
${ipfw} add 2200 fwd 127.0.0.1,3128 tcp from ${NetInE}/${NetMask} to any 80 via ${inet}
#####
${ipfw} add 3000 divert 8668 ip from ${NetInE}/${NetMask} to any out via ${inet}
${ipfw} add 3200 divert 8668 ip from any to ${IpOut} in via ${inet}
#####
${ipfw} add 3500 pipe 1 ip from ${IpIn} to ${NetInE}/${NetMask}
${ipfw} pipe 1 config bw 100Mbit/s
${ipfw} add 3510 pipe 2 ip from ${IpOut} to ${NetInE}/${NetMask}
${ipfw} pipe 2 config bw 100Mbit/s
${ipfw} add 3515 pipe 3 ip from any to any tcpflags ack iplen 0-128
${ipfw} pipe 3 config bw 100Mbit/s
${ipfw} add 3520 pipe 4 ip from not ${NetInE}/${NetMask} to 192.168.0.23   
${ipfw} pipe 4 config bw 64Kbit/s 
####
${ipfw} add 4000 deny ip from 10.0.0.0/8 to any out via ${inet}
${ipfw} add 4100 deny ip from 172.16.0.0/12 to any out via ${inet}
${ipfw} add 4200 deny ip from 192.168.0.0/16 to any out via ${inet}
${ipfw} add 4300 deny ip from 0.0.0.0/8 to any out via ${inet}
${ipfw} add 4400 deny ip from 169.254.0.0/16 to any out via ${inet}
${ipfw} add 4500 deny ip from 224.0.0.0/4 to any out via ${inet} 
#####
${ipfw} add 5000 allow tcp from any to any established
${ipfw} add 5100 allow ip from ${IpOut} to any out xmit ${inet} 
#####
${ipfw} add 5700 allow udp from any 53 to any via ${inet}
${ipfw} add 5800 allow udp from any 123 to any via ${inet}
#####
${ipfw} add 6000 allow icmp from any to any icmptypes 0,8,11
${ipfw} add 7000 allow tcp from any to any via ${intranet}
${ipfw} add 7100 allow udp from any to any via ${intranet}
${ipfw} add 7200 allow icmp from any to any via ${intranet}
####  
${ipfw} add 12000 deny log tcp from any to ${IpOut} in via ${inet} setup
${ipfw} add 65354 deny ip from any to any
Вопрос в том,что шейпер для 192.168.0.23 не работает. Пробывал менять правила местами до NAT и после , но не получается.
Прошу подсказать ,где я ошибаюсь.
Последний раз редактировалось Power 2008-06-02 9:49:07, всего редактировалось 1 раз.

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

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

Re: Помогите с Dummynet

Непрочитанное сообщение Alex Keda » 2008-06-02 9:31:31

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

ipfw show
Убей их всех! Бог потом рассортирует...

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

Re: Помогите с Dummynet

Непрочитанное сообщение hizel » 2008-06-02 9:53:19

кряхтя

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

 add 100 check-state
для начала, это зачем ?
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Power
рядовой
Сообщения: 16
Зарегистрирован: 2008-06-02 9:18:24

Re: Помогите с Dummynet

Непрочитанное сообщение Power » 2008-06-02 10:00:46

ipfw show

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

00100  0     0 check-state
00200  0     0 allow ip from any to any via lo0
00300  0     0 deny ip from any to 127.0.0.0/8
00400  0     0 deny ip from 127.0.0.0/8 to any
00800  0     0 deny ip from any to 10.0.0.0/8 in via tun0
00900  0     0 deny ip from any to 172.16.0.0/12 in via tun0
01000  0     0 deny ip from any to 192.168.0.0/16 in via tun0
01100  0     0 deny ip from any to 0.0.0.0/8 in via tun0
01300  0     0 deny ip from any to 169.254.0.0/16 in via tun0
01400  0     0 deny ip from any to 240.0.0.0/4 in via tun0
01600  0     0 deny icmp from any to any frag
01650  0     0 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17
01700  0     0 deny log logamount 100 icmp from any to 255.255.255.255 in via tu                                              n0
01800  0     0 deny log logamount 100 icmp from any to 255.255.255.255 out via t                                              un0
01850  0     0 deny tcp from any 137-139,1022,1023 to any via rl0
01860  0     0 deny tcp from any to any dst-port 137-139,1022,1023 via rl0
01900 57  4602 deny udp from any 137-139,1022,1023 to any via rl0
02000  0     0 deny udp from any to any dst-port 137-139,1022,1023 via rl0
02200  0     0 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any dst-port 80 vi                                              a tun0
03000  0     0 divert 8668 ip from 192.168.0.0/24 to any out via tun0
03200  0     0 divert 8668 ip from any to 83.xxx.xxx.xxx in via tun0
03500 40 15128 pipe 1 ip from 192.168.0.1 to 192.168.0.0/24
03510  0     0 pipe 2 ip from 83.xxx.xxx.xxx to 192.168.0.0/24
03515 74  5412 pipe 3 ip from any to any tcpflags ack iplen 0-128
03520  0     0 pipe 4 ip from not 192.168.0.0/24 to 192.168.0.23
04000  0     0 deny ip from 10.0.0.0/8 to any out via tun0
04100  0     0 deny ip from 172.16.0.0/12 to any out via tun0
04200  0     0 deny ip from 192.168.0.0/16 to any out via tun0
04300  0     0 deny ip from 0.0.0.0/8 to any out via tun0
04400  0     0 deny ip from 169.254.0.0/16 to any out via tun0
04500  0     0 deny ip from 224.0.0.0/4 to any out via tun0
05000 89 18180 allow tcp from any to any established
05100  0     0 allow ip from 83.xxx.xxx.xxx to any out xmit tun0
05700  0     0 allow udp from any 53 to any via tun0
05800  0     0 allow udp from any 123 to any via tun0
06000  0     0 allow icmp from any to any icmptypes 0,8,11
07000  0     0 allow tcp from any to any via rl0
07100  0     0 allow udp from any to any via rl0
07200  0     0 allow icmp from any to any via rl0
12000  0     0 deny log logamount 100 tcp from any to 83.xxx.xxx.xxx in via tun0                                               setup
65354  0     0 deny ip from any to any
65535 12   856 deny ip from any to any
ipfw pipe show

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

00001: 100.000 Mbit/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.1/22      192.168.0.23/2366   371    54237  0    0   0
00002: 100.000 Mbit/s    0 ms   50 sl. 0 queues (1 buckets) droptail
00003: 100.000 Mbit/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.23/2366   192.168.0.1/22     594    43508  0    0   0
00004:  64.000 Kbit/s    0 ms   50 sl. 0 queues (1 buckets) droptail

Power
рядовой
Сообщения: 16
Зарегистрирован: 2008-06-02 9:18:24

Re: Помогите с Dummynet

Непрочитанное сообщение Power » 2008-06-02 10:08:41

hizel писал(а):кряхтя

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

 add 100 check-state
для начала, это зачем ?
Скажу честно , что во FreeBSD как в прочем и в линуксах новичёк и поэтому многое делал по статьям из инета ,в частности и с этого сайта (на мой взгляд - лучший ресурс в рунете по теме FreeBSD)
# Проверяем - соответствует ли пакет динамическим правилам:

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

${FwCMD} add check-state
Прошу конечно прощения ,если не так что понял.

Power
рядовой
Сообщения: 16
Зарегистрирован: 2008-06-02 9:18:24

Re: Помогите с Dummynet

Непрочитанное сообщение Power » 2008-06-02 11:03:28

Закоментировал

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

${ipfw} add 100 check-state
Но всё равно заданный IP(192.168.0.23) в 4 пайп не попадает
ipfw show

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

00200    0       0 allow ip from any to any via lo0
00300    0       0 deny ip from any to 127.0.0.0/8
00400    0       0 deny ip from 127.0.0.0/8 to any
00800    0       0 deny ip from any to 10.0.0.0/8 in via tun0
00900    0       0 deny ip from any to 172.16.0.0/12 in via tun0
01000    0       0 deny ip from any to 192.168.0.0/16 in via tun0
01100    0       0 deny ip from any to 0.0.0.0/8 in via tun0
01300    0       0 deny ip from any to 169.254.0.0/16 in via tun0
01400    0       0 deny ip from any to 240.0.0.0/4 in via tun0
01600    0       0 deny icmp from any to any frag
01650    0       0 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17
01700    0       0 deny log logamount 100 icmp from any to 255.255.255.255 in via tun0
01800    0       0 deny log logamount 100 icmp from any to 255.255.255.255 out via tun0
01850    0       0 deny tcp from any 137-139,1022,1023 to any via rl0
01860    0       0 deny tcp from any to any dst-port 137-139,1022,1023 via rl0
01900 3435  296873 deny udp from any 137-139,1022,1023 to any via rl0
02000    0       0 deny udp from any to any dst-port 137-139,1022,1023 via rl0
02200    0       0 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any dst-port 80 via tun0
03000    0       0 divert 8668 ip from 192.168.0.0/24 to any out via tun0
03200 1691 1454302 divert 8668 ip from any to 83.xxx.xxx.xxx in via tun0
03500 2128 1635914 pipe 1 ip from 192.168.0.1 to 192.168.0.0/24
03510    0       0 pipe 2 ip from 83.xxx.xxx.xxx to 192.168.0.0/24
03515 3257  162653 pipe 3 ip from any to any tcpflags ack iplen 0-128
03520    0       0 pipe 4 ip from not 192.168.0.0/24 to 192.168.0.23
04000    0       0 deny ip from 10.0.0.0/8 to any out via tun0
04100    0       0 deny ip from 172.16.0.0/12 to any out via tun0
04200    0       0 deny ip from 192.168.0.0/16 to any out via tun0
04300    0       0 deny ip from 0.0.0.0/8 to any out via tun0
04400    0       0 deny ip from 169.254.0.0/16 to any out via tun0
04500    0       0 deny ip from 224.0.0.0/4 to any out via tun0
05000 6499 3470745 allow tcp from any to any established
05100  139    8862 allow ip from 83.xxx.xxx.xxx to any out xmit tun0
05700   19    3703 allow udp from any 53 to any via tun0
05800    0       0 allow udp from any 123 to any via tun0
06000    0       0 allow icmp from any to any icmptypes 0,8,11
07000   73    3504 allow tcp from any to any via rl0
07100   16    4754 allow udp from any to any via rl0
07200    0       0 allow icmp from any to any via rl0
12000   13     708 deny log logamount 100 tcp from any to 83.xxx.xxx.xxx in via tun0 setup
65354  119   13146 deny ip from any to any
65535   21    1633 deny ip from any to any

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

Re: Помогите с Dummynet

Непрочитанное сообщение hizel » 2008-06-02 11:34:20

этой строчкой вы НАТите

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

03200 1691 1454302 divert 8668 ip from any to 83.xxx.xxx.xxx in via tun0
после этой строчки следующие правила видят пакеты
ip шлюза 192.168.0.x то ip клиента 192.168.0.x
поэтому в ваш четвертый пайп ничего и не попадает так как у вас там not
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
f_andrey
майор
Сообщения: 2651
Зарегистрирован: 2007-12-26 1:22:58
Откуда: СПб
Контактная информация:

Re: Помогите с Dummynet

Непрочитанное сообщение f_andrey » 2008-06-02 12:00:48

Кстати наверное стоит перенести запрашивающие правила в хвост списка, и еше по логике работы ipfw посмотри вот эту статью.
Если ваша тема перенесена, то смотри http://forum.lissyara.su/viewtopic.php?f=1&t=32308

Power
рядовой
Сообщения: 16
Зарегистрирован: 2008-06-02 9:18:24

Re: Помогите с Dummynet

Непрочитанное сообщение Power » 2008-06-02 13:57:31

hizel писал(а):этой строчкой вы НАТите

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

03200 1691 1454302 divert 8668 ip from any to 83.xxx.xxx.xxx in via tun0
после этой строчки следующие правила видят пакеты
ip шлюза 192.168.0.x то ip клиента 192.168.0.x
поэтому в ваш четвертый пайп ничего и не попадает так как у вас там not
Большое спасибо за внимание . Да действительно ,если подставить
вместо

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

${ipfw} add 3520 pipe 4 ip from not ${NetInE}/${NetMask} to 192.168.0.23   
${ipfw} pipe 4 config bw 64Kbit/s 

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

${ipfw} add 3520 pipe 4 ip from any to 192.168.0.23   
${ipfw} pipe 4 config bw 64Kbit/s 
то правило заработает, и при этом будет ограничен весь канал (что недопустимо)
Не могли бы вы подсказать каким именно образом нужно изменить правила , что бы
работало not ${NetInE}/${NetMask}
f_andrey писал(а):Кстати наверное стоит перенести запрашивающие правила в хвост списка, и еше по логике работы ipfw посмотри вот эту статью.
Спасибо за ссылку , дома вечером на бумаге с карандашами буду разбирать.

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

Re: Помогите с Dummynet

Непрочитанное сообщение hizel » 2008-06-02 15:01:43

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

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

Re: Помогите с Dummynet

Непрочитанное сообщение hizel » 2008-06-02 23:56:30

да кстати обратите внимание на пример из хэндбука с НАТ-ом, очень позновательно, заодно может и про check-state зацепите ;)
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Power
рядовой
Сообщения: 16
Зарегистрирован: 2008-06-02 9:18:24

Re: Помогите с Dummynet

Непрочитанное сообщение Power » 2008-06-04 9:27:54

Долго разбирался , и вроде со скрипом начало проясняться как оно работает.
Только никак не могу понять следующего момента:
Пайпы сделал перед NAT-ом , и всё работает до следующего правила

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

${ipfw} add 2200 fwd 127.0.0.1,3128 tcp from ${NetInE}/${NetMask} to any 80 via ${inet}
Тоесть получается , что если работать через NAT минуя прокси squid (2200 закоментирована) то всё
работает как надо.
А вот если ещё заворачивать на прокси ,то нет, правила для dummynet не срабатывают.

Пожалуйста подскажите в чём может быть причина и как её обойти.

Аватара пользователя
manefesto
Группенфюррер
Сообщения: 6934
Зарегистрирован: 2007-07-20 8:27:30
Откуда: Пермь
Контактная информация:

Re: Помогите с Dummynet

Непрочитанное сообщение manefesto » 2008-06-04 9:36:16

а не проще сделать delay_pools в сквиде ?
я такой яростный шо аж пиздеЦ
Изображение

Power
рядовой
Сообщения: 16
Зарегистрирован: 2008-06-02 9:18:24

Re: Помогите с Dummynet

Непрочитанное сообщение Power » 2008-06-04 9:41:26

manefesto писал(а):а не проще сделать delay_pools в сквиде ?
Нет , хочется шейпить именно dummynet весь трафик.

Power
рядовой
Сообщения: 16
Зарегистрирован: 2008-06-02 9:18:24

Re: Помогите с Dummynet

Непрочитанное сообщение Power » 2008-06-04 19:10:27

Не ужели без вариантов?

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

Re: Помогите с Dummynet

Непрочитанное сообщение hizel » 2008-06-04 23:11:20

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

Power
рядовой
Сообщения: 16
Зарегистрирован: 2008-06-02 9:18:24

Re: Помогите с Dummynet

Непрочитанное сообщение Power » 2008-06-05 7:23:54

ipfw show

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

00100   0      0 check-state
00101 356 149427 pipe 1 ip from 192.168.0.1 to 192.168.0.0/24
00102   0      0 pipe 2 ip from 83.xxx.xxx.xxx to 192.168.0.0/24
00103 466  27237 pipe 3 ip from any to any tcpflags ack iplen 0-128
00104   0      0 pipe 4 ip from not 192.168.0.0/24 to 192.168.0.23
00200   0      0 allow ip from any to any via lo0
00300   0      0 deny ip from any to 127.0.0.0/8
00400   0      0 deny ip from 127.0.0.0/8 to any
00800   0      0 deny ip from any to 10.0.0.0/8 in via tun0
00900   0      0 deny ip from any to 172.16.0.0/12 in via tun0
01000   0      0 deny ip from any to 192.168.0.0/16 in via tun0
01100   0      0 deny ip from any to 0.0.0.0/8 in via tun0
01300   0      0 deny ip from any to 169.254.0.0/16 in via tun0
01400   0      0 deny ip from any to 240.0.0.0/4 in via tun0
01600   0      0 deny icmp from any to any frag
01650   0      0 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17
01700   0      0 deny log logamount 100 icmp from any to 255.255.255.255 in via tun0
01800   0      0 deny log logamount 100 icmp from any to 255.255.255.255 out via tun0
01850   0      0 deny tcp from any 137-139,1022,1023 to any via rl0
01860   0      0 deny tcp from any to any dst-port 137-139,1022,1023 via rl0
01900 379  35664 deny udp from any 137-139,1022,1023 to any via rl0
02000   0      0 deny udp from any to any dst-port 137-139,1022,1023 via rl0
02200   0      0 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any dst-port 80 via tun0
03000   0      0 divert 8668 ip from 192.168.0.0/24 to any out via tun0
03200  87  28120 divert 8668 ip from any to 83.xxx.xxx.xxx in via tun0
04000   0      0 deny ip from 10.0.0.0/8 to any out via tun0
04100   0      0 deny ip from 172.16.0.0/12 to any out via tun0
04200   0      0 deny ip from 192.168.0.0/16 to any out via tun0
04300   0      0 deny ip from 0.0.0.0/8 to any out via tun0
04400   0      0 deny ip from 169.254.0.0/16 to any out via tun0
04500   0      0 deny ip from 224.0.0.0/4 to any out via tun0
05000 756 207533 allow tcp from any to any established
05100  26   1456 allow ip from 83.xxx.xxx.xxx to any out xmit tun0
05700   5   1062 allow udp from any 53 to any via tun0
05800   0      0 allow udp from any 123 to any via tun0
06000   0      0 allow icmp from any to any icmptypes 0,8,11
07000  10    480 allow tcp from any to any via rl0
07100   6   2020 allow udp from any to any via rl0
07200   0      0 allow icmp from any to any via rl0
12000   0      0 deny log logamount 100 tcp from any to 83.xxx.xxx.xxx in via tun0 setup
65354  17   2411 deny ip from any to any
65535  10    727 deny ip from any to any
Это текущий (неработающий dummynet) вариант .

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

Re: Помогите с Dummynet

Непрочитанное сообщение hizel » 2008-06-05 8:32:45

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

options IPFIREWALL_FORWARD
в ядре есть?
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Power
рядовой
Сообщения: 16
Зарегистрирован: 2008-06-02 9:18:24

Re: Помогите с Dummynet

Непрочитанное сообщение Power » 2008-06-05 9:32:02

hizel писал(а):

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

options IPFIREWALL_FORWARD
в ядре есть?
Да все необходимые опции в ядре есть :

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_FORWARD
options IPFIREWALL_VERBOSE_LIMIT=1000
options DUMMYNET
options HZ=1000
options IPDIVERT

На всякий случай ключи запуска NAT:
natd_flags="-interface tun0 -dynamic -p 8668"

Power
рядовой
Сообщения: 16
Зарегистрирован: 2008-06-02 9:18:24

Re: Помогите с Dummynet

Непрочитанное сообщение Power » 2008-06-05 9:49:47

А вот рабочий вариант (с отключенным 2200 правилом)

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

ipfw show
00100    0       0 check-state
00101  656  311682 pipe 1 ip from 192.168.0.1 to 192.168.0.0/24
00102    0       0 pipe 2 ip from 83.xxx.xxx.xxx to 192.168.0.0/24
00103 1957  101295 pipe 3 ip from any to any tcpflags ack iplen 0-128
00104  402  258528 pipe 4 ip from not 192.168.0.0/24 to 192.168.0.23
00200    0       0 allow ip from any to any via lo0
00300    0       0 deny ip from any to 127.0.0.0/8
00400    0       0 deny ip from 127.0.0.0/8 to any
00800    0       0 deny ip from any to 10.0.0.0/8 in via tun0
00900    0       0 deny ip from any to 172.16.0.0/12 in via tun0
01000    0       0 deny ip from any to 192.168.0.0/16 in via tun0
01100    0       0 deny ip from any to 0.0.0.0/8 in via tun0
01300    0       0 deny ip from any to 169.254.0.0/16 in via tun0
01400    0       0 deny ip from any to 240.0.0.0/4 in via tun0
01600    0       0 deny icmp from any to any frag
01650    0       0 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17
01700    0       0 deny log logamount 100 icmp from any to 255.255.255.255 in via tun0
01800    0       0 deny log logamount 100 icmp from any to 255.255.255.255 out via tun0
01850    0       0 deny tcp from any 137-139,1022,1023 to any via rl0
01860    0       0 deny tcp from any to any dst-port 137-139,1022,1023 via rl0
01900 1285  112340 deny udp from any 137-139,1022,1023 to any via rl0
02000    0       0 deny udp from any to any dst-port 137-139,1022,1023 via rl0
03000  458   65420 divert 8668 ip from 192.168.0.0/24 to any out via tun0
03200  709  454819 divert 8668 ip from any to 83.xxx.xxx.xxx in via tun0
04000    0       0 deny ip from 10.0.0.0/8 to any out via tun0
04100    0       0 deny ip from 172.16.0.0/12 to any out via tun0
04200    0       0 deny ip from 192.168.0.0/16 to any out via tun0
04300    0       0 deny ip from 0.0.0.0/8 to any out via tun0
04400    0       0 deny ip from 169.254.0.0/16 to any out via tun0
04500    0       0 deny ip from 224.0.0.0/4 to any out via tun0
05000 3272 1211292 allow tcp from any to any established
05100  108    6017 allow ip from 83.xxx.xxx.xxx to any out xmit tun0
05700   34    6913 allow udp from any 53 to any via tun0
05800    0       0 allow udp from any 123 to any via tun0
06000    0       0 allow icmp from any to any icmptypes 0,8,11
07000   68    3264 allow tcp from any to any via rl0
07100   73   13640 allow udp from any to any via rl0
07200    0       0 allow icmp from any to any via rl0
12000    0       0 deny log logamount 100 tcp from any to 83.xxx.xxx.xxx in via tun0 setup
65354  472   38113 deny ip from any to any
65535   17    1159 deny ip from any to any
Клиент выходит в инет просто через nat без squid
но для меня работа через squid необходимое условие
Последний раз редактировалось hizel 2008-06-05 10:41:13, всего редактировалось 1 раз.
Причина: [code][/code]

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

Re: Помогите с Dummynet

Непрочитанное сообщение hizel » 2008-06-05 9:52:14

пайпы у вас работают и в том и том случае, причем я бы вам посоветовал к пайпам приписать in via, out via чтобы они срабатывали один раз
а что конкретно не работает при включеном прокси, ограничение скорости, http трафик не ходит?
а пинги в это время? :\
squid точно корректно настроен? ;)
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Power
рядовой
Сообщения: 16
Зарегистрирован: 2008-06-02 9:18:24

Re: Помогите с Dummynet

Непрочитанное сообщение Power » 2008-06-05 10:18:46

При включённом прокси не работает ограничение скорости , т.е у клиента полная скорость .
и по ipfw show видно ,что в неработающем случае в четвёртый пайп ничено не попадает.

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

${ipfw} add 104 pipe 4 ip from not ${NetInE}/${NetMask} to 192.168.0.23   
${ipfw} pipe 4 config bw 64Kbit/s


Вы думаете дело в squide?

Аватара пользователя
manefesto
Группенфюррер
Сообщения: 6934
Зарегистрирован: 2007-07-20 8:27:30
Откуда: Пермь
Контактная информация:

Re: Помогите с Dummynet

Непрочитанное сообщение manefesto » 2008-06-05 10:26:13

думаю да....без сквида через нат скорость режется, со сквидом нет.
то есть сквид перехватывает пакеты быстрее чем они успевают попасть в трубу.
я такой яростный шо аж пиздеЦ
Изображение

Power
рядовой
Сообщения: 16
Зарегистрирован: 2008-06-02 9:18:24

Re: Помогите с Dummynet

Непрочитанное сообщение Power » 2008-06-05 11:22:57

В силу своей неопытности не стану утверждать ,но разве не ipfw определяет пакетам их путь ?
Как я понимаю что именно ipfw должен задавать перехватывать squid пакет или дождаться прохождения через пайп.
Или я не верно понял?

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

Re: Помогите с Dummynet

Непрочитанное сообщение hizel » 2008-06-05 12:59:11

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