[Tech] SNATsemistatico
Leonardo Boselli
leo@dicea.unifi.it
Mer 19 Mar 2003 20:19:49 CET
On 19 Mar 2003, at 14:57, Morpheus wrote:
>
> > Ok, allora dovrebbe funzionare cosi': si divide il problema in due
> > (connessioni da dentro verso fuori e da fuori verso dentro)
> > iptables -t nat -A PREROUTING -d a.b.c.236 -j DNAT --to 10.10.5.7
> > (non ho mai verificato pero' come si comporta senza specificare le
> > porte ma secondo la documentazione dovrebbe andare bene)
e questo funziona perfettamente (da fuori verso dentro)
> > e per fare la stessa cosa da dentro verso fuori
> > iptables -t nat -A POSTROUTING -o indirizzo_interno -j SNAT --to
> > a.b.c.236
e questo NON mi funziona !
se dall'interno faccio un treceroute mi risponde
kyoto:/home/leo# traceroute a.b.c.3
traceroute: Warning: findsaddr: error sending netlink message:
Connection refused
traceroute: Warning: ip checksums disabled
traceroute to extern (a.b.c.3), 30 hops max, 38 byte packets
1 gateway (192.168.1.14) 0.745 ms 0.687 ms 0.669 ms
2 * * *
(la defaulty route è su gateway)
> confermo su base pratica che funziona perfettamente in questo modo anche se
> modificherei le regole con un --to-destination e --to-source rispettivamente
> (non so se l'istanza --to venga settata automaticamente in base alla catena
> invocata dalla tabella nat... dovrebbe, ma non ho riscontri pratici in
> merito).
in uscita non funziona ne con --to ne con --to-source !!!!!!!!
> Unica eccezione potrebbe essere legata alla connessione del gw su qualche
> server interno alla lan che costringerebbe a chiamare in causa anche la
> catena OUTPUT della tabella nat, ma, da quanto leggo, non mi sembra sia il
> tuo caso.
se devono collagarsi a un server INTERNO usano gli indirizzi privati
> Altra questione è l'attivazione delle macchine autorizzate ad uscire... mi sa
> che la via più semplice sia un'assegnazione statica degli ip sulla lan per
> evitare di dover procedere manualmente volta per volta. L'alternativa di uno
> script che riconfiguri caso per caso la tabella nat in base all'ip assegnato
> agli host autorizzati ad uscire, mi pare un tantino complicata visto che non
> è possibile operare un filtraggio a livello di mac address sulla tabella nat
> e che eventuali marcature (tabella mangle di iptables) non "sopravvivono" al
> di fuori dell'host che le ha generate (per chiarimenti ulteriori vedi il
> LARTC HOW-TO su http://www.lartc.org). Esistono due alternative a
> quest'ultimo problema: la prima potrebbe essere una marcatura degli ip-header
> modificando il TOS dei pacchetti che partono dagli host autorizzati ad uscire
> su internet, ma rischi di incorrere in spiacevoli "effetti collaterali". La
> seconda, più semplice e più fattibile, consiste nel reinstradare (a livello
> di host autorizzati ad uscire) i datagrammi estranei alla lan su una piccola
> sottorete "virtuale" dedicata alle macchine che possono uscire su internet
> usando iptables con regole simili a quelle riportate sopra.
La cosa è molto più semplice: siccome l'accesso esterno è dato a
livello di utente e non di macvchina, chi è su una macchina interne
e deve uscire si collega al gateway e da li lancia lo script che
collega o scollega..
--
Leonardo Boselli
Nucleo informatico e Telematico
Dipartimento Ingegneria Civile
Universita` di Firenze
Via Santa Marta 3
I-50139 Firenze
+39 055-4796-431
+39 348-8605-348
fax 055-495-333
Maggiori informazioni sulla lista
flug-tech