Newsgroup: it.comp.reti.ip-admin
Titolo: Aiuto - NAT su linux box

Salve a tutti,
ho un problema con una configurazione di un server linux su cui è installato 
Red Hat 7.3:
attualmente il server linux è configurato com server web/mail e firewall di 
rete (mediante iptables) su cui è abilitato anche il mascheramento 
dell'intera LAN 192.168.x.x
E' sorta però l'esigenza di rendere disponibile un windows server 2003 
all'esterno, ma per ragioni di comodo non si vuole dotare questo server di 
un indirizzo IP reale,
come faccio ad eseguire il NAT verso l'indirizzo LAN (192.168.x.x) di cui è 
dotato il server windows?!?!
Devo precisare che mi sono documentato tra gli HOWTO del sito 
netfilter.org
 
e un documento simile su un altro sito e ho eseguito la seguente 
configurazione delle policy del firewall:
*nat
:PREROUTING ACCEPT
:POSTROUTING ACCEPT
:OUTPUT ACCEPT
----------------------------------------------------------------------------------------------------------------------------------------------------
-A PREROUTING -i eth0 -d <ind_IP_ext_server_windows> -p tcp -m tcp --dport 
80 -j DNAT --to-destination 192.168.x.x:80
----------------------------------------------------------------------------------------------------------------------------------------------------
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
:INPUT DROP
:FORWARD DROP
:OUTPUT ACCEPT
-A INPUT -s <ind_IP_DNS> -d <ind_IP_server> -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --sport 1024:65535 --dport 21 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --sport 21 --dport 1024:65535 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -j 
ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --sport 1024:65535 --dport 20 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --sport 5631 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --sport 5632 -j ACCEPT
-A INPUT -s <ind_IP_router> -i eth0 -p tcp -m tcp --sport 23 -j ACCEPT
-A INPUT -d <ind_IP_server> -i eth0 -p tcp -m tcp --sport 25 -j ACCEPT
-A INPUT -d <ind_IP_server> -i eth0 -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -d <ind_IP_server> -i eth0 -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -d <ind_IP_server> -i eth0 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -d <ind_IP_server> -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -d <ind_IP_server> -i eth0 -p tcp -m tcp --sport 80 -j ACCEPT
-A INPUT -d <ind_IP_server> -i eth0 -p tcp -m tcp --sport 113 -j ACCEPT
-A INPUT -d <ind_IP_server> -i eth0 -p tcp -m tcp --sport 443 -j ACCEPT
-------------------------------------------------------------------------------------------------
-A INPUT -d 192.168.x.x -i eth0 -p tcp -m tcp --sport 80 -j ACCEPT
-A INPUT -d 192.168.x.x -j LOG --log-prefix "Rilevato da 
Fire1000:" --log-level 5
-------------------------------------------------------------------------------------------------
-A INPUT -d <ind_IP_server> -i eth0 -p icmp -j ACCEPT
-A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -s <ind_IP_server> -d <ind_IP_server> -i lo -j ACCEPT
-A INPUT -j LOG --log-prefix "Rilevato da Firewall:" --log-level 5
-A FORWARD -i eth1 -o eth0 -p tcp -m tcp --dport 80 -j DROP
-A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth1 -o eth0 -j ACCEPT
COMMIT
Le righe di configurazione comprese tra le righe tratteggiate sono le 
configurazioni che ho impostato per eseguire il NAT, ma non funziona nulla e 
l'errore di pagina che mi viene restituito è "No route to host". Il resto 
della configurazione funziona da svariati anni senza alcun problema 
evidente.
Cosa ho sbagliato?!?! O cosa devo aggiungere nella configurazione?!?!
Sarei grato a tutti coloro che sapranno darmi una mano.
P.S.: è attivo anche un server proxy su cui sono aperte le porte che mi 
interessa far passare tra le acl.
Grazie anticipatamente a tutti. 

 Grazie anticipatamente a tutti. 
ciao ...
-- 
#include <stdio.h>
int main(void){char c[]={10,65,110,116,111,110,105,111,32,98,97,114,98,111,110,
101,32,60,104,105,110,100,101,109,105,116,64,116,105,115,99,97,108,105,110,101,
116,46,105,116,62,10,10,0};printf("%s",c);return 0;}


Ti saluto e ti ringrazio... 

 Ti saluto e ti ringrazio... 
spero di aver capito bene ;-)) ciao ...


 spero di aver capito bene ;-)) ciao ...
E io spero di essermi spiegato altrettanto bene... è molto difficile 
scrivere queste cose quando hai un enorme calderone nella mente.
eh eh eh eh
Cmq ti ringrazio molto per la pazienza e per il tuo aiuto 

 Cmq ti ringrazio molto per la pazienza e per il tuo aiuto 
ciao ... mi sto "appassionando" alla cosa ... e' diventato un fatto personale
;-)))



Ho parlato con un collega e mi ha consigliato di attribuire due indirizzi IP 
reali (l'x.x.x.98 e l'x.x.x.99) all'interfaccia eth0 del server linux e poi 
modificare in base a questo tutte le policy del firewall: se non ho capito 
male anche tu mi stai consigliando questo giusto?!?! 

 male anche tu mi stai consigliando questo giusto?!?! 
e' il minimo, per far riconoscere l'interfaccia ad ipfilter ... dai un'occhiata
alla pagina man di ifconfig, ci dovrebbe essere un opzione 'alias' ... sul mio
FreeBSD c'e', ma a quanto ricordo e' un comando 'standard' di unix ...
e nel caso non funzioni, controlla con tcpdump se arrivano i pacchetti
sull'interfaccia ...
fammi sapere !!! ciao ...


 fammi sapere !!! ciao ...
Ora funziona tutto... ho risolto venerdì nel tardo pomeriggio.
Alias del secondo indirizzo IP sul primo già esistente ed il semplice 
comando di destination NAT sull'IP della rete interna.
Grazie mille per la tua collaborazione.
Un saluto
-----
Ricky75 

 Ricky75 
