PDA

View Full Version : Configurare un PC con gateway su sottorete diversa


misterx
11-02-2010, 11:11
ciao,
dovrei configurare un PC in modo che rimanga sulla sottorete assegnata ma che esca in internet attraverso un indirizzo gateway non appartenente alla sottorete del PC.
Il PC ha IP 192.168.10.50
il gateway IP 192.168.100.1

il problema è che non posso toccare nulla in quanto la sottorete x.x.10.x è fornita da me, mentre il gateway è già presente.
Senza usare router o altro, come posso far vedere al PC il gateway ?

grazie

nuovoUtente86
11-02-2010, 11:55
devi riscrivere la teoria del protocollo ip.

misterx
11-02-2010, 12:41
devi riscrivere la teoria del protocollo ip.


non volevo arrivare a tanto: e usando due schede di rete ?

nuovoUtente86
11-02-2010, 12:44
devi frapporre un router, oppure un pc che faccia da gateway per la tua sottorete, appunto con 2 schede: una sulla tua sottorete e una in quella del gateway principale.

misterx
11-02-2010, 12:48
devi frapporre un router, oppure un pc che faccia da gateway per la tua sottorete, appunto con 2 schede: una sulla tua sottorete e una in quella del gateway principale.

intendevo due schede di rete sullo stesso PC configurate con due sottoreti diverse. Se non sbaglio windows implementa un router software: mi sbaglio ?

nuovoUtente86
11-02-2010, 12:54
intendevo due schede di rete sullo stesso PC configurate con due sottoreti diverse. Se non sbaglio windows implementa un router software: mi sbaglio ?

L' ICS di windows non è un vero e proprio router, ma si comporta com un isr, ovvero manda tutto verso la stub route ovvero internet o un gateway a monte.
Puoi anche mettere 2 schede di rete su ogni pc e settare correttamente le rotte statiche, ma presumo che sulla rete ci siano diversi pc e quindi la soluzione è molto sporca sia dal punto di vista logico che fisico.

misterx
11-02-2010, 13:13
L' ICS di windows non è un vero e proprio router, ma si comporta com un isr, ovvero manda tutto verso la stub route ovvero internet o un gateway a monte.
Puoi anche mettere 2 schede di rete su ogni pc e settare correttamente le rotte statiche, ma presumo che sulla rete ci siano diversi pc e quindi la soluzione è molto sporca sia dal punto di vista logico che fisico.


che tu sappia non esiste nemmeno un software (router software) che permetta di mettere in comunicazione le due schede ?

192.168.10.50 <---- router software ----> 192.168.100.1

Semplifcando: tutto ciò che non è diretto alla sottorete 10 viene inviato alla sottorete 100 e cioè al gateway

Stelix
11-02-2010, 13:19
Non conosco la situazione e apparati utilizzati in dettaglio, ma non è più semplice assegnare alla macchina un'indirizzo della classe ".100" e attraverso il gateway (router) metterlo in comunicazione con la classe ".10"?
All'occorrenza con delle ACL permettere solo a quell'ip di dialogare con la classe ".10"

corradoBe
11-02-2010, 13:37
Non conosco la situazione e apparati utilizzati in dettaglio, ma non è più semplice assegnare alla macchina un'indirizzo della classe ".100" e attraverso il gateway (router) metterlo in comunicazione con la classe ".10"?
All'occorrenza con delle ACL permettere solo a quell'ip di dialogare con la classe ".10"

una soluzione potrebbe essere la Vlan se hai lo switch che la gestisce

misterx
11-02-2010, 13:41
Non conosco la situazione e apparati utilizzati in dettaglio, ma non è più semplice assegnare alla macchina un'indirizzo della classe ".100" e attraverso il gateway (router) metterlo in comunicazione con la classe ".10"?
All'occorrenza con delle ACL permettere solo a quell'ip di dialogare con la classe ".10"


sarebbe più facile ma in questo caso specifico non mi è possibile. Per questo cercavo un sistema che via via si adattasse all'ambiente che trova e non il contrario.
In questo caso sarebbe sufficiente che chi ospita i miei apparati mi fornisca un indirizzo del suo gateway per poter uscire su internet senza toccare altro ne sulla mia LAN e ne tantomeno sulla LAN ospite.

