[RoLUG] netfilter

Pierpaolo Bergamo rolug@lists.linux.it
Mon, 21 Oct 2002 18:13:39 +0200


ciarez@inwind.it wrote:

>>Ho un problema, forse stupido, con netfilter: se mi potessi auitare...
>>
>>La situazione della rete è questa:
>>
>>HOST_INTERNI 192.168.3.24 -> SNAT a.b.c.x -> INTERNET 
>>SERVER_WEB_INTERNO 192.168.3.199 <- DNAT a.b.c.y <- INTERNET
>>
>>Quello che ti volevo chiedere, riguarda il fatto che se dall'host 
>>interno voglio 
>>raggiungere il server web con il suo indirizzo ip pubblico non ci 
>>riesco.
>>Se faccio un ping mi dice "richiesta scaduta".
>>So che basterebbe chiamare il server col suo ip privato ma allora non 
>>
>è 
>
>>+ bello...
>>Il fatto è che in una azienda hanno un fw che implementa + o - le 
>>stesse funzioni,
>>pero' il giro che ti ho detto da loro funziona :(
>>Sapresti dirmi perchè?
>>

dunque.... queste le condizioni:
1) rete locale mascherata con un source NAT
2) server non in DMZ ma dietro firewall a sua volta raggiungibile con un 
destination NAT

in questa situazione, NON HA SENSO da un host locale passare per il 
firewall per poi rientrare sulla rete locale per accedere il server.....

quello che si fa in questi casi e' sfruttare una "feature" del server 
dns locale
sostanzialmente si tratta di istruire il server dns locale in modo che:
i) se la richiesta di risoluzione "www.nomeserver.tld" proviene da un 
host della rete locale (cioe' l'indirizzo IP sorgente e' un 
192.168.3.0/24), il server dns risponde con l'IP address 192.168.3.199
ii) se la richiesta e' provieniente dal resto del mondo, il server dns 
risponde con l'IP address a.b.c.y

per fare questo, devi creare due file zonali del server dns e mettere 
queste opzioni sul named.conf (almeno per BIND 9.2):

view "internal" {
        match-clients { 192.168.3/; };
        recursion yes; 
        zone "nomeserver.tdl" in {
                type master;
                file "nome_che_vuoi_interno";
        };
};

view "external" {
        match-clients { any;};
        recursion yes; 
        zone "nomeserver.tdl" in {
                type master;
                file "nome_che_vuoi_esterno";
        };
 };


magari metti anche i file zonali per la risoluzione inversa...che non 
guasta mai !!! ;-)

magari in una prossima mail ti dico come aggirare il problema se non hai 
il server dns a disposizione e ne devi usare uno esterno

nel frattempo potresti postare i file di config di iptables (se non ti 
e' un problema).... magari cela i prefissi degli indirizzi pubblici