Гы :) Тема еще актуальна. Я как раз почти доделал свою переделку - ибо такая схема фиревола крайне гибкая, а мне дома подфартила локалка с интернетом через VPN, и вот таким способом очень удобна кидать запросы на разные natd, рулить трубы и делать гадости пользователям :) Помню как мучался с этой схемой и ничего не выходило. А тут жизнь заставила.. Собсно вот оно. Рабочее. ep0 - внешний интерфейс, rl0 - внутренний. Дабы пользователи имеющие адресок принадлежащий внутренней сети, могли печатать через принтспулер на самбе добавленно соответствующее правило ДО правил индивидуального допуска. Повторяю - это недоделка, но недоделка не самая небезопасная. В днс и сквиде свои допуски. #!/bin/sh ournet="192.168.0.0/24" ourprefix="192.168.0" ipnet="xxx.xxx.xxx.xxx/24" ipout="xxx.xxx.xxx.xxx" ifout="ep0" ifuser="rl0" # CLEAR RULES ipfw -q flush # BEGIN FIREWALLING ipfw add 10 check-state # START DENYING ipfw add 11 deny icmp from any to any in icmptype 5,9,13,14,15,16,17 ipfw add 17 reject ip from ${ournet} to any in via ${ifout} ipfw add 19 deny tcp from any to any 137,138,139,445 via ${ifout} ipfw add 20 deny udp from any to any 137,138,139,445 via ${ifout} ipfw add 21 deny ip from 69.134.205.181 to any ipfw add 22 deny ip from any to 69.134.205.181 # THIS MUST BE ipfw add 70 allow all from any to any via lo # NETBIOS ipfw add 71 allow udp from me to any 137,138 out via ${ifuser} ipfw add 72 allow udp from any 137,138 to any out via ${ifuser} ipfw add 73 allow tcp from me to ${ournet} 139,445 out via ${ifuser} ipfw add 74 allow tcp from me 139,445 to ${ournet} out via ${ifuser} ipfw add 75 allow udp from me to any 137,138 in via ${ifuser} ipfw add 76 allow udp from any 137,138 to any in via ${ifuser} ipfw add 77 allow tcp from ${ournet} to me 139,445 in via ${ifuser} ipfw add 78 allow tcp from ${ournet} 139,445 to me in via ${ifuser} # ALLOW DNS ipfw add 80 allow udp from me to any 53 keep-state ipfw add 81 allow udp from any to me 53 keep-state # ALLOW NTP ipfw add 85 allow ip from 195.2.64.5 to me via ${ifout} ipfw add 86 allow ip from me to 195.2.64.5 via ${ifout} # SQUID ipfw add 250 fwd 127.0.0.1,3128 tcp from ${ournet} to any 80,443 out via ${ifout} # FROX ipfw add 251 fwd 127.0.0.1,2121 tcp from ${ournet} to any 21 out via ${ifout} # NATD INTERNET ipfw add 300 divert natd ip from ${ournet} to any out via ${ifout} ipfw add 400 divert natd ip from any to ${ipout} in via ${ifout} #------------------ USER SECTION ---------------------------- # USER 1 ipfw add 1002 allow ip from ${ourprefix}.4 to any in via ${ifuser} ipfw add 1003 allow ip from any to ${ourprefix}.4 # USER 2 ipfw add 1004 allow ip from ${ourprefix}.123 to any in via ${ifuser} ipfw add 1005 allow ip from any to ${ourprefix}.123 #------------------ OUT SECTION ----------------------------- ipfw add 1410 allow ip from ${ipout} to any out via ${ifout} ipfw add 1400 allow ip from any to ${ipout} in keep-state via ${ifout} # DENY BROADCASTS WITHOUT LOGGING ipfw add 2999 deny all from any to 255.255.255.255 via ${ifout} # DENY ANYTHING ELSE WITH LOGGING ipfw add 3000 deny log ip from any to any
|