URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 47268
[ Назад ]

Исходное сообщение
"firewall na FreeBSD-4.9 Release HELP!!!"

Отправлено DIF , 17-Авг-04 10:52 
Sistema FreeBSD-4.9 RELEASE

Esti 2 setki. Trafic ot provaidera 256kb.
Pervoe - mne nujno razdeliti po 128kb na kajdoi setke
Vtoroe - razdeleati porovnu kak v odnoi tak i v drugoi setke kanal (128kb) mejdu uzveriami dinamiceski (esli v internete rabotaiut 2 celoveka to 128kb deliatsia na 2 esli 10 cel. to na 10 itd. a esli uzverei oceni mnogo to stabilizirovati po 4kb na kajdovo) nadeiusi poniatno viskazalsea. :)

Pomogite pojalusta kak mne vsio eto razvernuti na firwalle mne ne poluciaetsea hoti i procital mnogo, oceni nujno

Zaranee spasibo


Содержание

Сообщения в этом обсуждении
"firewall na FreeBSD-4.9 Release HELP!!!"
Отправлено Hammer , 17-Авг-04 14:56 
Опции ядра:
options     NETGRAPH        
options     NETGRAPH_ASYNC
options     NETGRAPH_BPF
options     NETGRAPH_ECHO
options     NETGRAPH_ETHER
options     NETGRAPH_HOLE
options     NETGRAPH_IFACE
options     NETGRAPH_KSOCKET
options     NETGRAPH_L2TP
options     NETGRAPH_LMI
options     NETGRAPH_MPPC_ENCRYPTION
options     NETGRAPH_ONE2MANY
options     NETGRAPH_PPP
options     NETGRAPH_PPTPGRE
options     NETGRAPH_RFC1490
options     NETGRAPH_SOCKET
options     NETGRAPH_TEE
options     NETGRAPH_TTY
options     NETGRAPH_UI
options     NETGRAPH_VJC
options        DUMMYNET
options        IPFIREWALL              
options        IPFIREWALL_VERBOSE      
options        IPFIREWALL_FORWARD      
options        IPFIREWALL_VERBOSE_LIMIT=1000    
options        IPDIVERT

создай nat.sh, сделай его исполняемым и положи в /usr/local/etc/rc.d/
Вот содержимое nat.sh

#!/bin/sh
########################## Перемненные ##################################
oif=dc0 - внешний интерфейс
oip=192.168.14.101 - внешний адрес
iip=192.168.17.0/24 - внутреняя сетка
iip2=192.168.16.0/24 - вторая сетка внутри

################################## NAT ###############################
/sbin/natd -n $oif
/sbin/ipfw add 10001 divert natd all from $iip to any out via $oif
/sbin/ipfw add 10001 divert natd all from $iip2 to any out via $oif
/sbin/ipfw add 10001 divert natd all from any to $oip in via $oif
####################делёж канала на сети############################
/sbin/ipfw add pipe 50 tcp from any to 192.168.16.0/24 via $oif
/sbin/ipfw add pipe 50 tcp from any to 192.168.17.0/24 via $oif
/sbin/ipfw pipe 50 config bw 128Kbit/s

У мня именно так реализовано!


"firewall na FreeBSD-4.9 Release HELP!!!"
Отправлено kolayshkin , 17-Авг-04 15:24 
>Опции ядра:
>options  NETGRAPH
>options  NETGRAPH_ASYNC
>options  NETGRAPH_BPF
>options  NETGRAPH_ECHO
>options  NETGRAPH_ETHER
>options  NETGRAPH_HOLE
>options  NETGRAPH_IFACE
>options  NETGRAPH_KSOCKET
>options  NETGRAPH_L2TP
>options  NETGRAPH_LMI
>options  NETGRAPH_MPPC_ENCRYPTION
>options  NETGRAPH_ONE2MANY
>options  NETGRAPH_PPP
>options  NETGRAPH_PPTPGRE
>options  NETGRAPH_RFC1490
>options  NETGRAPH_SOCKET
>options  NETGRAPH_TEE
>options  NETGRAPH_TTY
>options  NETGRAPH_UI
>options  NETGRAPH_VJC
>options  DUMMYNET
>options  IPFIREWALL
>options  IPFIREWALL_VERBOSE
>options  IPFIREWALL_FORWARD
>options  IPFIREWALL_VERBOSE_LIMIT=1000
>options  IPDIVERT
>
>создай nat.sh, сделай его исполняемым и положи в /usr/local/etc/rc.d/
>Вот содержимое nat.sh
>
>#!/bin/sh
>########################## Перемненные ##################################
>oif=dc0 - внешний интерфейс
>oip=192.168.14.101 - внешний адрес
>iip=192.168.17.0/24 - внутреняя сетка
>iip2=192.168.16.0/24 - вторая сетка внутри
>
>################################## NAT ###############################
>/sbin/natd -n $oif
>/sbin/ipfw add 10001 divert natd all from $iip to any out via
>$oif
>/sbin/ipfw add 10001 divert natd all from $iip2 to any out via
>$oif
>/sbin/ipfw add 10001 divert natd all from any to $oip in via
>$oif
>####################делёж канала на сети############################
>/sbin/ipfw add pipe 50 tcp from any to 192.168.16.0/24 via $oif
>/sbin/ipfw add pipe 50 tcp from any to 192.168.17.0/24 via $oif
>/sbin/ipfw pipe 50 config bw 128Kbit/s
>
>У мня именно так реализовано!


