Newsgroup: it.comp.os.linux.sys
Titolo: Problemone di natting

Ciao,
ho un bel quesito, che credo si possa risolvere con alcune accorte ed
elaborate regole di natting, ma non ho idea di quali, cosi` vi espongo il
problema nel caso che voi abbiate le idee immediatamente piu` chiare o
possiate consigliarmi quali documenti sul natting e iptables posso studiarmi
per risolvere il problema.
Ho un firewall su cui non ho controllo, interfacciato con un router su cui
anche non ho controllo diretto. Entrambi hanno un indirizzo di classe 10,
sulla
rete 10.X.Y.0. Vorrei metterci in mezzo una macchina Linux con 2 schede di
rete a fare da transparent proxy, senza dover cambiare nulla sul fw e sul
gw.
In pratica, per far restare invariate le cose dal punto di vista del router
e del firewall, pensavo di assegnare all'interfaccia Linux lato Firewall
l'indirizzo del router e all'interfaccia Linux lato Router l'indirizzo del
Router.
Firewall--10.X.Y.Z -- 10.X.Y.W--Macchina Linux--10.X.Y.Z -- 10.X.Y.W--Router
A questo punto pero` mi resta il non trascurabile problema di gestire il
routing sulla macchina Linux. Tanto per cominciare che default gateway
assegno alla macchina? Nel senso che dovrei assegnarle quello del fw, che e`
lato internet, ma la macchina Linux come fa a capire che si tratta di quello
e non piuttosto di quello della sua altra scheda di rete?
Grazie a chi sapra` darmi una mano, saluti a tutti,
Andrea

 Router.
Qui volevo scrivere Firewall, perche' chiaramente sulla stessa rete
fisica non possono esistere 2 IP uguali.


 
cerca info su firewall trasparenti.
con tre schede di rete e un ip, riesci a risolvere la cosa e ad avere 
accesso alla macchina linux mantenendo la tua configurazione attuale.
-- 
+-------
| Paolo opg
|
| janickg ( at ) hotmail ( dot ) com
| (fake address in reply-to field!)
+-------

 accesso alla macchina linux mantenendo la tua configurazione attuale.
Sprecone!!! ;-) Non e` che sappia ancora come risolvere la cosa, ma
perche' avrei bisogno di 3 schede di rete? di una (con IP) per raggiungere
e amministrare la macchina Linux? Non mi basta assegnare ad una delle 2
un IP? Scherzi a parte, se stai pensando al bridging, ci avevo pensato
anch'io, il problema e` che col bridging non avrei un IP a cui fare il
binding
di squid per filtrere il traffico http ed ftp. Ovvero il bridging fa il suo
lavoro
a basso livello (2 pila ISO/OSI, se non ho capito male), mentre squid lavora
a livello 4 (o superiore - credo, forse), cioe` molto piu` in alto e ha
bisogno
(credo forse) di un IP per mettersi in ascolto su quello.
Ma puo` darsi, anzi e` probabile, che mi sfugga qualcosa.
Andrea

 (credo forse) di un IP per mettersi in ascolto su quello.
per quanto riguarda squid, ninzò...
il discorso dei livelli osi, è corretto, ma io ho fatto qualche prova 
sono con il filtering, senza squid di mezzo, e quindi non t so aiutare 
per il proxy...


Andrea Ferraris ha scritto:

Se ho capito bene intendi realizzare un proxy a metà strada tra firewall 
e Router?
1 Router indirizzo di rete 10.X.Y.A
1 Firewall indirizzo di rete 10.X.Y.B
1 Scheda di rete indirizzo 10.X.Y.C collegata al Router
1 Scheda di rete indirizzo 10.X.Y.D collegata al Firewall
Regole di MASQ
INPUT: Router, Firewall, LAN
OUTPUT: Firewall, LAN
FORWARD (e NAT): 	Router <--> Firewall
			Proxy Server (localhost) <--> Firewall
			LAN <--> Proxy Server (localhost)
In pratica il Router deve avere come unica destinazione d'instradamento 
il Firewall, il Proxy server deve essere connesso a quest'ultimo e 
vedere questo come gateway predefinito. Infine la LAN deve avere come 
gateway predefinito l'indirizzo del proxy.
Ricapitolando
		Collegamenti 		indirizzo		gateway
Router: 	LAN, Proxy		10.X.Y.A		---
Firewall:	Proxy			10.X.Y.B		10.X.Y.A
Proxy server:	Router, Firewall	10.X.Y.C		10.X.Y.B
LAN:		Router			10. . .			10.X.Y.C
La soluzione che ti propongo è molto schematica, perchè per esempio 
prevede che il router faccia anche da concentratore (HUB) per la rete, e 
non funziona se invece è il FIrewall che fa da concentratore.
I cambiamenti sono minimi su Router e Firewall (il firewall dovrebbe 
avere già come gw il router) ma potrebbero nonessere fattibili sul resto 
della LAN (va cambiato eventualmente il gw su ciascuna macchina).
Cmq non capisco il perchè dell'inserimento di un proxy a monte del 
Firewall...
-- 
  Montag trattenne le bombe, lassù, per un solo istante, col pensiero e
le mani disperatamente brancolanti verso il cielo, a sorreggerle.
-------------------------------------------------------------------------
montagLA_CHIAV...@email.it
 Per rispondere toglere LA_CHIAVE.

...

