The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"здравствуйте! посмотрите пожалуйста мой firewall.conf, подскажи"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Firewall, Фильтрация пакетов / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"здравствуйте! посмотрите пожалуйста мой firewall.conf, подскажи"  +/
Сообщение от ARH665 email(ok) on 16-Янв-11, 22:29 
здравствуйте! посмотрите пожалуйста мой firewall.conf, подскажите, как в нем, с таким алгоритмом резки, можно ограничить скоро исходящего трафика?


#!/bin/sh
FwCMD="/sbin/ipfw -q"
IfOut="rl0"
IpOut="110.64.143.95"
NetOut="110.64.143.0/24"
IfIn="rl1"
IpIn="192.168.0.1"
NetIn="192.168.0.0/24"
NetMask="255.255.255.0"

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

i=4
while [ $i != 252 ]
do

${FwCMD} add pipe $i ip from not ${NetIn}/${NetMask} to 192.168.0.${i}

#######################################################
Shaper start
#######################################################

# Speed to all not in rules
${FwCMD} pipe $i config bw 256Kbit/s

# Rules

# Me test
if [ $i -eq 253 ]
then
${FwCMD} pipe $i config bw 5000Kbit/s
fi

# VPN1
if [ $i -eq 103 ]
then
${FwCMD} pipe $i config bw 5000Kbit/s
fi

# VPN2
if [ $i -eq 104 ]
then
${FwCMD} pipe $i config bw 5000Kbit/s
fi

#######################################################
# Rules and shaper end
#######################################################

i=$(($i+1))
done


#######################################################
# Firewall settings
#######################################################

дальше детальная настройка фаервола
...
и т.п.
спасибо заранее!

зы. сори за название топика, у меня форум ошибку неизведанную показывал, я и косанул копипастом :)

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "здравствуйте! посмотрите пожалуйста мой firewall.conf, подскажи"  +/
Сообщение от YuSt on 17-Янв-11, 03:40 
... хм.. ну лично я "алгоритма резки не увидел ... вижу только алгоритм построения кучи пайпов, и все. А по каким правилам туда попадают пакеты, одно или много- проходной ipfw ... тишина ... Выложите весь конфиг, что-ли... И статус net.inet.ip.fw.one_pass - что-бы было понятно как его читать ...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "здравствуйте! посмотрите пожалуйста мой firewall.conf, подскажи"  +/
Сообщение от ARH665 email(ok) on 17-Янв-11, 08:40 
> ... хм.. ну лично я "алгоритма резки не увидел ... вижу только
> алгоритм построения кучи пайпов, и все.

на этом внимание можно не заострять, главное что работает и для временной конфигурации сойдет


> А по каким правилам туда попадают пакеты, одно или много- проходной ipfw ... тишина ... Выложите
> весь конфиг, что-ли...

#######################################################
# Firewall settings
#######################################################

${FwCMD} add 40000 check-state
${FwCMD} add allow ip from any to any via lo0

${FwCMD} add allow icmp from any to any frag
${FwCMD} add deny log icmp from any to 255.255.255.255 in via ${IfOut}
${FwCMD} add deny log icmp from any to 255.255.255.255 out via ${IfOut}
${FwCMD} add divert 8668 ip from ${NetIn} to any via ${IfOut}
${FwCMD} add divert 8668 ip from any to ${IpOut} via ${IfOut}
${FwCMD} add deny ip from any to 127.0.0.0/8
${fwcmd} add deny ip from 127.0.0.0/8 to any
${fwcmd} add deny ip from 172.16.0.0/16 to any via ${IfOut}
${fwcmd} add deny ip from 192.168.1.0/24 to any via ${IfOut}
${fwcmd} add deny ip from any to 10.0.0.0/8 via ${IfOut}
${fwcmd} add deny ip from any to 172.16.0.0/12 via ${IfOut}
${fwcmd} add deny ip from any to 192.168.0.0/16 via ${IfOut}
${fwcmd} add deny ip from any to 0.0.0.0/8 via ${IfOut}
${fwcmd} add deny ip from any to 169.254.0.0/16 via ${IfOut}
${fwcmd} add deny ip from any to 192.0.2.0/24 via ${IfOut}
${fwcmd} add deny ip from any to 224.0.0.0/4 via ${IfOut}
${fwcmd} add deny ip from any to 240.0.0.0/4 via ${IfOut}
${fwcmd} add deny ip from 10.0.0.0/8 to any via ${IfOut}
${fwcmd} add deny ip from 172.16.0.0/12 to any via ${IfOut}
${fwcmd} add deny ip from 192.168.0.0/16 to any via ${IfOut}
${fwcmd} add deny ip from 0.0.0.0/8 to any via ${IfOut}
${fwcmd} add deny ip from 169.254.0.0/16 to any via ${IfOut}
${fwcmd} add deny ip from 192.0.2.0/24 to any via ${IfOut}
${fwcmd} add deny ip from 224.0.0.0/4 to any via ${IfOut}
${fwcmd} add deny ip from 240.0.0.0/4 to any via ${IfOut}