А где сдесь происходит динамическое разделение ширины канала между пользователями в каждой сети?


"firewall na FreeBSD-4.9 Release HELP!!!"
Отправлено Alex , 17-Авг-04 15:32 
>>/sbin/ipfw add pipe 50 tcp from any to 192.168.16.0/24 via $oif
>>/sbin/ipfw add pipe 50 tcp from any to 192.168.17.0/24 via $oif
>>/sbin/ipfw pipe 50 config bw 128Kbit/s
>>

вот тут вот


"firewall na FreeBSD-4.9 Release HELP!!!"
Отправлено kolayshkin , 17-Авг-04 15:40 
>>>/sbin/ipfw add pipe 50 tcp from any to 192.168.16.0/24 via $oif
>>>/sbin/ipfw add pipe 50 tcp from any to 192.168.17.0/24 via $oif
>>>/sbin/ipfw pipe 50 config bw 128Kbit/s
>>>
>
>вот тут вот

Между сетями, но не пользователями. Я так понимаю, автору топика еще и надо динамически изменять ширину для пользователей.


"firewall na FreeBSD-4.9 Release HELP!!!"
Отправлено Hammer , 18-Авг-04 08:19 
>>>>/sbin/ipfw add pipe 50 tcp from any to 192.168.16.0/24 via $oif
>>>>/sbin/ipfw add pipe 50 tcp from any to 192.168.17.0/24 via $oif
>>>>/sbin/ipfw pipe 50 config bw 128Kbit/s
>>>>
>>
>>вот тут вот
>
>Между сетями, но не пользователями. Я так понимаю, автору топика еще и
>надо динамически изменять ширину для пользователей.

Да ё-маё, это как раз то что нужно! Канал делится пополам между подсетями. т.е. если 1 юзер из 1 подсети законнектится и будет иметь ширину 128кб\с, а затем законнектится другой, то канал безусловно разделится на обоих по 64 кб\с.


"firewall na FreeBSD-4.9 Release HELP!!!"
Отправлено DIF , 23-Авг-04 15:24 
Spasibo bolishoe za pomoshi. obezatelino sdelaiu...

No ia oceni izvineaiusi za moiu grubuiu oshibcu... mne samomu stidno...

vse znaiut kak eto rabotati s 1.6kb/s, eto esli deliti na 10 cel. a esli ih voobshe 15-20-25 to zdesi konecno - torba. U nas i tac internet derimo, karoce ia imel v vidu shto esli iuzverei mnogo to dati im vsem ne menishe 4K (ne bitov a baitov). Ia znaiu shto cerez firewall mojno mnogoe sdelati no ia ne oceni spetz v nevo. A mojno dopustim shob server vicisliti skoliko uzerov aktivni v danii moment (dopustim raz v 2 sec.)
i razdelliti kanal mejdu nimi, vedi oni zagrujaiut kakuiuto stranicku i poka ee citaiut kanal stoit... i.t.d.

Esli tacoe mojno to kinite ideiku ili podskajite kak eto realizovati..

Bolishoe spasibo Hammer-u


"firewall na FreeBSD-4.9 Release HELP!!!"
Отправлено Grayich , 23-Авг-04 19:45 
На 2 подсети то разделит, а вот с динамическим разделением ниче не получиться, точнее получиться но если кто-то запустит качалку то остальные могут пойти покурить.

