Newsgroup: it.comp.os.linux.sys
Titolo: localnet

Domanda apparentemente idiota:
a cosa serve la entry della rete 127.0.0.0 nella tabella di routing?
Esempio, da ip route show su slackware:
127.0.0.0/8
 dev lo  scope link


Serve a far circolare per l'interfaccia di loopbak ogni richiesta
inviata a localhost.
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net


http://a2.pluto.it/a2219.htm#almltitle1985

 
Beh, mica detto.
Se non ricordo male, una volta avevo lasciato solo la eth0 e
funzionava lo stesso, passando di li'.
Ma dei miei neuroni stanchi non c'e' da fidarsi troppo.


 inviata a localhost.
A RedWiz: mica son a quei livelli, era una voluta
provocazione, infatti la domanda è solo *apparentemente* idiota ;)
Il punto è questo, NON serve in realtà. Per dirne una, il mio xubuntu
(derivante da ubuntu-server) non la imposta affatto, pur impostanto l'IP,
e chiaramente funziona alla perfezione.
Inoltre anche se non esiste su nessuna interfaccia un indirizzo del tipo
"127.1.2.3", verrà comunque trattato come localhost.
Non solo, ogni richiesta per *qualsiasi* indirizzo sulla loopback viene
correttamente gestita, anche togliendo quella entry.
E intendo su *qualsiasi* sottorete, il che porta a strani accadimenti.
Esempio:
Ho 2 PC:
A: 192.168.1.2 (xubuntu)
Routing table:
192.168.1.0/24
 dev eth0  proto kernel  scope link  src 192.168.1.2 
default via 192.168.1.1 dev eth0 
(notare l'assenza di default di localnet)
B: 192.168.1.5
RT:
192.168.1.0/24
 dev eth0  proto kernel  scope link  src 192.168.1.5 
127.0.0.0/8
 dev lo  scope link 
default via 192.168.1.1 dev eth0 
Come si può intuire, 192.168.1.1 è un router fra le 2.
Su A eseguo
ifconfig lo:1 192.168.1.5 (ip di B, netmask indifferente),
verifico che la routing table non cambi, e da quel momento
da A non raggiungerò mai più B finché non rimuovo quell'IP.
Sono d'accordo che sia concettualmente sbagliato mettere un IP
già in uso, però è chiaro come non venga seguita la routing table,
ma venga prima "guaradata" lo.
La prima cosa da fare non è un ARP request?
Comunque arp -a mostra il MAC della scheda di B, correttamente,
eppure le richieste vanno a lo.
Mi chiedo se ciò sia voluto, a mio avviso è un comportamento sbagliato.

 funzionava lo stesso, passando di li'.
perfetto!
dal link che postato: (evindenziato in giallo tipo "keep out,
biohazard!")
"È indispensabile che sia presente l'interfaccia locale virtuale per il
buon funzionamento del sistema, soprattutto quando l'elaboratore ha già
una connessione a una rete reale. Infatti, si potrebbe essere tentati di
non definire tale interfaccia, oppure di non attivare l'instradamento
relativo, quando sono presenti altre interfacce fisiche reali, ma ciò
potrebbe provocare un malfunzionamento intermittente della rete."
Red

 Red
Eppure sembra che l'instradamento relativo non serva invece,
e inoltre trovo alquanto strano che indirizzi 127.* vengano
portati a lo anche se non sono definiti.

 sbagliato.
Mi sa che questa č una castroneria, infatti un indirizzo locale, che sia
su loopback o meno č ovviamente gestito localmente.

 
127.0.0.0/8
 dev lo  scope link
Su alcune distribuzioni trovi anche quella riga, con le configurazioni
di default. Probabilmente accade quando gli script che avviano la rete
lavorano solo/anche sulla tabella main, quando configurano la rete per
"lo", ma non ho mai verificato (echo "- mistero rotte lo" >>todo) [1].
Un motivo potrebbe essere l'uso di /sbin/route invece di /sbin/ip.
Ovviamente, anche quando non la vedi, viene sempre impostata una rotta
per 
127.0.0.0/8
, se le cose sono fatte a modino :-), ma la trovi nella
tabella "local" e con scope "host" (prova "ip route show table all").
E... "si', la puoi togliere" :-) [2]
Fabio
[1] wc -l todo
    6349015 todo
[2] se hai una rotta adeguata anche nella tabella local.

 E... "si', la puoi togliere" :-) [2]
Ma 'nfatti ;)
Grazie a tutti.


 portati a lo anche se non sono definiti.
GLi indirizzi 
127.0.0.0/8
 sono definiti.
Se hai lo strato di rete, il localhost esiste, per definizione.


 Se hai lo strato di rete, il localhost esiste, per definizione.
Ok, ma io pensavo, forse erroneamente, che localhost fosse solo 127.0.0.1,
anche perché mi affidavo allo script che attiva la "lo", nel quale
viene impostato solo 127.0.0.1
Grazie.
-- 
Innovation is hard to schedule.
		-- Dan Fylstra

 Ok, ma io pensavo, forse erroneamente, che localhost fosse solo 127.0.0.1,
Bravo, hai aggiunto erroneamente. :-)
http://www.rfc-editor.org/rfc/rfc3330.txt


 :-)
Zio, non stai bene???


Sai, lavoro in una industria chimica, mi si deve essere inquinata la
tastiera con il protossido d'azoto.
