Newsgroup: it.comp.os.linux.sys
Titolo: Problemi di routing

Salve a tutti
ho un problema di routing a cui non riesco a trovare soluzione.
Ho una macchina linux che ha due schede di rete ed è collega a due reti
su cui sono presenti macchine windows.
La prima rete collegata ad eth0 ha indirizzo 192.168.0.x la seconda rete
collegata ad eth1 ha indirizzo 192.168.17.x entrambe con netmask
255.255.255.0, quindi appartengono alla stessa classe.
La scheda eth0 ha indirizzo 192.168.0.1; eth1 ha indirizzo 192.168.17.1
.
La configurazione di iptables è :
iptables -A INPUT -j ACCEPT
iptables -A FORWARD -j ACCEPT
iptbales -A OUTPUT -j ACCEPT
quindi non influisce minimamente sul passaggio dei pacchetti.
La tabella di routing è la seguente :
[root@Server /]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use
Iface
192.168.17.0    192.168.17.1    255.255.255.0   UG    0      0        0
eth2
192.168.0.0     192.168.0.1     255.255.255.0   UG    0      0        0
eth1
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0
lo
Adesso il mio problema risiede nel fatto che se apro risorse di rete su
una qualunque macchina windows, sia che risieda su 192.168.0.x sia che
risieda su 192.168.17.x, vedo tutti i computer su entrambe le reti ma
non riesco ad accedere alle macchine che sono sulla rete su cui non
risiede la macchina sulla quale ho aperto risorse di rete; il messaggio
che ricevo è "Impossibile accedere a Pippo Impossibile trovare il
percorso di rete."
Ho dimenticato di precisare che tutte le macchine windows appartengono
allo stesso gruppo di lavoro "Ufficio".
Es: Non riesco ad accedere da 192.168.0.143 a 192.168.17.65
Dove sbaglio ?
Grazie, Alfonso
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Dove sbaglio ?
Spero di non dire una cavolata.
Sulla macchina con due schede di rete
e' impostato IP_forwarding ?
echo "1" > /proc/sys/net/ipv4/ip_forward
-- 
gen. Trimack aka gen. Puzzerstoven 
Per favore non mandatemi allegati in Word o PowerPoint.
Si veda 
http://www.fsf.org/philosophy/no-word-attachments.it.html
 
IAF0 #196 -- Linux Registered User #274161

 echo "1" > /proc/sys/net/ipv4/ip_forward
Non hai detto una cavolata, la tua è una giusta richiesta; si
l'IP_forwarding è impostato.


 e viceversa..
Esatto.
Oppure, sempre IMHO, non sarebbe piu' semplice mettere il default gateway
sulle macchine delle due subnet: rete 192.168.0.x gw 192.168.0.1 (linux
eth0), rete 192.168.17.x gw 192.168.17.1 (linux eth1)?
Se dal subnet 192.168.0.x non pinghi niente nella subnet 192.168.17.x, e
viceversa, mancano i routing (con netmask 255.255.255.0 non sono la stessa
rete).
Fabio
--------------------------------
Inviato via 
http://usenet.libero.it

 l'IP_forwarding è impostato.
Mmmh...
Se non hai risolto, puoi provare cosi'
1) giocare con tcpdump (snort) sulle due schede e vedere che succede ai
 pacchetti (sempre che hai i permessi di fare un po' di sniffing) e
agire
 di conseguenza
2) se proprio non riesci con nessun mezzo prova una feature del kernel
 che permette il bridge su schede di rete: con questa fai si' che 
 la macchina linux accorpi le due schede di rete facendole agire come
 due porte di uno switch. Questa feature e' possibile su schede ethernet 
 e su interfacce TAP mentre sulla loopback non funziona.
 (cmq consulta 
bridge.sourceforge.net
 )
 
Ciao!


  
bridge.sourceforge.net
 )
Si, ma vuol dire che deve rinumerare una delle due reti, e penso non
fosse quello che intendeva fare...
Byez.
-- 
Emanuele Balla aka Skull
-----------------------------------------------------------------------
Besides, I think [Slackware] sounds better than 'Microsoft', don't you?
(By Patrick Volkerding)

 fosse quello che intendeva fare...
Al momento non ci ho pensato.
In effetti le parole "se non riesci con nessun mezzo" nascondono un 
"modificare gli IP delle macchine senza modificare la topologia fisica
 della rete"
Ma non basterebbe impostare netmask piu' "permissive" sulla macchina che
fa da bridge?
(ad esempio 255.255.0.0 )


 pranzo e non sono sicuro di connettere ancora molto bene.
Il def gw per un host deve essere della stessa subnet, cosi' ad es.
192.168.17.4 manda i pacchetti non appartenenti dalla sua rete al gw
192.168.17.1 (linux con forwarding), che a sua volta sa che per raggiungere
l'altra rete (192.168.0.x nella fattispecie) deve girare i pacchetti
sull'altra eth. Lo stesso vale, al contrario, per il percorso inverso.
bye


 (ad esempio 255.255.0.0 )