Я неоднакратно подымал здесь тему по поводу деления трафика динамически, но нормального ответа так и недобился, в итоге сейчас мучаю связку
(ipfw + dummynet) & squid
но всеравно куча недостатков, нехватает именно динамики


"firewall na FreeBSD-4.9 Release HELP!!!"
Отправлено DIF , 24-Авг-04 10:36 
>На 2 подсети то разделит, а вот с динамическим разделением ниче не
>получиться, точнее получиться но если кто-то запустит качалку то остальные могут
>пойти покурить.
>
>Я неоднакратно подымал здесь тему по поводу деления трафика динамически, но нормального
>ответа так и недобился, в итоге сейчас мучаю связку
>(ipfw + dummynet) & squid
>но всеравно куча недостатков, нехватает именно динамики


A esli cerez firewall podati vsem porovnu po 4K i zapretiti vsem caciati
eto budet efectivno ili net?


"firewall na FreeBSD-4.9 Release HELP!!!"
Отправлено Hammer , 24-Авг-04 12:34 
>На 2 подсети то разделит, а вот с динамическим разделением ниче не
>получиться, точнее получиться но если кто-то запустит качалку то остальные могут
>пойти покурить.
>
>Я неоднакратно подымал здесь тему по поводу деления трафика динамически, но нормального
>ответа так и недобился, в итоге сейчас мучаю связку
>(ipfw + dummynet) & squid
>но всеравно куча недостатков, нехватает именно динамики

А если поднят сквид, дык тут вообще всё просто! Сделай пулы и поруби всех похостово на нужную скорость.
Могу кусок конфига прислать от сквида, где пулы прописаны.


"firewall na FreeBSD-4.9 Release HELP!!!"
Отправлено Grayich , 25-Авг-04 05:08 
>А если поднят сквид, дык тут вообще всё просто! Сделай пулы и
>поруби всех похостово на нужную скорость.

вот в этом то и запара :( хочется динамику организавать, а не качать на столько а просто лазить не более столькито
нужно сделать примерно следующее,
качание на всех не более например 5Кб, но с равномерным рампределением скорости между качальщиками по ip или имени, а не по количеству закачиваемых файлов
весь остальной трафик около 6Кб тоже надо •равномерно• распределять между ip а не количеству запросов

дело в том что до 128Кбит скорость слишком мала чтобы с ней что-то эффективно можно было делать :(


>Могу кусок конфига прислать от сквида, где пулы прописаны.

вышли если не сложно grayich@rambler.ru



"firewall na FreeBSD-4.9 Release HELP!!!"
Отправлено Hammer , 25-Авг-04 07:20 
Как и просили мой конфиг сквида, весь:

http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 800000 KB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 10000 KB
minimum_object_size 0 KB
cache_dir ufs /opt/cache/squid/cache 150000 64 1024
ftp_passive on
ftp_telnet_protocol on
hosts_file /etc/hosts
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
refresh_pattern ^ftp:         &n... 1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               0       20%     4320

acl all src "/opt/squid/etc/user.allow" в этом файле созданы
разрешения для сетей и хостов типа 10.0.0.0/255.0.0.0
192.168.1.1/255.255.255.255

acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80          # http
acl Safe_ports port 8080        # http2
acl Safe_ports port 20          # ftp
acl Safe_ports port 21          # ftp
acl Safe_ports port 443 563     # https, snews
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl Safe_ports port 2121        # ftp proxy frox
acl CONNECT method CONNECT
acl froxserver src 192.168.14.111
http_access allow froxserver
http_access allow manager all
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow all
http_reply_access allow all
icp_access allow all
miss_access allow all
visible_hostname proxy.my_domain.net
forwarded_for on
cachemgr_passwd qwerty all
acl FTP proto FTP
always_direct allow FTP
icon_directory /opt/squid/share/icons
error_directory /opt/squid/share/errors/Russian-1251
delay_pools 1
delay_class 1 2    # pool 1 is a class 2 pool
delay_access 1 allow all

delay_parameters 1 -1/-1 -1/-1 8000/8000  - здесь определено что,
общий канал на сквид unlimited, канал на сеть unlimited и канал на
хост в сети 8 кб\с.

coredump_dir /opt/squid/var/cache
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

ЗЫ Сквид работает как транспарент, фтп проксирует модуль FROX система
freebsd 4.9