No, come scrivevo, non potendo cambiare ne' la configurazione del
router, ne' quella del firewall, la scheda di rete della linux box
collegata al router dovra` avere l'indirizzo del firewall 10.X.Y.B,
mentre quella collegata al firewall dovra` avere l'indirizzo del
router 10.X.Y.A. In questo modo per le 2 macchine non cambiera` nulla.
Il problema e` pero` gestire la cosa a livello di routing della
macchina Linux.
Il router e` il centro stella delle mie reti private interne, mentre
il firewall e` il punto di accesso ad un'altra rete privata virtuale
che ci porta poi su internet.
Questa credo che sia la disposizione ottimale delle macchine, col
proxy trasparente fra il router e il firewall. Attualmente invece il
proxy risiede sulla rete interna e i client l'hanno impostato come
proxy e il firewall fa uscire solo lui. Nella configurazione che
prospetto, in cui non ci sarebbero piu` ACL sul firewall per impedire
l'uscita delle macchine della rete interna, la rottura del firewall
non comporterebbe l'impossibilita` di accesso a internet dei client
(basterebbe sostituirlo con un cavo di rete) e nello stesso tempo
quando in funzione, consentirebbe il proxying e il filtering.
Andrea

 quando in funzione, consentirebbe il proxying e il filtering.
L'alternativa sarebbe utilizzare un HUB cui sono collegati i tre 
dispositivi, e usare il Proxy come Gw. Questa soluzione oltre che 
prevedere un'unica interfaccia di rete sul Proxy, permetterebbe di 
alleggerire quest'ultimo del FORWARD tra Router e Firewall, oltre che 
una piů semplice configurazione software.
La soluzione che ti propongo č:
H <--> Firewall
U <--> Proxy
B <--> Router <--> LAN
I dati viaggerebbero da periferia (LAN) a periferia (Firewall) passando 
eventualmente per il Proxy (come nella configurazione precedente), ma 
senza rimbalzare indietro sul router.
Se infatti lo schema precedente prevedeva
LAN -> Router -> Proxy -> Router -> Proxy -> Firewall
ora diventa
LAN -> Router -> Proxy -> Firewall
La necessitŕ di prima di far rimbalzare le richieste non processate 
nuovamente sul router e non direttamente sul firewall, dipendeva 
esclusivamente dalla possibilitŕ che il Proxy (software) potesse essere 
temporaneamente Down e interrompere la catena. Occorreva perciň 
ristabilire la vecchia connessione con il router che fa da gw verso il 
Firewall.
-- 
  Montag trattenne le bombe, lassů, per un solo istante, col pensiero e


 In pratica lo schema fisico sarebbe:
In teoria, ma anche in pratica, mi scuso, nel senso che sei stato
molto gentile nel fornirmi un valido aiuto sia col messaggio precedente
che con questo.
Il problema e` stato che non avevo capito. ;-)
Grazie ancora,
Andrea

 routing sulla macchina Linux.
Tanto per iniziare, essendo indirizzi in classe 10 potevi anche 
scriverli esplicitamente, non c'era alcun pericolo... ;-)
Per il problema, supponendo che sulla macchina linux 10.X.Y.W sia sulla 
eth0 e 10.X.Y.Z sia sulla eth1 e che il firewall faccia anche NAT, prova 
in questo modo, ma okkio che potrebbe anche non funzionare:
ip route add 10.X.Y.Z dev eth0 proto kernel scope link src 10.X.Y.W
ip route add 
10.0.0.0/8
 dev eth1 proto kernel scope link src 10.X.Y.Z
ip route add default via 10.X.Y.Z dev eth0 src 10.X.Y.W
As is, non assicuro nulla, potrebbe addirittura trasformare il tuo 
dentifricio in senape pepata...
Alla fine di tutto ciò, però, una domanda nasce spontanea: perché non 
sostituisci tout court il firewall con una linux box? Non c'è bisogno 
che dici nulla a nessuno, a patto che lo configuri come si deve, basta 
rimanere in ufficio un venerdi fino alle 20.00 e poi fare il cambio, 
quando se ne accorgeranno sarà già un bel po' di tempo che la linux box 
è in funzione senza problemi...
-- 
Ciao da Villo  - GPG public key available

 
bisogna stare attenti con gli indirizzi...
un mesetto fa volevo controllare che l'8080 di tomcat mi rispondesse e 
ho dato un bel telnet 217.0.0.1 8080
mi sono trovato in ksh su una sun di un'università tedesca suppongo...  :-D

 bisogna stare attenti con gli indirizzi...
Si, ma la 
10.0.0.0/8
 per definizione è una rete privata, se non sai il 
punto di entrata degli indiriziz non te ne fai niente.
A meno che il tuo provider non abbia fatto le cose alla pene di segugio 
e che non abbia un routing per quegli indirizzi, con assolutamente non 
buona e giusta...

Luca Villani wrote:

infatti... notevole "alla pene di seguigio" ;-) me la segno

 è in funzione senza problemi...
Impossible. Non tanto perche' il fw attuale - linux box - non e` mio ed e`
gestito da altri, quanto perche' non ho idea di quale sia la configurazione
dell'altra rete (la 10), non ho la password di root di quella macchina (ne'
altre) e infine e` monitorata, per cui nel momento in cui andasse giu` a
qualcuno in qualche dove suonerebbe un cicalino. Insomma e` una cosa
che non posso fare in modo assoluto, benche effettivamente sarebbe piu`
che sufficiente una macchina sola a fare il tutto e mi potrei vendere di
seconda mano la macchina in piu` e ci potremmo dividere il ricavato ;-).
Grazie e ciao,
Andrea