slowped
11-02-2010, 13:47
Senza usare router o altro, come posso far vedere al PC il gateway ?


Se devi farlo su un solo PC e se il gateway è fisicamente sulla stessa LAN, puoi risolvere semplicemente assegnando un secondo indirizzo IP alla scheda di rete.

Come fare dipende dal sistema operativo. Se le condizioni sono diverse da quelle che ho ipotizzato specifica meglio.

nuovoUtente86
11-02-2010, 14:24
una soluzione potrebbe essere la Vlan se hai lo switch che la gestisce

non basta uno switch che gestisce le vlan, ma deve avere anche il virtual routing, ovvero essere un layer3

misterx
11-02-2010, 18:44
non basta uno switch che gestisce le vlan, ma deve avere anche il virtual routing, ovvero essere un layer3


ma VLAN non implica che implementa layer 3 ?
So che gli switch più moderni oramai implementano di tutto, non so a che prezzi però.

ciao

nuovoUtente86
11-02-2010, 18:48
ma VLAN non implica che implementa layer 3 ?
So che gli switch più moderni oramai implementano di tutto, non so a che prezzi però.

ciao

no sono funzionalità differenti.

slowped
11-02-2010, 19:39
So che gli switch più moderni oramai implementano di tutto, non so a che prezzi però.


Non è questione di modernità (gli switch in grado di gestire le VLAN esistevano anche dieci anni fa). L'una dipende dall'altra ma non viceversa.

gargamella
11-02-2010, 22:35
ciao,
dovrei configurare un PC in modo che rimanga sulla sottorete assegnata ma che esca in internet attraverso un indirizzo gateway non appartenente alla sottorete del PC.
Il PC ha IP 192.168.10.50
il gateway IP 192.168.100.1

il problema è che non posso toccare nulla in quanto la sottorete x.x.10.x è fornita da me, mentre il gateway è già presente.
Senza usare router o altro, come posso far vedere al PC il gateway ?


A mio parere il problema non è tanto quello di far vedere il gateway al tuo pc (se sono sullo stesso broadcast domain si parlano di sicuro), quanto quello di convincere il suddetto gateway ad instradare pacchetti provenienti da una macchina non appartenente alla rete a cui appartiene. Se si tratta di una macchina linux è sufficiente una linea di iptables, altrimenti bisogna vedere...

Ciao

nuovoUtente86
11-02-2010, 23:54
A mio parere il problema non è tanto quello di far vedere il gateway al tuo pc (se sono sullo stesso broadcast domain si parlano di sicuro), quanto quello di convincere il suddetto gateway ad instradare pacchetti provenienti da una macchina non appartenente alla rete a cui appartiene. Se si tratta di una macchina linux è sufficiente una linea di iptables, altrimenti bisogna vedere...

Ciao

se hanno mantenuto il classful, sono su domini broadcast differenti.

slowped
12-02-2010, 08:17
(se sono sullo stesso broadcast domain si parlano di sicuro)

Appunto. In questo caso (sono sullo stesso broadcast domain) è sufficiente aggiungere un indirizzo IP alla scheda di rete del PC che deve accedere a Internet utilizzando il gateway della rete ospite.

Solo se le due subnet IP sono su domini di broadcast distinti, allora è necessaria una seconda scheda di rete. E a quel punto la macchina con due interfacce potrebbe agire da router software (con varie soluzioni) per l'intera rete a cui originariamente apparteneva.

se hanno mantenuto il classful, sono su domini broadcast differenti.

Se per classful intendi la "vecchia" divisione dello spazio degli indirizzi IP in classi (A, B, C, ecc.) non sono d'accordo. Il dominio di broadcast ha a che vedere con il livello data link mentre i classful network sono a livello network.

Se invece intendi qualcos'altro, potresti spiegare meglio?

nuovoUtente86
12-02-2010, 11:27
Appunto. In questo caso (sono sullo stesso broadcast domain) è sufficiente aggiungere un indirizzo IP alla scheda di rete del PC che deve accedere a Internet utilizzando il gateway della rete ospite.

