View Full Version : comando ROUTE
LukeHack
04-02-2004, 01:14
una curiosità...
supponendo di avere un pc winzozz 2000 pro (chimiamolo zoo) con due schede di rete,chimiamola lan1(ip 194.168.0.13) e lan2(192.168.0.1),supponiamo che lan1 sia attaccato ad una grande rete che esce su internet tramite proxy...
supponiamo anche che lan2 sia (come gateway)attaccato ad una piccola lan i cui client si vuole vedano il proxy...
ora ho notato che,per risolvere il problema sotto winzozz,bisogna NECESSARIAMENTE (bleah!) checkare,zu ZOO, una caselletta su proprietà di scheda di rete->tcp/ip->impostazioni,di nome "codividi connessione internet"..
la cosa strana è che la tabella di routing di ZOO non cambia di un'acca rispetto al non checkare suddetta caselletta...
cioè,digitando ROUTE PRINT,compare CMQ sempre la riga 194.168.0.0 (rete LAN1) 255.255.255.0 194.168.0.13 (gateway della piccola lan,corrispondente all'indirizzo di lan1) che, IN TEORIA,abiliterebbe DA SOLO il passaggio dei pacchetti da una scheda di rete all'altra mediante il gateway di default che è il pc ZOO stesso...
ora,a parte l'aberranza della cosa,mi confermate che,montando linux come server su ZOO,mi basterebbe scrivere
# route add -net 194.168.0.0 netmask 255.255.255.0 eth1
per far si che tutti i pacchetti provenienti da eth0 (ossia lan2) vengano smistati su lan1 e raggiungano quindi il proxy?(ipotizzo l'assenza d'uso di iptables)
ilsensine
04-02-2004, 08:05
la cosa strana è che la tabella di routing di ZOO non cambia di un'acca rispetto al non checkare suddetta caselletta...
Ovvio. L'abilitazione della condivisione della connessione abilita il forwarding dei pacchetti e stabilisce una regola per effettuare ad es. la nat necessaria (o altra tecnica di manipolazione dei pacchetti). E' indipendente dalla tabella di routing, che stabilisce semplicemente presso quale interfaccia devono essere rigirati i pacchetti con un certo indirizzo destinazione.
ora,a parte l'aberranza della cosa,mi confermate che,montando linux come server su ZOO,mi basterebbe scrivere
# route add -net 194.168.0.0 netmask 255.255.255.0 eth1
Ovviamente no. Questa regola indica semplicemente che "tutti i pacchetti con indirizzo destinazione 194.168.0.x devono essere dirottati sulla interfaccia eth1". Viene impostata automaticamente all'atto dell'attivazione dell'interfaccia eth1, normalmente non devi metterci mano.
In più ti servono:
. Una regola di routing per impostare l'ip del gateway/router come default gateway (se si tratta di un gateway/router, non di un proxy). Questa regola fa sì che tutti i pacchetti che non soddisfano le regole di routing normali (ad es. i pacchetti con ip di destinazione di un qualsiasi server pubblico di internet) devono essere dirottati sul gateway indicato.
- Abilitare fisicamente l'ip forwarding: echo "1" > /proc/sys/net/ipv4/ip_forward
- Una regola di nat/masquerade (da impostare con iptables). Senza questa puoi anche rigirare i pacchetti dei client sul gateway, ma il gateway non disporrà di regole di routing per rimandare all'esatto mittente i pacchetti di risposta, che verranno persi.
Se in effetti si tratta di un _proxy_ il processo è leggermente diverso, ma da come descrivi credo si tratti di un gateway.
LukeHack
04-02-2004, 13:45
innanzi tutto grazie ilSensine:D
ok,il discorso del default gateway è implicito poichè i client sono winzozz2000 e loro ce l'hanno già acchittato il def gateway..,ossia zoo2
il secondo punto lo davo per scontato,quindi ok
il terzo punto è quello che mi mancava,ossia non pensavo fosse necessario abilitare l'ip masquerade:D
quindi ho capito che quella caselletta in winzozz2000 pro altro non fa che abilitare ciò....
per chiarire il discorso del proxy,zoo2 fa da gateway,il proxy sta sulla lan1 e non è zoo2,tuttavia DA Lì devono passare tutti i pacchetti che chiedono di uscire su internet...quindi mi basta stabilire route add default gw <ip del proxy>
giusto?
ok grazie per la risposta:D
ilsensine
04-02-2004, 13:57
Originariamente inviato da LukeHack
per chiarire il discorso del proxy,zoo2 fa da gateway,il proxy sta sulla lan1 e non è zoo2,tuttavia DA Lì devono passare tutti i pacchetti che chiedono di uscire su internet...quindi mi basta stabilire route add default gw <ip del proxy>
giusto?
(vuoi dire: ip di zoo2, il gateway?)
Sì (oltre ad attivare nat o masq e ip_forward ovviamente).
Il computer con il proxy deve usare zoo come default gateway (che si occupa di rigirare in uscita su zoo2), e tutto dovrebbe filare liscio.
Se non ho capito male, la tua rete è questa (altrimenti non ci ho capito un'acca):
[proxy] =========== (192.168.0.x) == [zoo] == (194.168.0.x) == [gateway zoo2]
[altri pc della lan]
LukeHack
04-02-2004, 15:46
no:D la mia rete è questa:
[Lan 2]=====(192.168.0.xx)[Zoo2](194.168.0.xx)====[Lan 1]===[Proxy]
||
||
[Clients rete piccola]
come si nota,zoo2 è il gw della piccola lan ma NON il proxy...
il proxy è un pc attaccato alla GRANDE lan (Lan 1),e tramite lui e soltanto lui si esce su internet...
zoo poi nn esiste,in realtà intendevo zoo2 ossia il gw della piccola lan:D
spero di aver chiarito la situazione!
ilsensine
04-02-2004, 15:51
Originariamente inviato da LukeHack
come si nota,zoo è il gw della piccola lan ma NON il proxy...
il proxy è un pc attaccato alla GRANDE lan (Lan 1)
Allora non ho capito bene una cosa: quello che chiami proxy è un _proxy_ o un _gateway_? La differenza è che nel secondo caso occorre impostare le varie default route, nel primo caso occorre specificare che usi un proxy nelle impostazioni dei browser.
Molto spesso erroneamente si chiamano "proxy" dei "gateway"...
LukeHack
04-02-2004, 16:24
è proprio un proxy:D
infatti come giustamente dici,bisogna settarne l'ip sui browser dei client...
e non solo,qualsiasi applicazione tipo gioco online non funge poichè il _proxy_ è proprio un proxy http,e non un gateway:D
LukeHack
04-02-2004, 16:29
cmq,tanto per curiosità,come cambierebbe la situazione se _proxy_ fosse un gw,a livello di codice bash da impostare sui client e/o zoo2?
credo che in realtà i client non se ne accoregerebbero,loro CMQ devono uscire tramite zoo2 e NON _proxy_,sul quale invece continuerebbe ad uscire Zoo2 giusto?;)
grazie ancora per le risposte pronte:D
ilsensine
04-02-2004, 16:33
Ok ora ho capito (spero :D )
Originariamente inviato da LukeHack
cmq,tanto per curiosità,come cambierebbe la situazione se _proxy_ fosse un gw,a livello di codice bash da impostare sui client e/o zoo2?
Non serve/è scorretto impostare il default gateway su zoo2.
Sui client devi impostare:
1) zoo2 come default gateway
2) inserire l'indirizzo del proxy (e non di zoo2!) nei browser.
credo che in realtà i client non se ne accoregerebbero,loro CMQ devono uscire tramite zoo2 e NON _proxy_,sul quale invece continuerebbe ad uscire Zoo2 giusto?;)
Loro cercano il proxy, e utilizzano il gateway zoo2 per raggiungerlo. Non credo cambi nulla rispetto la tua impostazione attuale (con zoo2 winzozz in condivisione della connessione).
ilsensine
04-02-2004, 16:36
Originariamente inviato da LukeHack
e non solo,qualsiasi applicazione tipo gioco online non funge poichè il _proxy_ è proprio un proxy http,e non un gateway:D
Allora sostituiscilo con un gw linux, così puoi giocare in rete :D
LukeHack
04-02-2004, 18:25
Non serve/è scorretto impostare il default gateway su zoo2.
Sui client devi impostare:
1) zoo2 come default gateway
BAHAUAAHUHAUAUHAUHUAH :asd:
prendi una decisione:D :asd: :eheh:
ilsensine
04-02-2004, 20:13
Originariamente inviato da LukeHack
BAHAUAAHUHAUAUHAUHUAH :asd:
prendi una decisione:D :asd: :eheh:
Cosa c'è di strano? Per raggiungere un computer esterno alla tua subnet (in particolare il proxy), ti serve comunque un gateway intermedio...nel tuo caso lo usi semplicemente per raggiungere il proxy, tutto qui
LukeHack
04-02-2004, 23:19
certo certo!mi faceva ridere la contraddizione che hai espresso nella frase quotata:D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.