Mi hai appena fatto partire un brivido bestiale lungo tutta la colonna
vertebrale.. :-P
No, il tuo sistema non risolverebbe, dovrebbe cambiare la netmask di
tutte le macchine di entrambe le reti, che a quel punto diverrebbero
un'unica rete...
Se si vuole bridging, le due reti devono essere logicamente la stessa
(layer 3).
Se si vuole routing, possono essere logicamente distinte, ma ci vuole una
tabella di routing.
Altro verso non c'č...
Quello che vorrei capire č come e cosa gli accade realmente, piuttosto...
Se le due reti non routano l'una verso l'altra, puň essere solo per via
di qualcosa di anomalo che riesce a vedere l'lm-announce delle macchine
che stanno dall'altra parte...
Viceversa, se sono in grado di routare, deve anche poter vedere nelle
risorse della macchina remota... Non capisco... Forse il nostro amico
potrebbe darci qualche informazione in piů...
Uno skull e il routing dei limited broadcast


 potrebbe darci qualche informazione in più...
Questa parte del tuo discorso non mi è molto chiara per la verità,
quello che sto cercando di fare è semplicemente unire due reti di
macchine windows con indirizzamenti differenti facendo sì che tutti
vedano le due reti come se fossero una cosa sola.
Quindi aprendo "risorse di rete" su windows voglio vedere tutte le
macchine presenti sulle due reti e voglio essere libero di accedere a
qualunque macchina a prescindere dalla rete sulla quale si trova.
Finora sono riuscito a fare solo in modo di vedere tutte le macchine
appartenenti alle due reti su risorse di rete, ma quando provo ad
accedere ad una macchina che non si trova sulla mia sottorete, ottengo
il messaggio "Percorso di rete non trovato."


 ha scritto:
[cut]
Scusa la mia ignoranza (forse non ho colto appieno), ti faccio un paio di
domande per capire cosa sta succedendo sulla tua rete:
1) ammettendo che ci sia una macchina con ip addr 
192.168.0.10
: riesci a
pingare verso linux su 192.168.0.1?
2) stessa prova per una macchina posta sull'altra rete verso la relativa eth
su linux
3) se ora non pinghi le due macchine direttamente tra loro e il forwarding
su linux e' abilitato, IMHO, non sono a posto le routing table sui client
(vedi def gw o route add -net)
Facci sapere


 trovato."
Ok, quello che non capisco è:
le macchine delle due reti hanno impostata la macchina linux come gateway
per l'altra rete?
se si, alla macchina che vuoi raggiungere ci arrivi " a mano " anzichè
tramite browsing, la macchina la vedi? intendo: \\192.168.1.10 sulla
barra dell'indirizzo...
byez


 (vedi def gw o route add -net)
Ma sui client la default gw è impostata bene
Es: 192.168.0.10 gw 192.168.0.1
    192.168.17.10 gw 192.168.17.1


 ha scritto nel messaggio
news:6021439fd766cd68033...@mygate.mailgate.org...
Usi Wins, o ti affidi ai Broadcast di windows?

 barra dell'indirizzo...
No




ecco.. davide ha colto il punto ;-)


 barra dell'indirizzo...
Si


> Usi Wins, o ti affidi ai Broadcast di windows?
La seconda Broadcast di windows, quindi mi stai dicendo che se non uso
wins mi attacco ?
Ma se è vero questo come mai non riesco ad effettuare i ping tra una
rete e l'altra ?


 wins mi attacco ?
Eleggi Samba di Linux come Master Browser e vedrai che puoi anche continuare
con Broadcast

 Si ci riesce.
IMHO e' solo una questione di servizio elenco computer: ti ci vuole un server
wins, oppure lavori sui file lmhosts (la vedo dura, se i clients sono molti).
Altrimenti l'elenco computer funziona solo all'interno della singola rete, con
annunci a base di broadcast, ed elezione di un "master browser".
bye G.L.
--
La logica non attiene alla verosimiglianza delle ipotesi,
ma alla coerenza delle tesi con le ipotesi.

 
Ok sono daccordo ma come mai non si riesce a pingare tra una rete e
l'altra ?
Es: da 192.168.0.34  ping 192.168.17.78


 Es: da 192.168.0.34  ping 192.168.17.78
Oops... non avevo letto/capito bene: pensavo che al layer "link" ISO/OSI fosse tutto
a posto...
Posta l'output di:
# echo /proc/sys/net/ipv4/ip_forward
# ifconfig -a
# route -n
E, se stai usando iptables (suppongo di no, ma in caso positivo influirebbe non
poco...):
# iptables -L
# iptables-save


 # route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use
Iface
192.168.17.0    0.0.0.0         255.255.255.0   U     0      0        0
eth1
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0
eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0
lo
0.0.0.0         192.168.0.0     0.0.0.0         UG    0      0        0
eth0


           inet addr:192.168.17.195  Bcast:192.168.17.255