Solo se le due subnet IP sono su domini di broadcast distinti, allora è necessaria una seconda scheda di rete. E a quel punto la macchina con due interfacce potrebbe agire da router software (con varie soluzioni) per l'intera rete a cui originariamente apparteneva.



Se per classful intendi la "vecchia" divisione dello spazio degli indirizzi IP in classi (A, B, C, ecc.) non sono d'accordo. Il dominio di broadcast ha a che vedere con il livello data link mentre i classful network sono a livello network.

Se invece intendi qualcos'altro, potresti spiegare meglio?
Il dominio broadcast è peculiare di livello ip, ovvero appartengono allo stesso domino tutte le macchine raggiungibili attraverso indirizzamento diretto datalink (mac) senza un nodo che faccia direct-arp o più in generale tutti i nodi raggiungibili con pacchetti broadcast.
Se prendiamo la prima definizione, più stringente, allore le 2 subnet sono su domini broadcast differenti: da una nic 192.168.1.x /24 non posso risolvere in indirizzo fisico 192.168.100.x /24. Se viceversa analizziamo la secondo affermazione, probabilmente, penso di aver capito cosa intendi, ovvero 2 subnet fisicamente unite (in tal caso condividono si il limited broadcast), in cui far operare una scheda in regime di aliasing o equivalentemente 2 schede.
Dipende, in ultimo, dalla struttura della rete, ma essendo il router l' entità preposta a segmentare i domini broadcast e avendo un router una interfaccia su ogni dominio, è concettualmente sbagliato far coesistere 2 subnet sullo stesso domino (inteso come fisico). NOn a caso si utilizzano le vlan.

slowped
12-02-2010, 13:50
Il dominio broadcast è peculiare di livello ip, ovvero appartengono allo stesso domino tutte le macchine raggiungibili attraverso indirizzamento diretto datalink (mac) senza un nodo che faccia direct-arp o più in generale tutti i nodi raggiungibili con pacchetti broadcast.

Pienamente d'accordo. D'altra parte è una definizione.

Se viceversa analizziamo la secondo affermazione, probabilmente, penso di aver capito cosa intendi, ovvero 2 subnet fisicamente unite (in tal caso condividono si il limited broadcast), in cui far operare una scheda in regime di aliasing o equivalentemente 2 schede.

Intendevo esattamente questo.

è concettualmente sbagliato far coesistere 2 subnet sullo stesso domino (inteso come fisico). NOn a caso si utilizzano le vlan.

Pienamente d'accordo dal punto di vista concettuale. Purtroppo nella realtà bisogna fare i conti con situazioni in cui tale pratica è necessaria. Intendiamoci, in non progetterei mai una rete in questo modo; separerei fisicamente le due reti e introdurrei un router oppure implementerei delle VLAN e utilizzerei uno switch Layer3. Ma se i vincoli esistenti non consentono altro...

Il Bruco
12-02-2010, 14:41
Scusate la mia ignoranza in merito.
Ma come fa un server a prendere la linea di internet da un router con una sua sottorete e conviderla sulla rete aziendale appartenente ad un'altra sottorete?
Non è con 2 Schede di rete configurate con Windows in Bridge che si riesce a fare ciò?

nuovoUtente86
12-02-2010, 15:03
Scusate la mia ignoranza in merito.
Ma come fa un server a prendere la linea di internet da un router con una sua sottorete e conviderla sulla rete aziendale appartenente ad un'altra sottorete?
Non è con 2 Schede di rete configurate con Windows in Bridge che si riesce a fare ciò?

come fa un qualsiasi altro isr, solo che utilizza maggiore strato software.
La scheda di rete connessa ad internet, o verso un gateway sulla internet, è l' interfaccia wan, mentre l' altra scheda rappresenta l' interfaccia lan.
Il tutto avviene con solo 3 regole fondamentali:
-0.0.0.0 /0->wan interface
-192.168.0.0 /24(subnet di default per windows) ->lan interface
-NAT N:1 da lan su wan.

Con il bridge mode, invece entrambe le schede devono avere un indirizzo valido sulla stessa subnet.

