Salut!
 
Am urmatoarea problema: am facut un firewall cu pf (il gasiti in fisierul atasat) si realizarea conexiunii pe servicile de ftp si ssh merge groaznic de greu.
 
Concret, in cazul ssh-ului lucrurile se intampla cam asa:
- ma conectez cu putty sau de pe o alta statie linux
- imi apare imediat promptul pentru introducerea username-ului     
- promptul pentru parola apare dupa 3 minute sau cam asa ceva
- dupa ce, in sfarsit, apare promptul pentru parola, totul decurge normal si ca viteza si ca orice altceva.
 
In cazul ftp-ului, incercarea de conectare dureaza de asemenea cateva minute, dupa care merge, iar viteza de transfer e cea normala
 
nu inteleg ce se intampla ... cand firewall-ul e scos si sunt active doar regulile de nat, totul merge ok
 
Multam anticipat
 
Mircea
 
PS. fisierul cu regulile pf sunt in fisierul atasat.
#____________________________________________________________________________
#MACROS: variabile folosite de script (interfete, clase, adrese clienti, etc.)


    # Interfetele serverului
        ext_if="de0"    
        int_if="de1"    


    # Ip-urile corespondente interfetelor
        int_ip="10.0.0.1"
        ext_ip="192.168.16.117"
    

    # Servicii oferite in internet (porturi pe care exista acces pe interfata 
ext_if)
        servicii_internet = "{ 20, 21, 80, 443 }"
        

    # Servicii la care au acces clientii
        servicii_clienti = "{ 20, 21, 80, 443, 53, 135:139 }"
        

    # Servicii pentru administratori
        servicii_admin = "{ 20, 21, 80, 443, 53, 135:139, 222, 11324, 10000 }"


#____________________________________________________________________________
#TABLES: similare cu "macros", dar mult mai flexibile pentru adrese numeroase

    table <clienti> { 10.0.0.0/24, !10.0.0.1, !10.0.0.2 }
    table <admin> { 10.0.0.2 }


#______________________________________________________________________
#OPTIONS: rafineaza executia "pf"-ului. Acestea sunt valorile implicite

    #set timeout { interval 10, frag 30 }
    #set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 }
    #set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 90 }
    #set timeout { udp.first 60, udp.single 30, udp.multiple 60 }
    #set timeout { icmp.first 20, icmp.error 10 }
    #set timeout { other.first 60, other.single 30, other.multiple 60 }
    #set timeout { adaptive.start 0, adaptive.end 0 }
    #set limit { states 10000, frags 5000 }
    #set loginterface none
    #set optimization normal
    #set block-policy drop
    #set require-order yes
    #set fingerprints "/etc/pf.os"


#_______________________________________________________________________________________
#NORMALIZATIONS: reasambleaza fragmentele si rezolva sau reduce ambiguitatile 
traficului

    #scrub in all


#__________________________________
#QUEING: controlul latimii de banda

    #altq on $ext_if bandwidth 2Mb cbq queue { dflt, developers, marketing }
    #queue dflt bandwidth 5% cbq(default)
    #queue developers bandwidth 80%
    #queue marketing  bandwidth 15%


    #__________________________
    # assign packets to a queue
    
        #pass out on $ext_if from 192.168.0.0/24 to any keep state queue 
developers
        #pass out on $ext_if from 192.168.1.0/24 to any keep state queue 
marketing


#__________________________________________________________________
# TRANSLATIONS: NAT echivalent cu SNAT, RDR echivalent cu DNAT

        nat on $ext_if from { <clienti>, <admin> } to any -> $ext_ip
        #rdr on $int_if proto { tcp udp } from any to any port 23 -> $int_ip 
port 23

#______________________________________________
# FILTERING:
        
        # ACCES CLIENTI
        #______________
        
            # Clientii sunt conectati fizic numai pe "INT_IF", prin urmare 
pentru 
            # a-i selecta din toata reteaua numai pe cei cu drept de iesire in 
internet:
            # BLOCAM TOATE PACHETELE DE INTRARE PE "INT_IF" 
            # PERMITEM ACCESUL NUMAI DE LA IP-urile CLIENTILOR, dar NUMAI PE 
PORTURILE ENUMERATE

                block in on $int_if from any to any
                pass in on $int_if proto { tcp udp } from <clienti> to any port 
$servicii_clienti
                pass in on $int_if proto { tcp udp } from <admin>   to any port 
$servicii_admin
        

        # FILTRAREA SERVICIILOR LA CARE POATE RASPUNDE SERVERUL IN URMA 
APELURILOR 
        # DIN INTERNET
        # 
_______________________________________________________________________       
        
            # BLOCAM TOATE PACHETELE DE INTRARE PE "EXT_IF" 
            # PERMITEM ACCESUL DE LA TOATE IP-urile, dar NUMAI PE PORTURILE 
ENUMERATE

            # mentiune!!! ftp-ul merge mai greu cand filtrele sunt active, iar 
ssh-ul 
            # merge doar pana la momentul solicitarii username-ului, dupa care 
promptul 
            # de parola nu mai apare (!?!?!?!?)
             
                block in on $ext_if from any to any
                pass in on $ext_if proto { tcp udp } from any to any port 
$servicii_internet    
                
        

Raspunde prin e-mail lui