>natd_enable="YES" >natd_intrefase="ed1" >natd_flags="-m" Хочу сказать что в рс.конф ну жно только включить саму потдержку нат еще желательно проверить включенна ли потдержка нат в самом ядре >rc.firewall >#!/bin/sh >ipfw='/sbin/ipfw -q' >ournet='192.168.0.1/24' >uprefix='192.168.0' >ifout='ed1' >ifuser='ed0' >${ipfw} flush >${ipfw} add 100 check-state >${ipfw} add 200 deny icmp from any to any in icmptype 5,9,13,14,15,16,17 > >${ipfw} add 210 reject ip from ${ournet} to any in via ${ifout} > >${ipfw} add 300 allow ip from any to any via lo >${ipfw} add 310 allow tcp from me to any keep-state via ${ifout} > >${ipfw} add 320 allow icmp from any to any >${ipfw} add 330 allow udp from me to any domain keep-state >${ipfw} add 340 allow udp from any to me domain >${ipfw} add 350 allow ip from me to any >${ipfw} add 400 allow tcp from 192.168.0.0/24 to me http,https,ssh,pop3 >${ipfw} add 410 allow tcp from not ${ournet} to me smtp >${ipfw} add 500 fwd 127.0.0.1,3128 tcp from ${ournet} to any http out >via ${ifout} >${ipfw} add 510 divert natd all from any to any via ed1 > >${ipfw} add 600 pass tcp from any to any pop3, aol >${ipfw} add 610 pass tcp from any pop3, aol to any >${ipfw} add 650 pass tcp from any 21 to any >${ipfw} add 651 pass tcp from any to any 21 >${ipfw} add 652 pass tcp from any 20 to any >${ipfw} add 653 pass tcp from any to any 20 >${ipfw} add 1002 allow ip from ${uprefix}.100 to any >${ipfw} add 1002 allow ip from any to ${uprefix}.100 >${ipfw} add 65535 deny ip from any to any Вся проблемма что надо вписывать правила в фаервол. строка 510 у тебя обсолютно верна но тебе надо добавить еще одно правило для твоего случая. ipfw add allow ip from any to any видешли в чом дело если ты добавиш это правило то вся твоя защита, как ты понимаеш и сам, просто накроеться медным тазом. Поэтому советую пересмотреть и открыть не всем как у тебя указанно в строке 510 а только определенной подсети например ${ipfw} add 510 divert natd all from ${ournet} to any via ed1 ipfw add allow ip from ${ournet} to any ipfw add allow ip from any to ${ournet} вот это будет работать и все у тебя будет хорошо. и еще для более грамотной экономии трафика я бы посоветовал оставить сквид в конце концов там можно и позапрещать те сайты на которые ты не хочеш что бы люди ходили. а нат оставить для приват ip адресов и конечно для себя любимого. И вместо всяких keep-state я бы просто добавил строку: ipfw add allow tcp from any to me established если тебе это подходит конечно.Строка должна эта стоять после ната если хочеш что бы он работал. С наилучшеми пожеланиями
|