Il Bruco
12-02-2010, 15:10
ciao,
dovrei configurare un PC in modo che rimanga sulla sottorete assegnata ma che esca in internet attraverso un indirizzo gateway non appartenente alla sottorete del PC.
Il PC ha IP 192.168.10.50
il gateway IP 192.168.100.1
il problema è che non posso toccare nulla in quanto la sottorete x.x.10.x è fornita da me, mentre il gateway è già presente.
Senza usare router o altro, come posso far vedere al PC il gateway ?

grazie


Ma misterx non ha la stessa subnet?
Non potrebbe adottare la soluzione Bridge, anche se via software appesantisce il sistema durante il lavoro?

nuovoUtente86
12-02-2010, 15:14
Ma misterx non ha la stessa subnet?
Non potrebbe adottare la soluzione Bridge, anche se via software appesantisce il sistema durante il lavoro?

Il PC ha IP 192.168.10.50
il gateway IP 192.168.100.1
classe C ovvero /24, ovvero ancora subnet differenti.

Il Bruco
12-02-2010, 15:16
OK
Grazie della delucidazione.

gargamella
12-02-2010, 15:52
Il PC ha IP 192.168.10.50
il gateway IP 192.168.100.1
classe C ovvero /24, ovvero ancora subnet differenti.

Mi stai dicendo che sullo stack TCP/IP di Windows ciascuna interfaccia ignora di default i pacchetti con indirizzo sorgente non appartenente alla sua sottorete? Oppure è una limitazione di ICS?

Ciao

nuovoUtente86
12-02-2010, 18:56
Mi stai dicendo che sullo stack TCP/IP di Windows ciascuna interfaccia ignora di default i pacchetti con indirizzo sorgente non appartenente alla sua sottorete? Oppure è una limitazione di ICS?

Ciao

non c' entra nulla windows, ma dipende dal mapping ip-mac (ovvero l' arp).
Quando un host deve indirizzare un pacchetto che non matchata la propria rete, chiede aiuto al suo default gateway, ma se lo stesso non appartiene alla sua subnet si crea un loop di risoluzione.

gargamella
12-02-2010, 19:57
non c' entra nulla windows, ma dipende dal mapping ip-mac (ovvero l' arp).


Appartenendo alla stessa rete fisica i pacchetti arp (L2) circolano liberamente.


Quando un host deve indirizzare un pacchetto che non matchata la propria rete, chiede aiuto al suo default gateway, ma se lo stesso non appartiene alla sua subnet si crea un loop di risoluzione.

Qui stai parlando di instradamento, nel momento in cui si è a L3, l'indirizzo è per forza di cose già noto e non si torna indietro.

Ho appena effettuato una prova: rete 192.168.1.0/24, default gateway 192.168.1.150, aggiunta macchina con indirizzo 10.10.10.10 ed impostato 192.168.1.150 come default gateway sull'interfaccia in questione.
Tutto quello che ho dovuto aggiungere sul mio router è stata una rotta verso 10.10.10.0/8 sull'interfaccia collegata a quella macchina.
Inoltre, dato che non vi era alcun filtro sul masquerading se non quello dell'interfaccia di provenienza, 10.10.10.10 usciva anche tranquillamente su internet.

Ripeto: è una limitazione di ICS (ammesso che sia quello in uso)?
Perchè altrimenti non si vede il motivo per cui il nostro amico non possa impostare una rotta statica verso 192.168.10.0/24 sul suo gateway.

Saluti

nuovoUtente86
12-02-2010, 20:11
Appartenendo alla stessa rete fisica i pacchetti arp (L2) circolano liberamente.

circolano liberamente solo le request, le reply sono unicast.

gargamella
12-02-2010, 20:22
circolano liberamente solo le request, le reply sono unicast.

Che arrivano tranquillamente al destinatario (cfr. "liberamente") a patto che esista un'opportuna route.

gargamella
12-02-2010, 20:22
circolano liberamente solo le request, le reply sono unicast.

Che arrivano tranquillamente al destinatario (cfr. "liberamente") a patto che esista un'opportuna route.

