[RoLug] netfilter
Pierpaolo Bergamo
rolug@lists.linux.it
Thu, 31 Oct 2002 16:03:37 +0100
ciarez@libero.it wrote:
>#Source NAT (SNAT)
>iptables -t nat -A POSTROUTING -o $OUTDEV -j SNAT --to $OUTADD
>
>#Destination NAT (DNAT)
>iptables -t nat -A PREROUTING -i $OUTDEV -p tcp -d $OUTSRV_DEV -j DNAT -
>-to $INSRV_DEV
>iptables -t nat -A PREROUTING -i $OUTDEV -p tcp -d $OUTSRV_WS -j DNAT --
>to $INSRV_WS
>iptables -t nat -A PREROUTING -i $OUTDEV -p tcp -d $OUTSRV_MAILNOTES -j
>DNAT --to $INSRV_MAILNOTES
>
ciao cris,
scusa il ritardo della risposta (ho risposte in arretrato di una
settimana.... che periodaccio !)
ricapitolando...
il problema e' che hai una lan locale nattata e alcuni server dentro la
rete locale (non in DMZ, a quanto dicono gli script di config)
raggiungibili dall'esterno grazie al DNAT (e dall'interno in modo diretto)
la tua domanda era.... come mai non riesco a pingare un server interno
tramite l'indirizzo esterno (in sostanza uscendo e rientrando dal
firewall) ?
mi sono permesso di quotare PARTE del file di config del firewall...
solo parte "innocua", non le regole di firewalling vere e proprie
(per gli altri... cristian mi ha mandato "fuori banda" lo script di
config del firewall di una ditta.... quindi non si e' legittimamente
sentita di pubblicarla in mailing list)
il SNAT fa un completo masquerading su tutti i protocolli... quindi da
dentro la rete locale verso fuori c'e' completa trasparenza
quando da fuori tenti di indirizzare in modo trasparente i server
interni, in realta' ce la fai solo con i servizi basati sul protocollo tcp
infatti, se guardi, le linee di configurazione il DNAT sulla chain di
PREROUTING viene fatto solo su TCP
il tuo problema era che il ping non andava a buon fine.... e infatti
ping e' basato su ICMP e non suTCP
mi aspetto pero' che tu riesca ad usare ad esempio il server web (non
certo un server dns o nfs che sono basati principalmente su udp)
potresti provare a sostituire le righe di DNAT con:
iptables -t nat -A PREROUTING -i $OUTDEV -d $OUTSRV_DEV -j DNAT --to $INSRV_DEV
iptables -t nat -A PREROUTING -i $OUTDEV -d $OUTSRV_WS -j DNAT --to $INSRV_WS
iptables -t nat -A PREROUTING -i $OUTDEV -d $OUTSRV_MAILNOTES -j DNAT --to $INSRV_MAILNOTES