[Tech] Routing

Gianni Bianchini giannibi@firenze.linux.it
Sab 7 Feb 2004 21:45:16 CET


On Sat, 7 Feb 2004 19:59:30 +0100
compact wrote:

> mi sai illustrare con alcuni esempi casi in cui viene applicato
> il comando route verso i device

Supponi ad esempio di essere nella situazione seguente (la macchina
che mi sta qui davanti, che per l'appunto ha una routing table bella
pienotta, della serie "io ce l'ho piu' lunga di te" con tanto di braccio
teso in avanti modello 64 bit (TM)):

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
213.205.24.54   0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
213.205.24.54   0.0.0.0         255.255.255.255 UH    0      0        0 ipsec0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
172.16.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.0.0.0        213.205.24.54   255.0.0.0       UG    0      0        0 ipsec0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         213.205.24.54   0.0.0.0         UG    0      0        0 ppp0

# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:E0:4C:59:65:FB  
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
        
Per default, qualunque host della rete 192.168.0.0/24, se interrogato, mi vede
con l'ip 192.168.0.1 poiche' l'interfaccia da cui esce il pacchetto e' eth1.
Ma io voglio che ad es. l'host 192.168.0.101, per motivi che possono anche non
essere semplice divertimento ma non mi dilungo, mi veda come 192.168.0.10.
Allora creo un alias sull'interfaccia eth1

# ifconfig eth1:1 192.168.0.10

e qui non mi cambia nulla, salvo il fatto che "leggo" anche i pacchetti
destinati a 192.168.0.10. Pero' se aggiungo una entry 

# route add -host 192.168.0.101 dev eth1:1

tutto il traffico verso 192.168.0.101 "esce" da eth1:1 e quindi come generato
da 192.168.0.10 piuttosto che da 192.168.0.1, come continua a vedermi tutto il
resto della rete. La cosa si puo' estendere a sottoreti invece che a singoli
host. Nota che, nello specifico, lo stesso effetto si puo' ottenere con una
regola di SNAT (l'alias sull'interfaccia ci vuole comunque, altrimenti nessuno
ti risponde).

Ciao.
Gianni.




Maggiori informazioni sulla lista flug-tech