nuovoUtente86
12-02-2010, 20:28
Qui stai parlando di instradamento, nel momento in cui si è a L3, l'indirizzo è per forza di cose già noto e non si torna indietro.

se l' indirizzo del gateway è sulla stessa subnet certamente, ma non è il caso in questione.


Ho appena effettuato una prova: rete 192.168.1.0/24, default gateway 192.168.1.150, aggiunta macchina con indirizzo 10.10.10.10 ed impostato 192.168.1.150 come default gateway sull'interfaccia in questione.
Tutto quello che ho dovuto aggiungere sul mio router è stata una rotta verso 10.10.10.0/8 sull'interfaccia collegata a quella macchina.
Inoltre, dato che non vi era alcun filtro sul masquerading se non quello dell'interfaccia di provenienza, 10.10.10.10 usciva anche tranquillamente su internet.

hai scoperto l' acqua calda: hai fatto una normalissima operazione di routing:
l' host sulla subnet 192.168.1.0, si rivolge al gateway per raggiungere un indirizzo fuori dalla lan, questi vede che 10.0.0.0(se utilizzi la rotta 10.10.10.0/8 non funzionerà mai) è una network direttamente connessa (quindi la static route è ridondante e per altro non considerata perchè a metrica 1 contro 0 delle connected)e la indirizza a livello fisico.

Ripeto: è una limitazione di ICS (ammesso che sia quello in uso)?

Perchè altrimenti non si vede il motivo per cui il nostro amico non possa impostare una rotta statica verso 192.168.10.0/24 sul suo gateway.

Saluti

Si è generata troppa confusione: affinchè possa utilizzare l' ICS (che non è un router software, ma un nattere N:1 con rotta stub)è necessario interporre un computer tra il gateway appartenente alla 192.168.100.0 che rappresenta la wan interface e la lan con indirizzo 192.168.1.0!
Affinchè il suo gateway possa raggiungere la 192.168.10.24 è necessaria una dell seguenti 3 condizioni:
-una scheda in modalità aliasing (ovvero in grado di stare su 2 interfacce), con relativo dominio di broadcast non segmentato.
-2 schede di rete, ognuna sulla rispettiva subnet.
-un host o router in grado di interfacciarsi con la rete 192.168.1.0
Solo in questo caso è necessario l' aggiunta di una rotta statica.

nuovoUtente86
12-02-2010, 20:33
Che arrivano tranquillamente al destinatario (cfr. "liberamente") a patto che esista un'opportuna route.

si ma le route hanno bisogna di un dispositivo che le esegua, ovvero in grado di dialogare logicamente(instradamento) e fisicamente(commutazione) con la rete, che si traduce nelle condizioni di cui al post precedente.
Lo scenario descritto è pressochre questo.

gateway(192.168.100.x)->switch(su cui sono attestati dispositivi di entrambe le reti)->host (di entrambe le reti)
Stando cosi le cose, gli unici pacchetti condivisi sono i broadcast limited (255.255.255.255) ma è evidente che non è presente alcun dispositivo in grado di fare routing fra le 2 reti, che per altro è mal progettata.

gargamella
12-02-2010, 20:54
Verifichiamo di stare parlando la stessa lingua: questo benedetto gateway 192.168.100.1 è una macchina sulla stessa rete fisica di 192.168.10.50 ?
In altre parole tra loro vi è solo uno switch (suppongo unmanaged) o è una questione diversa?

nuovoUtente86
12-02-2010, 21:02
Verifichiamo di stare parlando la stessa lingua: questo benedetto gateway 192.168.100.1 è una macchina sulla stessa rete fisica di 192.168.10.50 ?
In altre parole tra loro vi è solo uno switch (suppongo unmanaged) o è una questione diversa?

si è sulla stessa rete fisica (almeno cosi sembra), quindi vi sarà un hub o uno switch (managed o unmanaged poco importa).
Ma questo si sapeva già e non sposta l' equilibrio di quanto detto.

gargamella
12-02-2010, 21:08
si è sulla stessa rete fisica (almeno cosi sembra), quindi vi sarà un hub o uno switch (managed o unmanaged poco importa).
Ma questo si sapeva già e non sposta l' equilibrio di quanto detto.

