|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Dmitriy Dubinin 2:5029/34 16 Nov 2005 11:57:44 To : Max Khon Subject : Re: Принимайте новичка в компанию.... -------------------------------------------------------------------------------- MK> hi, there! MK> 15 Nov 05 11:39, you wrote to Timofey Andreewski: TA>>> Hе, господа. Hачинать надо с того файрволла (хотя, IMHO, это TA>>> касается VG>> вообще TA>>> чуть ли не всего на свете) с которым может помочь находящийся в TA>>> пределах досягаемости знаток типа гуру, ну или результат его TA>>> деятельности (конфиг, например, в данном случае)... Хотя маны, TA>>> конечно, никто не отменял... VG>> Однако TA>>> доступный гуру, IMHO, круче мана... А вот если его нету... TA>>> Я вот, лично для себя, составил мнение об этих трех сущностях: TA>>> ipf - самый простой и понятный, но самый "малоразвитый" что-ли... TA>>> ipfw - мощный, но че-то у него конфиги какие-то сложные... TA>>> pf - такое ощущение, что может все, отсюда, несмотря на не очень TA>>> сложные конфиги (а-ля ipf), сложно освоить такую кучу инфы... это TA>>> мое личное IMHO. Могу быть и не прав... Пока. VG>> Да куда уж проще ipfw ? Правила идут строго по порядку по номерам, это VG>> очень просто. MK> когда правил становится много становится тяжко. Мне попроще стало с применением skipto и препроцессора. Примерный текст скрипта - 100 строк вместе с форматированием и коментариями. Число правил менее 50. Если кого заинтересовало, mark.m4 дам. include(`mark.m4')dnl echo -n mark(loc_in) mark(loc_out) mark(tee_in) mark(tee_out) mark(vpn_in) mark(vpn_out) > /var/tmp/tee_rul_num fwcmd="/sbin/ipfw -q" #dbg fwcmd="/sbin/ipfw" ${fwcmd} -f flush #${fwcmd} disable one_pass ${fwcmd} add nn allow via lo0 ${fwcmd} add nn deny log { dst-ip 127.0.0.0/8 or src-ip 127.0.0.0/8 } ${fwcmd} add nn deny log not verrevpath in ${fwcmd} add nn deny log { src-ip 10.0.0.0/8 or src-ip 172.16.0.0/12 or \ dst-ip 10.0.0.0/8 or dst-ip 172.16.0.0/12 } ################################################ # interface ################################################ ${fwcmd} add nn skipto mark(if_loc) via sis0 ${fwcmd} add nn skipto mark(if_inet) via ng0 ${fwcmd} add nn skipto mark(if_ggaz) via ng1 ${fwcmd} add nn deny log all from any to any ################################################ # LAN ################################################ crea_mark_np(if_loc) ${fwcmd} add nn skipto mark(loc_in) in crea_mark_np(loc_out) ${fwcmd} add nn allow all from any to any crea_mark_np(loc_in) ${fwcmd} add nn fwd 127.0.0.1,3128 proto tcp not dst-ip 192.168.50.0/24,127.0.0.0/8,62.5.33.217 dst-port 80 ${fwcmd} add nn allow all from any to any ################################################ # VPN Ggaz ################################################ crea_mark_np(if_ggaz) ${fwcmd} add nn skipto mark(vpn_out) src-ip 192.168.50.0/24 dst-ip 192.168.1.0/24,192.168.21.13,192.168.21.12,192.168.20.21 out ${fwcmd} add nn skipto mark(vpn_in) src-ip 192.168.1.0/24,192.168.21.13,192.168.21.12,192.168.20.21 dst-ip 192.168.50.0/24 in ${fwcmd} add nn deny log all from any to any crea_mark_np(vpn_out) ${fwcmd} add nn allow all from any to any crea_mark_np(vpn_in) ${fwcmd} add nn allow all from any to any ################################################ # interface inet ################################################ crea_mark_np(if_inet) ${fwcmd} add nn skipto mark(if_inet_in) in # out via if_inet ${fwcmd} add nn divert 8668 src-ip 192.168.50.11,192.168.50.12,192.168.50.2,192.168.50.15,192.168.50.14 ${fwcmd} add nn unreach net-prohib log not src-ip 62.5.33.217 crea_mark_np(tee_out) ${fwcmd} add nn skipto mark(shaper) all from any to any # in via if_inet crea_mark_np(if_inet_in) crea_mark_np(tee_in) ${fwcmd} add nn deny log not dst-ip 62.5.33.217 ${fwcmd} add nn divert 8668 all from any to any ${fwcmd} add nn skipto mark(shaper) proto tcp established ${fwcmd} add nn skipto mark(shaper) proto ip frag ${fwcmd} add nn skipto mark(shaper) not dst-ip 62.5.33.217 ${fwcmd} add nn deny log proto udp dst-port socks,3306 ${fwcmd} add nn deny log proto tcp dst-port socks,3306,8080 setup ${fwcmd} add nn skipto mark(shaper) proto udp dst-port domain,ntp ${fwcmd} add nn skipto mark(shaper) { proto icmp or proto gre } ${fwcmd} add nn skipto mark(shaper) proto tcp \ dst-port domain,ftp,telnet,ssh,smtp,http,https,auth,nntp,pptp,imaps,pop3s,49152-65535 setup ${fwcmd} add nn skipto mark(shaper) proto udp dst-port 49152-65535 ${fwcmd} add nn deny log all from any to any ########### # SHAPER ########### ##input inet #${fwcmd} pipe 100 config bw 128Kbit/s queue 20Kbytes #output #${fwcmd} pipe 200 config bw 128Kbit/s queue 20Kbytes crea_mark_np(shaper) #${fwcmd} add nn pipe 100 in via ng0 #${fwcmd} add nn pipe 200 out via ng0 ${fwcmd} add nn allow all from any to any -- Dmitriy Dubinin --- ifmail v.2.15.lk7.b7 * Origin: Blue Flame Station (2:5029/34@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/121176beee067.html, оценка из 5, голосов 10
|