View Full Version : IPTABLES - trasparent proxy + desktop remoto
Ho una strana configurazione da fare in un serverino dove è installato squid in modalità trasparent proxy.
In pratica sulle macchine degli utenti è impostato come gateway l'ip del server proxy, e gli utenti usavano internet fino ad ora esclusivamente per navigare.
Ora devo far si che gli utenti si colleghino tramite desktop remoto ad altre macchine in internet.
Vorrei quindi che quando un client cerca di collegarsi tramite desktop remoto ad una macchina in internet, il server, che riceve la richiesta, la reindirizzi in internet.
Ho fatto alcuni tentativi ma ho fallito.
La mia attuale configurazione è semplicemente questa:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
Questa è una semplice descrizione dell'architettura della rete:
RUTER ADSL che fa anche da firewall
+
SWITCH
+
Vari client ed il server
Qualcuno di voi sa come risolvere il problema?
Grazie
Non so come, ma sembrerebbe che io abbia risolto aggiungendo questo:
iptables -A FORWARD -s 192.0.0.0/255.255.255.0 -p tcp --dport 3389 -i eth0 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.0.0.0/255.255.255.0 -j MASQUERADE
Se sapete spiegarmelo, un po' di conoscenza sicuramente non mi fa male .... ;)
Ciao
Non so come, ma sembrerebbe che io abbia risolto aggiungendo questo:
iptables -A FORWARD -s 192.0.0.0/255.255.255.0 -p tcp --dport 3389 -i eth0 -j ACCEPT
con questo hai abilitato il passaggio del protocollo tcp porta di destinazione 3389 proveniente dalla rete 192.0.0.x dalla interfaccia eth0. serve se hai la politica di default (o altre rregole) che droppano tutto quello che non autorizzi. FORWARD è la "catena" usata dalle connessioni che non sono destinate alla macchina e che provengono da altre macchine.
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
Questo serve ad autorizzare tutte le connessioni richieste o già stabilite (la regola di prima autorizza il primo pacchetto (SYN) questa la risposta e quelli successivi provenienti dalla macchina che riceve la connessione).
iptables -t nat -A POSTROUTING -s 192.0.0.0/255.255.255.0 -j MASQUERADE
con questa modifichi l'indirizzo ip sorgente di tutti i pacchetti provenienti dalla rete 192.0.0.x che il tuo gateway inoltra. Le risposte vengono poi rimesse a posto automaticamente.
Questo detto in parole molto povere, dietro ci sta un bel po di teoria. Se ti interessa:
www.netfilter.org
Grazie per la spiegazione.
Secondo te questa configurazione può andar bene?
Oppure ha qualche difetto?
O ancora necessita di essere affinata?
Ciao
ciao
il tuo "presunto" firewall va sicuramente modificato per fare il suo dovere nel migliore dei modi.
nel caso da te esposto non hai specificato la politica di default della catena FORWARD che cmq di default è settata su accept... indi per cui solo la 3 regola in effetti ti serve per la corretta navigazione.
ti consiglio di leggere questo per ora e configurare di conseguenza il firewall
secondo le tue esigenze:
http://www.mod-xslt2.com/people/ccontavalli/docs-it/iptables/iptables4dummies/iptables4dummies.html#toc2
gia, se hai la policy di default "accept" è meglio se la metti a "drop" (iptables -t filter -P FORWARD DROP) altrimenti significa che passa tutto in uscita. Cosi pure input ed output andrebbero messe a drop. Il problema più grosso (*) è l'input che settato ad accept significa che accetta tutto quello che gli arriva da internet.
(*) ammesso che il traffico generato dall'interno sia tutto autorizzato e che tu non necessiti di protezioni particolari.
Per il resto può andare.
Vi ringrazio, siete stati molto gentili.
Si, la policy di defoult della catena FORWARD era su accept, infatti permetteva non solo il traffico sulla porta 3389, ma su tutte.
Ora l'ho settata su drop, e funziona come vorrei.
Il traffico sulla catena di INPUT lo posso considerare sicuro, quindi per ora non ci smanetto.
Ciao e grazie ancora
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.