Allora non capisco le tue obiezioni. I due host (192.168.1.150 e 10.10.10.10) connessi sulla stessa rete fisica nel mio esperimento comunicavano direttamente senza difficoltà.
Non vedo perchè misterx non possa fare altrettanto.

nuovoUtente86
12-02-2010, 21:21
Allora non capisco le tue obiezioni. I due host (192.168.1.150 e 10.10.10.10) connessi sulla stessa rete fisica nel mio esperimento comunicavano direttamente senza difficoltà.
Non vedo perchè misterx non possa fare altrettanto.

che comunicassero senza un router(hardware o software che sia) è alquanto impossibile, visto che una richiesta arp proveniente da una subnet diversa dalla proprio viene droppata: ma non lo dico io lo dice l' rfc 826.
Ti ripeto lo schema e come funzionano le cose:
192.168.100.1(gateway)->switch->hosts (192.168.100.x e 192.168.1.x)
L' utente pinco pallo ha questa configurazione
ip 192.168.1.2
mask 255.255.255.0
gateway 192.168.100.1

Per semplicità diciamo che si conosca l' ip di google e l' utente lo digita nel proprio browser: lo stack di rete di windows dice...ops un ip che non fa anding con la mia rete...vediamo il mio gateway chi è...e manda un arp request contenente ip 192.168.100.1....su gateway arriva la request e questi dice...si ma sono io, qualcuno mi cerca...però però mi cerca qualcuno fuori dalla mia rete....e visto che lui l' rfc 826 lo conosce se ne sta buono buono e lascia scadere l' arp timeout, cosi che sull' host sorgente il livello ip sarà avvisato che non è possibile trovare la destinazione o un suo gateway.
Questo è quanto avviene, certo sono curioso di conoscere la tua configurazione funzionante, senza router di mezzo però mi raccomando, altrimenti il gioco non vale.

gargamella
12-02-2010, 22:09
Tra due macchine linux (192.168.1.150 e 10.10.10.10) sullo stesso segmento ethernet. I comandi dati rispettivamente sono: "ip route add 10.0.0.0/8 dev eth0" e "ip route add default dev eth0 via 192.168.1.150".
Il primo host ha anche un'altra interfaccia collegata ad internet, verso cui viene effettuato il NAT.
A questo punto mi domando se non vi sia una qualche differenza a livello implementativo; per togliermi la curiosità domani farò qualche prova da windows.

Saluti

nuovoUtente86
12-02-2010, 22:38
devi postare le routing table complete degli hosts.

gargamella
13-02-2010, 09:10
devi postare le routing table complete degli hosts.

Eccoti servito:


host 10.0.10.10

# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 * 255.0.0.0 U 1 0 0 eth0
default 192.168.1.150 0.0.0.0 UG 0 0 0 eth0

host 192.168.1.150

# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.100.1 * 255.255.255.255 UH 0 0 0 ppp0
192.168.15.0 * 255.255.255.0 U 0 0 0 ath0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.20.0 * 255.255.255.0 U 0 0 0 ath1
10.0.0.0 * 255.0.0.0 U 0 0 0 eth0
default * 0.0.0.0 U 0 0 0 ppp0


Ovviamente nessuna delle macchine ha indirizzi secondari sulle relative interfacce.

Harry_Callahan
13-02-2010, 09:57
@gargamella in un post precedente hai scritto che gli host comunicavano tra loro, giusto?



tutti gli host hanno anche l'accesso a internet?

nuovoUtente86
13-02-2010, 11:07
se questa configurazione funziona è solo perchè, evidentemente, lo stack tcp/ip di linux assume di dover comportarsi come un server di direct-arp, ma non è un comportamento standard.
Ovviamente aspetto qualche altra spiegazione, sul perchè questo sia un comportamento corretto, dato che il gateway deve stare sempre, solo e comunque sulla propria subnet logica.

Harry_Callahan
13-02-2010, 14:51
se questa configurazione funziona è solo perchè, evidentemente, lo stack tcp/ip di linux assume di dover comportarsi come un server di direct-arp, ma non è un comportamento standard.


in parole povere i pacchetti arrivano al gateway con source nella stessa subnet del gateway in questione?

