Se ci si trova nella situazione di dover interconnettere diversi segmenti IPX, è necessario utilizzare un router. In ambiente Novell ci sono due tipi di informazioni che devono essere diffuse all'interno della rete. Si tratta di "network routing information" propagate utilizzando Novell RIP, e "service advertisement information" propagate utilizzando Novell SAP. Affinché un router sia utile nella maggior parte delle situazioni, è necessario che supporti entrambi i protocolli.
Linux fornisce supporto per entrambi i protocolli e si può facilmente fare in modo che funzioni come un router completamente conforme a Novell.
Il supporto IPX per il kernel gestisce il percorso dei pacchetti IPX attraverso le interfacce, secondo le regole codificate all'interno della tabella di instradamento IPX. Linux ha bisogno di un programma per implementare RIP e SAP di Novell per assicurare che la tabella di instradamento IPX sia compilata correttamente e aggiornata periodicamente al fine di riflettere eventuali cambiamenti dello stato della rete.
Volker Lendecke (lendecke@namu01.gwdg.de) ha sviluppato un demone di instradamento per questo scopo: ipxripd. Il pacchetto menzionato successivamente mars_nwe include un demone di instradamento alternativo.
È possibile trovare ipxripd
presso:
sunsite.unc.edu, /pub/Linux/system/filesystems/ncpfs/ipxripd-0.7.tgz
o presso il sito privato di Volker: ftp.gwdg.de, /pub/linux/misc/ncpfs/ipxripd-0.7.tgz.
I passi da seguire per configurare una macchina Linux affinché si comporti come router sono:
ipx_interface
precedentemente descritto (vedi
ipx_interface).
Si consideri la semplice rete illustrata di seguito:
IPX Addr: 0x01000000 802.2 |--------------------------| | \_________________________ \ Linux Router IPX Addr: 0x02000000 802.2 \ |--------------------------| \ eth0/-----------\ | \--====| | \_________________________ | IPX route | \ eth1| Table | IPX Addr: 0x03000000 etherII \----====| ^ | |--------------------------| | | | | eth2| IPXd | \______________________________/====| | | SAPd | IPX Addr: 0x04000000 etherII eth3| | |--------------------------| /====| | | | \___________/ \______________________________/
La configurazione per la rete sopra riportata corrisponde a:
# ipx_interface add eth0 802.2 0x0100000000
# ipx_interface add eth1 802.2 0x0200000000
# ipx_interface add eth2 etherii 0x0300000000
# ipx_interface add eth3 etherii 0x0400000000
# ipxd
Dopo aver atteso qualche istante, controllando il file
/proc/net/ipx_route
, dovrebbe essere possibile osservare la
presenza dei percorsi IPX rilevanti per la propria configurazione e
di tutti quelli acquisiti da altri router nella rete.
Novell ha una caratteristica denominata rete interna, che viene utilizzata per semplificare l'instradamento nelle situazioni in cui un host è connesso a più dispositivi di rete. Può essere utile in caso di un fileserver connesso a più reti, poiché imposta un solo percorso come indicazione per raggiungere il server, indipendentemente dalla rete su cui si stia lavorando.
In caso di una configurazione senza un fileserver e nella quale la macchina agisca solo da router IPX, la questione non è altrettanto semplice. Si è notato che la configurazione per IPX/PPP funziona "meglio" se viene implementata anche una rete interna.
È un'operazione semplice da fare ma può richiedere la ricompilazione del
kernel. È importante rispondere "Y", mentre si esegue make config
, alla richiesta:
...
...
Full internal IPX network (CONFIG_IPX_INTERN) [N/y/?] y
...
...
Per configurare l'interfaccia della rete interna, utilizzare il comando
ipx_internal_net
descritto in precedenza nel paragrafo relativo agli
strumenti di rete. La precauzione
principale da prendere, consiste nell'assicurarsi che l'indirizzo IPX
assegnato sia univoco nella rete e quindi che nessun'altra macchina, o
rete, lo stia utilizzando.