Newsgroup: it.comp.reti.locali
Titolo: rete locale e inernet.

Salve.
ho un pc linux con debian 2.2 collegato in una rete locale.
Il pc ha indirizzo 192.168.2.232.
La rete interan e' 192.168.0.0 composta da varie sottoreti: 192.168.5.0,
192.168.4.0, 192.168.116.0, ecc.
Il gateway per la 192.168.2.0 e' il 192.168.2.254.
All'interno della rete c'e' un proxy 192.168.4.7 che e' collegato su
internet.
Ovviamente se inserisco nel browser che uso con linux la direttiva di
utilizzare il proxy suddetto, posso uscire su internet.
Vorrei pero' evitare questo ed avere la possibilita' di uscire in
automatico.
Collegarmi sia agli hosts della rete interna sia ad internet in maniera
trasparente.
Questo anche per poter utilizzare il servizio di posta.
Infatti la macchina linux funge anche da server di posta interna e
alcuni utenti dovrebbero avere la possibilita' di spedire su internet.
E' possibile?
Come?
Sopratutto e' una buona idea o andrei incontro a problemi di qualche tipo?
GRazie.

 Sopratutto e' una buona idea o andrei incontro a problemi di qualche tipo?
La storia insegna che le cose semplici sono quelle che hanno successo,
tranne nel caso in cui l'unica soluzione possibile sia una soluzione
complessa.
/\/\aurizio Fuschetto

 
Potrei adottare una soluzione di questo tipo (l'ho letto sull'ultimo
numero di Linux&C).
Installare su linux un proxy, diciamo Squid.
Far utilizzare ai clients della rete locale la macchina linux come
router.
Configurare tale router in modo tale da riindirizzare il pacchetti
diretti ad internet verso il proxy squid.
Squid a sua volta e' collegato al proxy connesso ad internet.
In questo modo i clients potranno uscire senza necessita' di configurare
il loro browser.
Non so se sono riuscito a spiegarmi.
che ne dici?
Ciao.

internet.
E' su questo che devi lavorare: se ha *solo* un proxy, non c'è scampo;
se vuoi un'uscita trasparente, devi configurare questo server per il
forwarding, in questo modo ti fa da gateway e non da proxy.
Dopodiché sui client imposti 192.168.4.7 come *gateway* anziché come
proxy, e così riesci a utilizzare i vari servizi anche dai client.
A quel punto, puoi configurare un pc interno alla rete per scaricare
la posta e fare da smtp/pop per la rete intranet.
-- 
Massimo Bacilieri AKA Crononauta
ulib...@libero.it
 ; ICQ UIN: 4005815
"Se tutto è sotto controllo, stai andando troppo piano"
(Mario Andretti)

 il loro browser.
Non può funzionare.
Il tuo browser se sa che c'è un proxy, fa le richieste delle pagine al
proxy.
Invece col routing il tuo browser "crede" di "parlare" direttamente con
l'host che digiti tu.
Chiaro?
Finchè c'è il proxy non hai scampo.
Senza proxy invece...
/\/\aurizio Fuschetto

 
Non molto.
Scusa la mia ignoranza.
Io configuro tutti i client in modo che utilizzino come gateway la
macchina linux.
A quel punto tutte le richieste che vanno fuori dalla sottorete
192.168.2.0 passano per la macchina linux. non so se c'e' un modo ma,
supponendo che riuscissi a distinguere se le richieste sono indirizzate ad
un sito web, riindirizzo tale richiesta alla porta dove e' in ascolto il
proxy installato sempre sulla machina linux.
Tale proxy (192.168.4.7) e' collegato al proxy che poi va su internet
attraverso un firewall (192.168.4.9) e cosi' i clients potrebbero uscire
su internet. Non va?

 su internet. Non va?
