Newsgroup: it.comp.os.linux.iniziare
Titolo: Routing

Volendo rendere permante il seguente instradamento:
    route add -host 192.168.1.8 netmask 255.255.255.0 dev eth1
quale file dovrei modificare?
-- 
Non capisco tutta questa eccitazione per il multitasking: io sono anni
che leggo in bagno.
                -- Carlo Landini

Cioa
Modifica il file rc.local ed inserisci questo comando.
Oppure potresti creare un file dove inserire tutti i comandi che vuoi 
eseguira al boot e dire in rc,loca di avviarlo.
Ti ricordo che in file /etc/rc.local  esegue tutto cio che e' specificato 
dopo la fase di boot prima di restituirti i comandi per loggarti
ciao
"giglio robbo' d'acciaio" <dan...@mother.nostromo.wy> ha scritto nel 
messaggio news:87llald...@nostromo.wy...


Uso Debian e ho visto che il file /etc/network/interfaces contiene i parameri
per configurare le due schede. Tuttavia il man di interfaces recita:
=========================================================================
INET ADDRESS FAMILY
       This section documents the methods available in the inet address family.
   The loopback Method
       This method may be used to define the IPv4 loopback interface.
       Options
              (No options)
   The static Method
       This  method may be used to define ethernet interfaces with statically allocated IPv4
       addresses.
       Options
              address address
                     Address (dotted quad) required
              netmask netmask
                     Netmask (dotted quad) required
              broadcast broadcast_address
                     Broadcast address (dotted quad)
              network network_address
                     Network address (dotted quad) required for 2.0.x kernels
              metric metric
                     Routing metric for default gateway (integer)
              gateway address
                     Default gateway (dotted quad)
              pointopoint address
                     Address of other end point (dotted quad). Note the spelling of  "point‐
                     to".
              media type
                     Medium type, driver dependent
              hwaddress class address
                     Hardware  Address.  class  is  one  of  ether,  ax25, ARCnet or netrom.
                     address is dependent on the above choice.
              mtu size
                     MTU size
=========================================================================
Neanche una parola su come fare il routing diretto verso un altro nodo
piuttosto che verso un'intera rete.


 piuttosto che verso un'intera rete.
Eh?
Cosa vuoi fare?
Un nodo e' una rete senza apertura, 
192.168.1.1/32
Pertanto mulla vieta di usarlo.
Non e' meglio che spieghi il problema, invece che dire che la
tua soluzione e' sbagliata? :-)
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net

 tua soluzione e' sbagliata? :-)
È presto detto. Ho collegato il portatile al PC sul quale gira Debian, il PC a
sua volta è collegato alla LAN attraverso una seconda scheda. Voglio che anche
il portatile possa accedere alla rete, sto cercando di capire come
fare. Pensavo che fosse sufficiente definire una opportuna tabella di routing.
Invece, da un altro therad mi sembra che devo utilizzare netfilter per
l'instradamento dei pacchetti.
Ciao.


 
Esatto.
Con la tabella di routing risolvi solo in parte il problema.
IL problema e' che il resto della rete deve sapere che il tuo
portatile e' raggiungibile tramite il tuo pc fisso.
Questo, a meno di riconfigurare tutto il resto della rete, non lo
puoi fare con il solo routing.
In pratica, devi assegnare un ip supplementare al fisso, che
rappresenta il portatile.
Poi, con il forwarding, fai arrivare tutto il traffico diretto
a questo secondo IP alla seconda scheda di rete, su cui colleghi
il portatile.
networking howto, iptables, ip-masquerade howto sono i tuoi
maestri.


 maestri.
Oh yes, ho già contato le pagine (urgh!).


 all'interfaccia lato LAN?
Non deve coincidere.
Deve essere della stessa sottorete della lan.
Buttiamo giu' ipotesi numeriche:
La lan e' 
192.168.1.0/24
il fisso ha 192.168.1.1 su eth0
al fisso assegni anche come alias su eth0:1 192.168.1.2
Al portatile assegni un ip qualsiasi.
Il fisso fara' masquerading dalla sua eth1 verso la eth0.
Il fisso fara' source nat dalla lan (eth0) verso la eth1
dove hai il portatile.
In pratica, devi ragionare come se al posto del portatile ci sia
una DMZ e il tuo pc fisso sia un firewall.


 dove hai il portatile.
Sto facendo delle prove, solo non capisco come dovrei sfruttare l'IP alias di
eth0.


 eth0.
Per rendere raggiungibile il portatile al resto della rete.
Da un pc della rete, vedrai due IP : il 192.168.1.1 e' il fisso,
il 192.168.1.2 e' il portatile, anche se, ad esmpio, il portatile ha
sulla sua interfaccia 10.0.0.1.
I pacchetti indirizzati al .2 vengono presi in carico da eth0:1 e girati
a eth1 verso il portatile, e viceversa.
In pratica fai NAT/masquerading nei due sensi.


 Per rendere raggiungibile il portatile al resto della rete.
Scusa, mi sono espresso male. Che eth0:1 serva a distinguere il traffico
diretto verso il PC o il portatile è ovvio. Il problema è che se faccio
mother:daniele# iptables -t nat -A POSTROUTING -o eth0:1 -j MASQUERADE
Ottengo
Warning: weird character in interface `eth0:1' (No aliases, :, ! or *).
Infatti dal portatile riesco perfettamente a vedere il PC ma non il resto
della rete. Dov'è che sbaglio?


 della rete. Dov'è che sbaglio?
Nell'usare, in quel caso, l'interfaccia.
Usa gli indirizzi, che sono gli unici che nella catena ti possono dare
il senso all'instradamente/filtro dei pacchetti.
L'alias della scheda e' un dato fittizio, quando abbandona lo strato
ethernet, e viene affrontato dal kernel, il pacchetto risulta arrivato
da eth0 (fisica) percio' non ti lascia mettere l'alias dell'interfaccia.


Ok io credo di aver capito come funziona il meccanismo però mi sfugge ancora
qualcosa, poiché non ho ancora risolto.
Brevemente, lo SNAT l'impostato in questo modo:
# iptables -t nat -A POSTROUTING -s $IP_NOTEBOOK -j SNAT --to
  $IP_SCHEDA_VIRTUALE
il DNAT invece così:
# iptables -t nat -A PREROUTING -d $IP_SCHEDA_VIRTUALE -j DNAT --to-destination
  $IP_NOTEBOOK
Ho anche aggiunto un
# route add -host $IP_PORTATILE dev eth1
sul PC che non si sa mai.
Sembra che ci sia tutto, cosa ho tralasciato?
Grazie per la pazienza e ciao.