${fwcmd} add allow tcp from any to me established
${fwcmd} add allow ip from any to any frag
${fwcmd} add allow icmp from any to ${IpOut} icmptypes 0,8,11
${fwcmd} add allow tcp from any to ${IpOut} dst-port 53 setup
${fwcmd} add allow udp from any to ${IpOut} dst-port 53
${fwcmd} add allow udp from ${IpOut} 53 to any
${fwcmd} add allow udp from ${IpOut} to any dst-port 53 keep-state
${fwcmd} add allow tcp from any to ${NetIn} dst-port 53 setup
${fwcmd} add allow udp from any to ${NetIn} dst-port 53
${fwcmd} add allow udp from ${NetIn} 53 to any
${fwcmd} add allow udp from ${NetIn} to any dst-port 53 keep-state
${fwcmd} add allow udp from ${IpOut} to any dst-port 123 keep-state
${fwcmd} add allow udp from ${NetIn} to any dst-port 123 keep-state
${fwcmd} add allow tcp from any to ${IpOut} 22
${fwcmd} add allow tcp from ${IpOut} 22 to any
${fwcmd} add allow tcp from ${IpOut} to any 22
${fwcmd} add allow tcp from any 22 to ${IpOut}
${fwcmd} add allow tcp from ${IpOut} to any dst-port 80
${fwcmd} add allow tcp from any to ${IpOut} dst-port 25 setup
${fwcmd} add deny log tcp from any to any in via ${IfOut} setup
${fwcmd} add allow tcp from any to any setup
${fwcmd} add allow all from any to me domain

отчасти тут много мусора, знаю. но опять же говорю, что конфигурация временная, сейчас нужно просто порезать исходящую скорость

> И статус net.inet.ip.fw.one_pass - что-бы было понятно как
> его читать ...

srv2# sysctl net.inet.ip.fw.one_pass
net.inet.ip.fw.one_pass: 0

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "здравствуйте! посмотрите пожалуйста мой firewall.conf, подскажи"  +/
Сообщение от YuSt on 17-Янв-11, 09:30 
... вот оно - зло копипаста без дальнейшего раскуривания манов ;) Ей-ей, не за что обижаться - хотите понять как работает - курите маны "до проникновения", а подобные копипасты - хороший пример для старта, не более того ...
У Вас же есть правило - ${FwCMD} add pipe $i ip from not ${NetIn}/${NetMask} to 192.168.0.${i}, что мешало по той-же логике создать обратное, что-то типа ${FwCMD} add pipe $i ip from 192.168.0.${i} to not ${NetIn}/${NetMask} ?
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "здравствуйте! посмотрите пожалуйста мой firewall.conf, подскажи"  +/
Сообщение от ARH665 email(ok) on 17-Янв-11, 18:08 
> У Вас же есть правило - ${FwCMD} add pipe $i ip from
> not ${NetIn}/${NetMask} to 192.168.0.${i}, что мешало по той-же логике создать обратное,
> что-то типа ${FwCMD} add pipe $i ip from 192.168.0.${i} to not
> ${NetIn}/${NetMask} ?

Насчет раскуривания манов знаю, виноват, копипаст в экстренной ситуации выручил, надо сделать это фаервол на время, а потом приведем к нормальной форме. Вроде понял, при резке входящей скорости имеется цикл, если есть цикл для входящего, значит нужен и для исходящего, верно? значит запускаем цикл с исходящим с переменной j. Сначала режем скорость входящую, по циклу, а потом скорость исходящую следующим циклом. Подскажите пожалуйста, так правильно будет написать:

###############
# in settings #
###############
i=4
while [ $i != 252 ]
do

# Speed to all not in rules in
${FwCMD} pipe $i config bw 256Kbit/s

# in shaper
${FwCMD} add pipe $i ip from not ${NetIn}/${NetMask} to 192.168.0.${i}

# in speed 253
# Me test
if [ $i -eq 253 ]
then
${FwCMD} pipe $i config bw 50000Kbit/s
fi

i=$(($i+1))
done

################
# out settings #
################
j=4
while [ $j != 252 ]
do

# Speed to all not in rules out
${FwCMD} pipe $j config bw 256Kbit/s

# out shaper
${FwCMD} add pipe $j ip from 192.168.0.${j} to not ${NetIn}/${NetMask}

# out speed 253
# Me test
if [ $j -eq 253 ]
then
${FwCMD} pipe $j config bw 10000Kbit/s
fi

j=$(($j+1))
done

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
MIRhosting
Inferno Solutions
Hosting by Ihor
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2019 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру