The OpenNET Project / Index page

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

ipfw config (freebsd ipfw firewall script)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: freebsd, ipfw, firewall, script,  (найти похожие документы)
_ RU.UNIX.BSD (2:5077/15.22) _____________________________________ RU.UNIX.BSD _ From : Igor Nikolaev 2:5030/266 Sat 12 Feb 28 17:50 Subj : ipfw config ________________________________________________________________________________ alexei <alexei@timer.mplik.ru> wrote: > А может кто скажет где можно /РАБОЧИЕ/ конфиги файрвала(ipfw) глянуть? В связи с тем, что мы начали строить конфиги perl'ом, вот предыдущая версия /etc/rc.firewall устанавливаемого на наших роутерах: (и я немного из неё убрал на всякий случай, security понимаешь ;) #!/bin/sh # # United firewall configuration # # в переменной $CONF каталог, где содержаться конфиги # в переменно $URL url из которого берутьяс настройки # конкретного роутера # VTC control network vtc="ip управляющей сети" mail_relay="ip почтового сервера" mail_ports="23,25,110,540" # debug mode if [ "${1}" = "echo" ]; then ipfw="/bin/echo" else ipfw="/sbin/ipfw" fi # router name rules=${CONF}/`/bin/hostname -s` # если конфиг тащиться по сети ( cd $CONF; /usr/bin/fetch ${URL}/`/bin/hostname -s` ) # interface ip number by name ip () { ifconfig $1 | grep inet | awk '{ print $2; }'; } # start list number rule_num=1000 # pass and deny rules pass () { rule_num=$(($rule_num+10)); $ipfw add $rule_num pass $*; } deny () { rule_num=$(($rule_num+10)); $ipfw add $rule_num deny $*; } # backbone segment backbone () { pass all from any to any via $1; } # any access any () { pass all from $1 to any pass all from any to $1 } # free acces from any interface from list to any lan () { local i j for i in $*; do for j in $*; do if [ $i != $j ]; then pass all from any to any out recv $i xmit $j fi done done } # client workstation: only outgoing tcp client () { pass tcp from $1 to any pass tcp from any to $1 established } # only mail workstation mailws () { pass tcp from $1 to $mail_relay $mail_ports pass tcp from $mail_relay $mail_ports to $1 } # server: only incoming tcp on port list server () { local ip port ip=$1 shift for port in $* do pass tcp from any to $ip $port pass tcp from $ip $port to any established done } $ipfw -f flush # Main rules pass all from any to any via lo0 deny all from any to 127.0.0.0/8 pass udp from any to any 33434-33523 #pass all from $vtc to any #pass all from any to $vtc #pass tcp from any to any established # named pass udp from any to $vtc 53 pass udp from $vtc 53 to any pass udp from $vtc to any 53 pass udp from any 53 to $vtc # snmp pass udp from any 161 to $vtc pass udp from $vtc to any 161 # icmp deny icmp from any to any frag pass icmp from any to any # Router rules . $rules $ipfw add 65000 deny all from any to any exit К этому безобразию прикладывается config файл вида client клиентская_машина server сервер порты mail_ws доставший_всех_урод lan список_пирящихся_интерфейсов и так далее... > так для начала хотелось бы глянуть на "рыбу", шаблон то бишь, как оно живёт > реально, может кто подскажет? Сейчас мы уходим от этой системы, но результат довольно сложен и мне лень писать документацию, хотя рыба уже есть. Hа самом деле всё становиться довольно сложно, в связи с закладками на netgraph, но наверное это далеко не всем нужно ;-) P.S. Господа, посоветуйте, где идеологически правильное место для хранения конфигов (переменная ${CONF} ? > С уважением, Алексей. -- Игорь Hиколаев --- ifmail v.2.12.os.sensi * Origin: http://hi.pu.ru/router.html (2:5030/266@fidonet)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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