tekrar merhabalar,

kurallarımın en başında belirtmiş olduğum 
block in log-all all
block out log-all all
pass in  quick on lo0 all
pass out quick on lo0 all

bu satırlarından sonra iç ağdaki kullanıcılarıma fw belli portlara ulaşma izini 
verdim
pass in quick on $int_if proto tcp from $lan_net to any port { 
22,25,80,110,8080,12200,443,444,53 } flags S/SA keep state
daha sonra fw nin dış modemlere bakan interfacelerinede çıkış izini verdim

pass out on $ext_if proto {tcp,udp} from $fwips to any  keep state
pass out on $ext_if2 proto {tcp,udp} from $fwips to any  keep state

iç ağdaki kullanıcılarım fw üzerinde izin verdiğim portlara bağlanabiliyorlar 
problem yok ama izin vermeme rağmen dışarıdaki bir mail serverada 
bağlanabiliyorlar.
bunu nasıl engelleyebilirim.

  ----- Original Message --pass in quick on $int_if proto tcp from $lan_net to 
any port { 22,25,80,110,8080,12200,443,444,53 } flags S/SA keep state
  From: vys 
  To: [email protected] 
  Sent: Wednesday, April 16, 2008 8:55 AM
  Subject: Re: [FreeBSD] Freebsd + PF 


  Huzeyfe hocam bu değerli bilgiler için teşekkür ederim

  sağlıçakla kalın....
    ----- Original Message ----- 
    From: Huzeyfe ONAL 
    To: [email protected] 
    Sent: Tuesday, April 15, 2008 9:34 PM
    Subject: RE: [FreeBSD] Freebsd + PF 


    Merhabalar,

     

    1-3)ext_if uzerinden paketleri cikis ipleri ext_if2 olacak sekilde 
natliyorum ve bu paketleri IF2 olarak isaretliyorum, sonra filtreleme kisminda 
IF2 seklinde isaretlenmis paketleri diger arabirime gonderiyorum.

     

     

     

    2) ext_if:0 daki :0 o arabirime ait ilk ip adresi manasina geliyor. Kendi 
sistemimde ext_if uzerinde birden fazla ip adresi oldugu icin ilk ip adresini 
kullanmam icin o sekilde belirtmem gerekiyor J

     