A questo punto, perdonami se dico cose che già sai, devo scendere un po' in
dettaglio per far sì che le cose siano chiare. Cercherò cmq di essere
stringato.
Un pacchetto IP che viaggia su una LAN, porta con se 2 indirizzi di
destinatario: l'indirizzo IP del destinatario e l'indirizzo MAC del
destinatario.
Notiamo che la macchina linux che tu vorresti metter su, sarebbe un router.
Quando un client sa che c'è un router (o gateway in casi come questo), e
deve mandare un pacchetto fuori la sottorete, prepara un pacchetto che ha
come indirizzo IP quello della macchina che vuole raggiungere, ma mette come
indirizzo MAC quello del router.
Il router riceve un pacchetto che ha il suo indirizzo MAC come destinatario,
ma l'IP non è il suo. Allora capisce che deve ritrasmettere il pacchetto. Il
router (questa frase non è proprio esattissima, ma per estensione rende
l'idea) nel ripetere il pacchetto sostituisce il MAC address del
destinatario con quello di un altro router o della macchina destinataria a
seconda che questa sia o meno direttamente raggiungibile, ma l'IP rimane
quello del destinatario finale.
Perciò ti dico che in questo caso il browser sul "client" non lo sa nemmeno
che c'è un router, perchè se la vede il sistema operativo.
Quando, invece, c'è un proxy, il browser invia un pacchetto destinato
proprio al proxy. Cioè l'IP di destinazione del pacchetto NON E' l'IP del
sito web che vuoi visitare, bensì è quello del pc che fa da proxy. Quindi il
browser DEVE sapere che c'è un proxy, poichè deve adoperare un protocollo
diverso dall'HTTP canonico.
Quindi tu sulla macchina linux dovresti mettere un software che normalmente
faccia da router, ma che, inoltre, se scopre che c'è un pacchetto html
destinato ad un web server, si occupi di convertire (ossia generare) un
pacchetto destinato ad un proxy e, ovviamente, effettuare la trasformazione
opposta per i dati rientranti.
Come già ti ho detto, ciò è in via teorica possibile, ma in via pratica no.
Infatti non è sufficiente guardare un pacchetto per vedere se si tratta di
dati html oppure no. Devi tenere traccia delle sessioni. Se sto aprendo una
pagina web, ad esempio, i primi pacchetti conterranno una richiesta http
(es. GET nomefile), ma i pacchetti successivi che provengono dal webserver
conterranno semplicemente i dati dell'immagine che sto scaricando. Potresti
osservare che comunque provengono dalla porta 80 di quel web server, già ...
potrebbero provenire da lì, ma non è detto! Questa tecnica potrebbe
funzionare in certi casi, ma non in altri. Ti ripeto che devi tenere conto
delle sessioni. Se due client chiedono due pagine diverse allo stesso sito
web, tu prendi i loro pacchetti di richiesta e li giri al proxy. Ma i
pacchetti di risposta come li smisti? Devi ricordarti che un client ha
chiesto questo, un client ha chiesto quello... e come? Allora dovresti
aprire tante porte verso il proxy quante sono le richieste dei clients...
MAMMAMIA!!!!
Non so se sono stato esauriente, sicuramente sono stato prolisso. Me ne
scuso con gli attenti censuratori del NG.
In commercio non so di software che fanno sta cosa (ripeto: incasinata),
quindi, sulla base delle cose esposte, dovresti lavorarci un po' tu... sei
pratico di gcc?
/\/\aurizio Fuschetto.

chiesto questo, un client ha chiesto quello... e come? Allora dovresti
A questo ci pensa lo stesso proxy, tu non devi fare proprio nulla.
-- 
BlueRaven
Prima di parlare, ricorda:
mount -t auto /dev/brain /mnt/mouth

 e l'apposito HOWTO.
Non so... mi sembra che non sia esattamente la stessa cosa che č richiesta
nel post...
/\/\aurizio Fuschetto

nel post...
Beh, Lin64 ha fatto riferimento a Linux & C. e quello che spiegano li' e'
proprio il transparent proxying. :-)