nuovoUtente86
13-02-2010, 15:09
in parole povere i pacchetti arrivano al gateway con source nella stessa subnet del gateway in questione?

no, in pratica quando viene fatta una richiesta arp verso il gateway (che in questo caso si trova su una subnet differente e quindi non risolvibile) su piattaforma linux (o su qualche distribuzione in particolare) assume di conoscerne la rotta e manda in reply il proprio mac.
Questo giochetto può funzionare, solo, tra nodi che implementano questa logica subdola e fuori standard.

Harry_Callahan
13-02-2010, 15:17
no, in pratica quando viene fatta una richiesta arp verso il gateway (che in questo caso si trova su una subnet differente e quindi non risolvibile) su piattaforma linux (o su qualche distribuzione in particolare) assume di conoscerne la rotta e manda in reply il proprio mac.


se Linux fa una richiesta arp verso il gateway, il router risponderà se e solo se la richiesta arriva dalla stessa subnet(del gateway)? se si, vuole dire che Linux si presenta nella stessa subnet del gateway. questa è una mia ipotesi logicamente

nuovoUtente86
13-02-2010, 15:21
se Linux fa una richiesta arp verso il gateway, il router risponderà se e solo se la richiesta arriva dalla stessa subnet(del gateway)? se si, vuole dire che Linux si presenta nella stessa subnet del gateway. questa è una mia ipotesi logicamente

questo è il comportamento standard di qualsiasi rete tcp/ip, definito appunto dagli rfc.
Del resto il fatto che il gateway debba stare sulla stessa subnet non è una supposizione ma un dato di fatto rilevabile dall' operazione di anding.

Harry_Callahan
13-02-2010, 15:27
questo è il comportamento standard di qualsiasi rete tcp/ip, definito appunto dagli rfc.


ok, quindi se non erro ho capito bene :D

dunque come dicevo prima se il router risponde a Linux, necessariamente Linux si sta presentando come un host di della subnet del gateway

sto solo cercando di capire se è giusto il mio ragionamento, niente di più, sia chiaro

nuovoUtente86
13-02-2010, 15:42
certo che è cosi, altrimenti non sarebbe necessario utilizzare router e le reti sarebbe costituite solo da commutatori.
In pseudo codice ARP fa questo:

-mac broadcast
-if (richesta arp.ip_destinazione==mio_ip){
if(ANDING(richesta arp.ip_sorgente)==mia_subnet)
risposta in unicast
else stop
}else stop

Per fare un esempio banale, lavorare a livello datalink è come consegnare la posta solo sulla base della via, senza inserire la persona destinataria.

gargamella
14-02-2010, 10:40
se questa configurazione funziona è solo perchè, evidentemente, lo stack tcp/ip di linux assume di dover comportarsi come un server di direct-arp, ma non è un comportamento standard.
Ovviamente aspetto qualche altra spiegazione, sul perchè questo sia un comportamento corretto, dato che il gateway deve stare sempre, solo e comunque sulla propria subnet logica.

Potresti indicarmi in quale comma di RFC826 si fa menzione di ciò?

gargamella
14-02-2010, 10:43
ok, quindi se non erro ho capito bene :D

dunque come dicevo prima se il router risponde a Linux, necessariamente Linux si sta presentando come un host di della subnet del gateway

sto solo cercando di capire se è giusto il mio ragionamento, niente di più, sia chiaro