----------------------------------------------------------------------------

    From: vys [mailto:[EMAIL PROTECTED] 
    Sent: Tuesday, April 15, 2008 8:36 PM
    To: [email protected]
    Subject: Re: [FreeBSD] Freebsd + PF 

     

    Hocam Tekrar Mrb,

     

    Kurallarımı sizin söylediğiniz şekilde düzenledim ve sistem şuan 
çalışıyor.Fakat göndermiş olduğunuz kurallarda anlamadığım kısımlar var bunları 
açıklamız mümkünmü acaba. konuyu daha iyi kavrama açısından.

     

    1. nat on $ext_if proto tcp from self to any port smtp  tag IF2 -> 
($ext_if2)
       nat on $ext_if proto tcp from self to any port pop3  tag IF2 -> 
($ext_if2)  burdaki smtp veya pop3 tag IF2 satırıyla ne yapmak istiyoruz tag 
IF2 nedir.

     

    2.pass in quick log on $ext_if2 reply-to($ext_if2 $ext_gw2) proto tcp from 
any to $ext_if2:0 port 80 keep state 

      satırındaki $ext_if2:0 ne anlama geliyor

     

    3.pass out quick on $ext_if route-to ($ext_if2 $ext_gw2) tagged IF2 keep 
state
       burda $ext_if route-to ($ext_if2 $ext_gw2) tagged IF2 keep state ne 
yapmak istiyoruz.

    huzeyfe hocam inşallah çok fazla rahatsız etmemiyorumdur.

     

    Saygılar......

     

      ----- Original Message ----- nat on $ext_if proto tcp from self to any 
port smtp  tag IF2 -> ($ext_if2)
      nat on $ext_if proto tcp from self to any port pop3  tag IF2 -> ($ext_if2)

      From: Huzeyfe ONAL 

      To: [email protected] 

      Sent: Tuesday, April 15, 2008 7:13 PM

      Subject: RE: [FreeBSD] Freebsd + PF 

       

      Selamlar,

       

      SMTP icin asagidaki kurali kullanabilirsiniz. Diger protokolleri de buna 
bakarak cogaltabilirsiniz.

       

       

      pass in quick log (all) on $ext_if0 reply-to($ext_if0 $ext_gw0) proto tcp 
from any to $ext_if0:0 port 25 keep state

       

       

      Firewalldan cikacak smtp paketleri icin ornegi bir onceki mailimde 
bulabilirsiniz.


--------------------------------------------------------------------------

      From: vys [mailto:[EMAIL PROTECTED] 
      Sent: Tuesday, April 15, 2008 7:06 PM
      To: [email protected]
      Subject: Re: [FreeBSD] Freebsd + PF 

       

      Huzeyfe Hocam Merhabalar,

       

      Öncelikle konuyu daha anlamak açısından biraz daha örnekler veremeniz 
mümkünmü acaba.

       

      kullanılan sistem freebsd merak ettiğim konu ise sunucumdan attığım mail 
veya başka bir şey 1. dsl den,sunucu üzerinden internette sörf yaparken 2.dsl 
den çıkması için veya dışarıdaki bir ssh sunucusuna bağlandığımda 1. dsl den 
çıksın gibi örnekleyerek verebilirseniz çok makbule geçer hocam.

       

      saygılar.... 

       

       

        ----- Original Message ----- 

        From: Huzeyfe ONAL 

        To: [email protected] 

        Sent: Tuesday, April 15, 2008 5:53 PM

        Subject: RE: [FreeBSD] Freebsd + PF 

         

        Merhabalar,

         

        Bir hat uzerinden gelen paketin ayni hattan geri donmesi icin reply-to 
kullanmaniz gerekiyor.

         

        Bunun haricinde  route-to kavramini Firewall'un kendisi icin degil de 
ic agdan gelen istekler icin bu sekilde kullanabilirsiniz. Firewallun 
kendisinin urettigi trafigi farkli hatlara gondermek icin asagidaki gibi 
nat/filtering kurallari yazmayi deneyin. 

         

         

        (II. hattan SMTP isteklerinin cikmasi icin)

         

        nat on $ext_if proto tcp from self to any port smtp  tag IF2 -> 
($ext_if2)

         

        pass out quick on $ext_if route-to ($ext_if2 $ext_gw2) tagged IF2 keep 
state

         

        (OpenSD 4.2 vs kullaniyorsaniz keep state'e gerek yok)

         

         

        Ek olarak kurallariniza baktigimda eksik/yanlis tanimlar var. Genelde 
tek hat dusunulerek yazilmis kurallar gibi gozukuyor.

         

         

        En basitinden ;

         

        pass in on $int_if route-to { ($ext_if $ext_gw1), ($ext_if2 $ext_gw2) } 
round-robin from $lan_net to any keep state

         

        kurali ile ic ag kullanicilarini iki hat uzerine dagitmis 
gozukuyorsunuz, isteginiz bu kullanicilarin tek hat uzerinden olmasi ise tek 
cikis gosterin ve round-robin kullanmayin.

         


------------------------------------------------------------------------

        From: vys [mailto:[EMAIL PROTECTED] 
        Sent: Tuesday, April 15, 2008 1:03 PM
        To: [email protected]
        Subject: [FreeBSD] Freebsd + PF 

         

        Arkadaslar Merhaba,

        daha öncede listede konu hakkinda sorularim olmustu ama hala 
çözemedigim bir kaç durumu 
        sizlerle paylasmak istedim.

        bir sunucu üzerinde hem proxy hemde mail server kurulu ve çalisir 
durumda. simdi benim 
        yapmak istedigim ise bu sunucuda 2 adet dsl takill durumda packet 
filterla mail sunucumun 
        mailleri gönderirken ve mailleri alirken adsl1 üzerinden 
haberlessin,kullanicilariminda 
        internete çikarken veya baska kaynaklara ulasirkende adsl2 yi 
kullanmasin istiyorum. 
        buna görede pf.conf umu düzenledim.bu noktada su sorunlarla 
karsilasiyorum birincisi 
        disaridan mail sunucusuna telnet le baglanmaya çalistigimda baglanmiyor 
loglarda ise pass 
        olarak görebiliyorum ama ayni sekilde sunucuma sshla baglandigimda 
adsl2 üzerinden hiçbir 
        problem yok adsl1 üzerinden 25,110 sunucuya yönlendirilmis durumda 
acaba gözden 
        kacirdigim veya bilmedigim bir seylerlemi var kural tablom asagidaki 
gibidir.

        ###################################################
        # Macros
        ###################################################
        lan_net = "{ 10.0.0.0/24, 10.0.2.0/24, 10.0.3.0/24, 10.0.4.0/24  }"
        int_if = "bge0"
        ext_if = "vr0"
        ext_if2 = "vr1"
        ext_gw1 = "192.168.100.213" (Proxy için)
        ext_gw2 = "192.168.110.25"  (Mail Trafigi için)
        fwips = "{127.0.0.1, 10.0.0.2, 192.168.100.212, 192.168.110.26}"

        ##################################################
        #Tanimlar
        ##################################################
        table <msn> persist file "/usr/local/etc/fw/msn"
        table <ftp> persist file "/usr/local/etc/fw/ftp"

        ###################################################
        # Set Optimizations
        ###################################################
        set limit { frags 30000, states 25000 }
        set loginterface $ext_if
        scrub in all

        ##################################################
        #Nat Kurallari
        ##################################################
        nat on $ext_if from $lan_net to any -> ($ext_if)
        nat on $ext_if2 from $lan_net to any -> ($ext_if2)

        rdr on $int_if proto tcp from any to any port 80 -> 10.0.0.2 port 8080

        ##################################################
        #Kurallar
        ##################################################
        block in log-all all
        block out log-all all
        pass in  quick on lo0 all
        pass out quick on lo0 all

        ##################################################
        #Route-to
        ##################################################
        pass in on $int_if route-to { ($ext_if $ext_gw1), ($ext_if2 $ext_gw2) } 
round-robin from $lan_net to any keep state
        pass out on $ext_if  route-to ($ext_if2 $ext_gw2) from $ext_if2 to any 
keep state
        pass out on $ext_if2  route-to ($ext_if $ext_gw1) from $ext_if to any 
keep state

        ##################################################
        #Port Bazli Routing
        ##################################################
        pass out  quick on $ext_if  route-to ($ext_if2 $ext_gw2) proto tcp from 
$fwips to any port 25  keep state
        pass out  quick on $ext_if2  proto tcp from $fwips to any port 25  keep 
state
        pass in quick log on $int_if  route-to ($ext_if2 $ext_gw2) proto tcp 
from $lan_net to any port 25  keep state

        ##################################################
        # Firewalla izin veriliyor ç?k??lar
        ##################################################

        pass out quick on $ext_if proto {tcp,udp} from $fwips to any  keep state
        pass out quick on $ext_if2 proto {tcp,udp} from $fwips to any  keep 
state

        ##################################################
        #Lan_net ten Firewalla izin verilen Portlar
        ##################################################
        pass in quick on $int_if proto tcp from $lan_net to any port { 
22,25,80,110,8080,12200,443,444,53 } flags S/SA keep state
        pass in quick on $int_if proto tcp from <msn> to any port = 1863 flags 
S/SA keep state
        pass in quick on $int_if proto tcp from <ftp> to any port = 21 flags 
S/SA keep state
        pass in quick on $int_if proto { udp, icmp } from $lan_net  to any keep 
state

        ##################################################
        #Ext_if2 Uzerinden Gelisler
        ##################################################
        pass in quick log on $ext_if2 proto tcp from any to any port 
{25,80,110,53} flags S/SA keep state

        ##################################################
        #Ext_if Uzerinden Gelisler
        ##################################################
        pass in quick log on $ext_if proto tcp from any to any port = 22 flags 
S/SA keep state 

Cevap