Saro' pignolo ma questo 192.168.17.195 che e' ?
Nel tuo primo post non avevi detto che il gateway 
aveva indirizzo 192.168.17.1 ?
Un Trimack che si sente un po' investigatore ...


 eth0
Mi chiarisci quale dovrebbe essre il significato di questa riga?
Non so se il problema sia lì (non ho mai inserito una riga del genere
nella mia route table, ma 'sta riga non è mica troppo sana... 
Prova a fare un 
route del default gw 192.168.0.0
...
Punto secondo...
La tua rete è fuori dai crismi: 192.168.0.0 è definita net di classe B.
Puoi decidere di subnettarla con altri 8 bit di subnet, ma devi
(dovresti) tenere fuori dall'utilizzo le subnet 192.168.0.0
(perchè corrisponde all'indirizzo della net) e 192.168.255.0 (perchè il
suo broadcast corrisponde al broadcast di net, oltre che di subnet).
Nel tuo caso non dovrebbe darti problemi, comunque... si tratta solo di
"buone norme"... che peraltro ti evitano un sacco di casini se dovessi
mai aver bisogno di protocolli di routing...
Byez...


 aveva indirizzo 192.168.17.1 ?
Errore di copiatura :) 192.168.17.1


 vertebrale.. :-P
Sorry, mi sono accorto della vaccata che ho detto.
E' che l'ultima volta che ho provato il bridging e' stato un po' di mesi
fa e ... adesso mi sovviene che in effetti le due schede di rete 
appartenevano alla stessa subnet, altrimenti col cavolo che funzionava.


 Puoi decidere di subnettarla con altri 8 bit di subnet, ma devi
Ok provo a rivedere la tabella di routing e  gli indirizzamenti secondo
i tuoi consigli, quindi mi confermi che una volta sistemato tutto devo
poter essere libero di pingare da una rete all'altra ?


 poter essere libero di pingare da una rete all'altra ?
Verifica la tabella di routing e basta, per il momento... 
La tua tabella ha una entry che le dice di usare cone default gateway
il net_addr di una delle due subnet. Non riesco onestamente a far di
conto su cosa potrebbe comportare, ma (penso) nulla di buono.
Il punto 2, come dicevo, è una finezza, non una di quelle cose che possa
compromettere completamente il funzionamento del routing.
Diciamo che sulla rete 0.0 hai due pc e non ti costa niente cambiargli
indirizzi, beh cambiaglieli che male non fai...
Byez.


 eth0
Questa route di default e' anomala, tanto piu' che punta a una rete, e non
ad un indirizzo ip.
# route del default gw 192.168.0.0


Se avete una macchina con + sk di rete, mi fate un esempio di tabella di
routing funzionante ?


 routing funzionante ?
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use
Iface
172.16.32.0    0.0.0.0         255.255.255.0 U     0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth2
10.10.10.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         172.16.32.244    0.0.0.0         UG    0      0        0
eth0
bye G.L.


 eth0
E riesci a pingare allegramente da una rete all'altra ?


 routing funzionante ?
80.207.144.96   0.0.0.0               255.255.255.248  U     0      0
0  eth1
192.168.0.0       0.0.0.0               255.255.255.0      U     0      0
0  eth0
127.0.0.0           0.0.0.0               255.0.0.0              U     0
0        0  lo
0.0.0.0               80.207.144.97   0.0.0.0                UG    0      0
0  eth1
0.0.0.0               80.207.144.97   0.0.0.0                UG    1      0
0  eth1

 E riesci a pingare allegramente da una rete all'altra ?
Anche di piu'...    :-)


 E riesci a pingare allegramente da una rete all'altra ?
Anche di piu'...   :-)
Un consiglio, o una supposizione, se vuoi (e se mi posso permettere): mai dare
niente per scontato. Se necessario, ripartire da zero con la configurazione,
piuttosto che mettere pezze su pezze...    ;-)


  0 0  eth1
o 'sta tabella te la sei inventata o tu sei matto... ;-)


 piuttosto che mettere pezze su pezze...    ;-)
Ti puoi benissimo permettere, perchè è proprio per aver sottovalutato
una piccolo particolare che non riuscivo....
/proc/sys/net/ipv4/ip_forward era settato a 0 contrariamente a quello
che credevo di aver controllato.
Ora va tutto bene.
Grazie a tutti per la collaborazione.


 che credevo di aver controllato.
Non ci crederai, ma me l'ero immaginato e lo stavo pensando post dopo post... ;-)
Apposta ho chiesto un banale cat ("echo" era un refuso) del file...     :-)


 o 'sta tabella te la sei inventata o tu sei matto... ;-)
Una via di mezzo, pensavo di essermi collegato in telnet da un cliente che
ha quel tipo di situazione invece mi sono collegato con un altro che non
c'azzecca niente e senza guardare crtrl-c ctrl-v :-P