Da tcpdump risulta che il client si presenta come 10.10.10.10, il router (che è peraltro un'altra macchina linux) effettua una arp request su eth0 in quanto ha una route impostata (e viceversa).

Harry_Callahan
14-02-2010, 11:19
Da tcpdump risulta che il client si presenta come 10.10.10.10, il router (che è peraltro un'altra macchina linux) effettua una arp request su eth0 in quanto ha una route impostata (e viceversa).

ok, quindi non ci troviamo nella stessa condizione dell'autore del thread, nel senso lui ha router normalissimo(e non sappiamo se può metterci le mani) e 2 host

probabilmente la tua configurazione funziona in quanto ha riportato delle modifiche sia sul host che sul router(PC Linux)

nuovoUtente86
14-02-2010, 12:11
Potresti indicarmi in quale comma di RFC826 si fa menzione di ciò?

per questo tipo di informazioni puoi cercare negli rfc 1433 (direct arp),791 (ip) e 1918 (ip per reti private).

nuovoUtente86
14-02-2010, 12:15
Da tcpdump risulta che il client si presenta come 10.10.10.10, il router (che è peraltro un'altra macchina linux) effettua una arp request su eth0 in quanto ha una route impostata (e viceversa).
Resto ancora in attesa di sapere secondo quale logica, ritieni un comportamento corretto e standard, quello di questa configurazione.
Ovviamente se è presente un router (seppur in software)è un' altra storia.

nuovoUtente86
14-02-2010, 12:19
ok, quindi non ci troviamo nella stessa condizione dell'autore del thread, nel senso lui ha router normalissimo(e non sappiamo se può metterci le mani) e 2 host

probabilmente la tua configurazione funziona in quanto ha riportato delle modifiche sia sul host che sul router(PC Linux)

non è questione di configurare o meno il router: il gateway deve essere un dispositivo della propria subnet logica (al minimo un proxy arp, rfc 1027).

Harry_Callahan
14-02-2010, 13:02
non è questione di configurare o meno il router: il gateway deve essere un dispositivo della propria subnet logica (al minimo un proxy arp, rfc 1027).

si, però se lui ha impostato una rotta statica sul router(PC Linux), questo spiegherebbe il funzionamento.

In ogni caso non ci troviamo nelle stessa condizione dell'utente che ha aperto il topic, quindi ai fini di aiutare questa persona stiamo andando :ot:

Da tcpdump risulta che il client si presenta come 10.10.10.10, il router (che è peraltro un'altra macchina linux) effettua una arp request su eth0 in quanto ha una route impostata (e viceversa).

nuovoUtente86
14-02-2010, 13:08
si, però se lui ha impostato una rotta statica sul router(PC Linux), questo spiegherebbe il funzionamento.

In ogni caso non ci troviamo nelle stessa condizione dell'utente che ha aperto il topic, quindi ai fini di aiutare questa persona stiamo andando :ot:

setta un d-gateway fuori dalla subnet e ciò non è ammissibile.

Harry_Callahan
14-02-2010, 17:41
setta un d-gateway fuori dalla subnet e ciò non è ammissibile.

nuovoUtente86,

molto probabilmente sono io che non capisco. per cortesia, puoi chiarire un attimo questa situazione?

per te non è possibile settare un gateway di una subnet diversa quando?

sempre? oppure si può settare solo in alcune condizioni(es. 2 router connessi tra loro)?

nuovoUtente86
14-02-2010, 22:24
nuovoUtente86,

molto probabilmente sono io che non capisco. per cortesia, puoi chiarire un attimo questa situazione?

per te non è possibile settare un gateway di una subnet diversa quando?

sempre? oppure si può settare solo in alcune condizioni(es. 2 router connessi tra loro)?

IN linea di principio, e per quello che concerne questa discussione, sempre.
Il gateway costituisce il nodo edge, ovvero di frontiera, tra la rete locale e il resto del mondo (cosa sia il resto non ci interessa purche utilizzi ip).
Se riuscissimo ad indirizzare tutta la internet a livello fisico, non servirebbero dispositivi router, ma solo bridge e commutatori.
Esistono altre condizioni per cui potrebbe non essere cosi, e sono per altro già state citate:
-avere in rete un proxy arp (ma in questo caso,a livello logico ogni host crede il gateway sulla sua subnet)che in maniera trasparente risponde e/o impersonifica il gateway
-avere dispositivi che implementano il direct arp, che si utilizza spesso in presenza di nodi che operano con protocolli di routing dinamico e in principal modo per questioni legate al balancing fra gateway (eventualmente condivisi), al QoS (magari per instradare su reti dedicate) o per sopperire, prima che la rete converga, a rotture dei nodi default. Il tutto non avviene in modo trasparente, ma si ha una risoluzione iterativa del mapping ip-mac con scambio multiplo di icmp (next-hop redirect) e arp request.