Linux IPX-HOWTO Kevin Thorpe, kevin@pricetrak.com v2.3, 06 Maggio 1998 Scopo di questo documento è descrivere come ottenere, installare e configurare diversi strumenti disponibili per utilizzare il protocollo IPX per kernel Linux. Revisione e manutenzione della traduzione ital­ iana: Andrea Girotto (andrea.girotto@usa.net). ______________________________________________________________________ Indice Generale 1. Introduzione a questo documento 1.1 Modifiche dalla versione precedente 1.2 Introduzione 2. Avvertenza 3. Documentazione 3.1 Nuove versioni di questo documento 3.1.1 Risorse internazionali 3.1.2 Risorse italiane 3.2 Feedback 3.3 Mailing list 4. Alcuni dei termini utilizzati in questo documento 5. Breve discussione sulla topologia di rete IPX 6. I file correlati a IPX nel filesystem /proc 7. I tool IPX di Greg Page 7.1 I tool IPX in maggior dettaglio 8. Configurazione della macchina Linux come router IPX 8.1 È necessario configurare una rete interna? 9. Configurazione della propria macchina Linux come client NCP 9.1 Come ottenere ncpfs 9.2 Compilazione di ncpfs per il kernel 1.2.13 9.3 Come compilare ncpfs per i kernel 1.3.71++/2.0.* 9.4 Configurazione e utilizzo di ncpfs 10. Configurazione della macchina Linux come server NCP 10.1 Il pacchetto mars_nwe 10.1.1 Capacità di mars_nwe 10.1.2 Come ottenere mars_nwe 10.1.3 Come compilare il pacchetto mars_nwe 10.2 Il pacchetto lwared 10.2.1 Capacità di lwared 10.2.2 Come ottenere lwared 10.2.3 Compilazione di lwared 10.2.4 Configurazione e utilizzo di lwared 11. Configurazione della macchina Linux come client di stampa Novell 12. Configurazione di una macchina Linux come print server Novell 12.1 Prerequisiti 12.2 Configurazione 13. Panoramica sui comandi utente e di amministrazione di ncpfs 13.1 Comandi utente 13.2 Strumenti per la gestione 14. Configurazione di PPP per reti con supporto IPX 14.1 Configurazione di un server IPX/PPP 14.1.1 Primi passi 14.1.2 Progettazione 14.1.3 Configurazione di pppd per il server 14.1.4 Verifica della configurazione del server 14.2 Configurazione di un client IPX/PPP 14.2.1 Configurazione di pppd per il client 14.2.2 Verifica del client IPX/PPP 15. Il tunnel IPX su IP 15.1 Come ottenere ipxtunnel 15.2 Compilare ipxtunnel 15.3 Configurazione di ipxtunnel 15.4 Verifica e utilizzo di ipxtunnel 16. Supporto commerciale IPX per Linux 16.1 Network Desktop di Caldera 17. Alcune domande frequenti (FAQ) 18. Copyright 19. Varie e ringraziamenti ______________________________________________________________________ 11.. IInnttrroodduuzziioonnee aa qquueessttoo ddooccuummeennttoo Questo è il Linux IIPPXX--HHOOWWTTOO. Insieme a questo, è consigliabile leggere (o aver letto) anche il documento NET-3-HOWTO di Linux. 11..11.. MMooddiiffiicchhee ddaallllaa vveerrssiioonnee pprreecceeddeennttee CCaammbbiioo ddii aauuttoorree Sentiti ringraziamenti a Terry Dawson per avermi ceduto questo documento e congratulazioni per essere diventato padre :-). AAggggiiuunnttee Aggiunta una breve spiegazione di IPX: un tentativo di risposta alle numerose confuse domande poste sulle liste di discussione. CCoorrrreezziioonnii//ggggiioorrnnaammeennttii Nuova versione di ncpfs che supporta login NDS. Si tratta di beta test e potrebbe essere proibita nel proprio paese in seguito all'uso di una tecnologia coperta da registrazione. Aggiunta del supporto dei permessi (trustee permission) del server in mars_nwe. Ancora in beta test. 11..22.. IInnttrroodduuzziioonnee Paragonata ad altri sistemi operativi di tipo Unix l'implementazione di rete del kernel di Linux è innovativa. La possibilità di seguire un nuovo approccio nello sviluppo del kernel, ha consentito il supporto (previa compilazione) di diversi protocolli non TCP/IP. Il protocollo IPX è uno di questi. Il kernel Linux supporta solamente il protocollo IPX. Non è ancora in grado di gestire protocolli come IPX/RIP, SAP o NCP, che sono implementati da altro software come documentato in questo HOWTO. Il supporto IPX fu sviluppato originariamente da Alan Cox (alan@lxorguk.ukuu.org.uk) ed è stato significativamente accresciuto da Greg Page (greg@caldera.com). 22.. AAvvvveerrtteennzzaa L'autore non conosce e non può conoscere tutto lo scibile sul software di rete per Linux. Si prega di accettare e considerare il fatto che questo documento probabilmente contiene errori. Per informazioni più dettagliate e accurate, è necessario leggere i file README inclusi con ogni software descritto. Si tenterà di mantenere questo documento il più possibile esatto e aggiornato. Le versioni del software corrispondono a quelle disponibili al momento in cui si scrive. Né l'autore, né gli sviluppatori del software descritto sono in grado di offrire protezione nei confronti delle vostre azioni. Qualora il software, anche se configurato come descritto in questo documento, dovesse causare dei problemi alla rete, la responsabilità è solo vostra. Questo avvertimento è dovuto al fatto che il disegno e la configurazione di una rete IPX non sempre sono semplici e talvolta possono sorgere interazioni indesiderate con altri router o file server, causati da errori in fase di progettazione o configurazione. L'inserimento di questo avvertimento è stato richiesto da coloro che hanno imparato la lezione sulla propria pelle. 33.. DDooccuummeennttaazziioonnee Questo documento presume che si sappia compilare un kernel Linux con le opzioni di rete appropriate e che si conoscano i tool di rete basilari come ifconfig e route. Per maggiori informazioni, si rimanda al documento NET-3-HOWTO, che descrive proprio questi argomenti. Altri documenti HOWTO, che potrebbero essere utili sono i seguenti. EEtthheerrnneett--HHOOWWTTOO Descrive i dettagli di configurazione di un dispositivo Ethernet per Linux. PPPPPP--HHOOWWTTOO Il supporto IPX è disponibile a partire dalle versioni _2_._2_._0_d dell'implementazione PPP di Linux. 33..11.. NNuuoovvee vveerrssiioonnii ddii qquueessttoo ddooccuummeennttoo Se questa copia del documento ha più di due mesi, si raccomanda caldamente di ottenere una nuova versione. Il supporto di rete per Linux è in continua evoluzione, pertanto anche questo documento viene modificato molto spesso. 33..11..11.. RRiissoorrssee iinntteerrnnaazziioonnaallii L'ultima versione rilasciata di questo documento può sempre essere ottenuta tramite ftp anonimo da: ftp:/sunsite.unc.edu/pub/Linux/docs/HOWTO/IPX-HOWTO>/ o: ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/other-formats/IPX- HOWTO{-html.tar,ps,dvi}.gz Tramite il World Wide Web dal Linux Documentation Project Web Server , alla pagina: IPX-HOWTO o direttamente da me, . In alternativa, possono essere utilizzati i newsgroups: comp.os.linux.networking, comp.os.linux.answers e news.answers 33..11..22.. RRiissoorrssee iittaalliiaannee Questo documento e altri correlati sono disponibili presso i siti Ftp (ftp.pluto.linux.it) e Web del PLUTO (http://www.pluto.linux.it). 33..22.. FFeeeeddbbaacckk Si prega di inviare direttamente all'autore ogni commento (in inglese, NdT), aggiornamento o suggerimento, all'indirizzo . Prima verrà ricevuta una segnalazione, prima sarà possibile aggiornare e correggere questo documento. Se dovessero esserci problemi, per favore scrivere direttamente all'autore in quanto molto raramente legge i gruppi di discussione. 33..33.. MMaaiilliinngg lliisstt Esiste una mailing list per la discussione dei diversi pacchetti di software Linux IPX descritti in questo documento. È possibile iscriversi inviando un messaggio a: listserv@sh.cvut.cz con le parole ``add linware'' nel corpo del messaggio. Per comunicare con la lista si deve scrivere a: linware@sh.cvut.cz. L'autore consulta regolarmente questa lista. L'archivio della mailing list si trova all'indirizzo www.kin.vslib.cz, /hypermail/linware/ . 44.. AAllccuunnii ddeeii tteerrmmiinnii uuttiilliizzzzaattii iinn qquueessttoo ddooccuummeennttoo Si useranno spesso i termini _c_l_i_e_n_t e _s_e_r_v_e_r. Si tratta di concetti molto specifici, tuttavia in questo documento si è leggermente generalizzata la loro definizione, assegnandogli il seguente significato: cclliieenntt Macchina o programma che inizia un'azione o una connessione allo scopo di ottenere l'utilizzo di servizi o di dati. sseerrvveerr Macchina o programma che accetta connessioni in entrata da macchine remote ed è in grado di fornire a esse servizi o dati. Queste definizioni non sono completamente esatte, tuttavia forniscono un modo per distinguere gli estremi dei sistemi peer to peer come _S_L_I_P o _P_P_P, i quali, di fatto, non hanno veri e propri client e server. Altri termini che si troveranno sono i seguenti. BBiinnddeerryy Il bbiinnddeerryy è un database specializzato in grado di memorizzare su un fileserver Novell informazioni riguardo la configurazione della rete. I client di rete possono interrogare il bbiinnddeerryy per ottenere informazioni circa i servizi disponibili, l'instradamento (routing) e altre informazioni utente. TTiippoo ddii ttrraammaa ((ffrraammee ttyyppee)) Termine utilizzato per descrivere il protocollo utilizzato per trasportare i datagrammi IPX (e IP) lungo i segmenti di una rete di tipo ethernet. I quattro più comuni sono: EEtthheerrnneett__IIII È una versione riveduta dello standard ethernet DIX originale. A Novell è stato assegnato un identificativo di protocollo formale e questo significa che IPX e IP possono coesistere in un ambiente Ethernet_II. Questo protocollo viene comunemente utilizzato in ambienti Novell e si tratta di una buona scelta. 880022..33 È un protocollo I.E.E.E. che definisce un meccanismo CSMA/CD (_C_a_r_r_i_e_r _S_e_n_s_e _M_u_l_t_i_p_l_e _A_c_c_e_s_s _w_i_t_h _C_o_l_l_i_s_i_o_n _D_e_t_e_c_t_i_o_n). Si basa sullo standard Ethernet DIX originale, con una modifica rilevante: l'identificativo di protocollo (type field) è stato convertito in una lunghezza di campo (length field). Questo è il motivo per cui IPX non dovrebbe essere eseguito con questo protocollo. IEEE 802.3 è stato progettato per trasportare ssoolloo frame IEEE 802.2 ma esistono implementazioni che lo utilizzano per trasportare direttamente i frame e di fatto funzionano. Si consiglia di evitarlo a meno che non si stia tentando di interagire con una rete già configurata per esso. 880022..22 È un protocollo I.E.E.E. che definisce un insieme di procedure di Controllo Logico dei Link (_L_o_g_i_c_a_l _L_i_n_k _C_o_n_t_r_o_l). Fornisce un modo semplice per consentire la coesistenza di protocolli differenti, tuttavia è piuttosto limitato. Novell utilizza un Service Address Point non ufficiale (una sorta di identificativo di protocollo) ma dal momento che anche tutti gli altri lo utilizzano, questo non ha ancora rappresentato un problema. SSNNAAPP acronimo di _S_u_b _N_e_t_w_o_r_k _A_c_c_e_s_s _P_r_o_t_o_c_o_l. Questo protocollo è progettato per funzionare su 802.3 e 802.2. Espande le capacità di 802.2 e fornisce una compatibilità con i tipi di frame esistenti Ethernet ed Ethernet_II IPX IIPPXX _I_n_t_e_r_n_e_t _P_a_c_k_e_t _e_X_c_h_a_n_g_e: protocollo utilizzato da Novell Corporation per fornire un supporto internetworking per i loro prodotti NetWare(tm). IPX ha funzionalità simili al protocollo IP utilizzato in TCP/IP. IInnddiirriizzzzoo ddii rreettee IIPPXX Numero che identifica univocamente una particolare rete IPX. La notazione comune per questo indirizzo è in esadecimale. Un esempio può essere: 0x23a91002. RReettee iinntteerrnnaa IIPPXX Rete IPX virtuale, poiché non corrisponde a una rete fisica. Viene utilizzata per fornire un'identificazione e un indirizzamento univoco per un host IPX. Solitamente, è utile per identificare gli host IPX che esistono in più di una rete fisica IPX come i fileserver. L'indirizzo è codificato nella stessa forma di una rete IPX fisica. RRIIPP _R_o_u_t_i_n_g _I_n_f_o_r_m_a_t_i_o_n _P_r_o_t_o_c_o_l: protocollo utilizzato per propagare automaticamente gli instradamenti (route) di rete in una rete IPX. È funzionalmente simile al RIP utilizzato in TCP/IP. NNCCPP _N_e_t_W_a_r_e _C_o_r_e _P_r_o_t_o_c_o_l: protocollo di filesystem di rete (networked filesystem) progettato da Novell Corporation per il loro prodotto NetWare(tm). Funzionalmente equivale a NFS utilizzato in TCP/IP. SSAAPP _S_e_r_v_i_c_e _A_d_v_e_r_t_i_s_e_m_e_n_t _P_r_o_t_o_c_o_l: protocollo progettato da Novell Corporation per pubblicizzare i servizi di rete in un ambiente NetWare(tm). IInnddiirriizzzzoo hhaarrddwwaarree Numero che identifica in modo univoco un host all'interno di una rete fisica. Ne sono esempio gli Indirizzi Ethernet. Un indirizzo Ethernet viene generalmente codificato con sei valori esadecimali separati da un carattere "due punti" es.: 00:60:8C:C3:3C:0F. iinnssttrraaddaammeennttoo ((rroouuttee)) È il percorso seguito dai pacchetti attraverso la rete per raggiungere la propria destinazione. 55.. BBrreevvee ddiissccuussssiioonnee ssuullllaa ttooppoollooggiiaa ddii rreettee IIPPXX Questa è una spiegazione estremamente semplice per persone che non conoscono IPX. Reti estese probabilmente violano molte delle regole indicate, In reti IPX complesse si dovrebbe sempre consultare l'amministratore di rete. La rete IPX si risolve intorno a uno schema di _r_e_t_i numerate, diversamente da IP che pone maggior enfasi sulle _i_n_t_e_r_f_a_c_c_e. Una rete è una collezione di materiale connesso allo stesso segmento LAN e che _u_s_a _l_o _s_t_e_s_s_o _t_i_p_o _d_i _t_r_a_m_a. Diffenti tipi di trama sullo stesso segmento LAN sono trattati come reti separate. Ciascuna rete deve allocare un numero che sia univoco nell'intera interconnessione. Normalmente questo compito è assolto dal server Netware(tm), ma può essere facilmente svolto da Linux. Ai client IPX viene dato questo numero dal server all'atto di partire, a loro è solo richiesto di conoscere il corretto tipo di trama. L'instradamento tra reti è normalmente effettuato ponendo due schede di rete sullo stesso server. Questo server mantiene tramite il protocollo RIP una tabella di instradamento per l'interconnessione. Periodicamente i server si scambiano questa tabella di instradamento. In breve tempo ciascun server 'scopre' la topologia dell'intera rete. Se si desidera usare solo i servizi di un server Netware esistente, si può usare ipx_configure (sezione 7.1) per definire automaticamente le interfacce IPX tramite richieste broadcast cercando un server. Se fallisce, o se si desidera fornire servizi IPX, sarà necessario definire manualmente le interfacce usando ipx_interface o mars_nwe. 66.. II ffiillee ccoorrrreellaattii aa IIPPXX nneell ffiilleessyysstteemm //pprroocc All'interno del filesystem /proc sono presenti molti file correlati al supporto IPX di Linux: //pprroocc//nneett//iippxx__iinntteerrffaaccee Contiene informazioni circa le interfacce IPX configurate sulla macchina. Tali interfacce potrebbero essere state configurate manualmente, oppure rilevate e configurate automaticamente. //pprroocc//nneett//iippxx__rroouuttee Contiene una lista di percorsi esistenti nella tabella di instradamento IPX. Potrebbero essere stati aggiunti manualmente, oppure automaticamente tramite un demone di instradamento IPX. //pprroocc//nneett//iippxx Contiene una lista di socket IPX attualmente aperti per un utilizzo sulla macchina. 77.. II ttooooll IIPPXX ddii GGrreegg PPaaggee Greg Page (greg@caldera.com) della _C_a_l_d_e_r_a _I_n_c_o_r_p_o_r_a_t_e_d, ha scritto molti strumenti per la configurazione IPX e ha fornito miglioramenti per il supporto IPX. I miglioramenti nel kernel consentono di configurare Linux come un bridge o router pienamente funzionale. Il supporto IPX migliorato è già presente nella distribuzione del kernel pertanto, probabilmente, lo possedete già. I tool di configurazione forniscono la possibilità di impostare i dispositivi di rete per supportare IPX, l'instradamento IPX e altre facilitazioni sotto Linux. I tool di rete IPX per Linux sono disponibili presso: sunsite.unc.edu, /pub/Linux/system/filesystems/ncpfs/ipx.tgz. 77..11.. II ttooooll IIPPXX iinn mmaaggggiioorr ddeettttaagglliioo iippxx__iinntteerrffaaccee Viene utilizzato per aggiungere, cancellare o controllare manualmente la capacità di IPX verso un dispositivo di rete esistente. Normalmente si tratta di un dispositivo di rete Ethernet per esempio, eth0. Almeno un'interfaccia IPX deve essere definita come _i_n_t_e_r_f_a_c_c_i_a _p_r_i_m_a_r_i_a; si ottiene con l'opzione --pp di questo comando. Ad esempio, per abilitare il dispositivo Ethernet eth0 come interfaccia primaria IPX utilizzando il tipo di frame IEEE 802.2 e l'indirizzo di rete IPX 39ab0222, si utilizza il comando: # ipx_interface add -p eth0 802.2 0x39ab0222 Se il tipo di trama differisce da quello dei server NetWare(tm) sulla rete, essi di proposito ignoreranno il computer. Se il tipo di trama è corretto ma il numero di rete differisce, essi ignoreranno comunque il computer ma segnaleranno frequentemente il fatto sulla console NetWare del server. L'ultima situazione è certo che suscita rimproveri dal proprio amministratore NetWare e potrebbe disabilitare i client NetWare esistenti. Se il sistema restituisce un messaggio di errore mentre si esegue questo programma e non è ancora stato configurato TCP/IP, allora sarà necessario avviare manualmente l'interfaccia eth0 utilizzando il comando: # ifconfig eth0 up iippxx__ccoonnffiigguurree Abilita o disabilita la configurazione automatica delle interfacce e l'impostazione dell'interfaccia primaria. ----aauuttoo__iinntteerrffaaccee consente di impostare se i dispositivi di rete debbano essere configurati automaticamente come dispositivi IPX oppure no. ----aauuttoo__pprriimmaarryy consente di impostare se il software IPX debba selezionare automaticamente un'interfaccia primaria oppure no. Si sono riscontrati problemi usando questa opzione con client Windows 95 connessi alla rete. Un esempio tipico consiste nell'abilitare sia la configurazione automatica delle interfacce che l'impostazione automatica di quella primaria, tramite: # ipx_configure -auto_interface=on -auto_primary=on iippxx__iinntteerrnnaall__nneett Consente di configurare o ``deconfigurare'' un indirizzo di rete interna. Tale indirizzo è opzionale, ma se viene configurato rappresenterà sempre l'interfaccia primaria. Per impostare l'indirizzo di rete IPX ab000000 sul nodo IPX 1, si utilizzerà il comando: # ipx_internal_net add 0xab000000 1 iippxx__rroouuttee Consente di modificare manualmente la tabella di instradamento IPX. Ad esempio, per aggiungere un percorso alla rete IPX 39ab0222 tramite un router il cui numero di nodo è 00608CC33C0F sulla rete IPX 39ab0108, si può utilizzare il comando: # ipx_route add 0x39ab0222 0x39ab0108 0x00608CC33C0F 88.. CCoonnffiigguurraazziioonnee ddeellllaa mmaacccchhiinnaa LLiinnuuxx ccoommee rroouutteerr IIPPXX 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 ``_n_e_t_w_o_r_k _r_o_u_t_i_n_g _i_n_f_o_r_m_a_t_i_o_n'' propagate utilizzando Novell RIP, e ``_s_e_r_v_i_c_e _a_d_v_e_r_t_i_s_e_m_e_n_t _i_n_f_o_r_m_a_t_i_o_n'' 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: _i_p_x_r_i_p_d. Il pacchetto menzionato successivamente _m_a_r_s___n_w_e 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: 1. Compilare il kernel con il supporto IIPPXX, EEtthheerrnneett e //pprroocc. 2. Ottenere, compilare e installare il programma demone iippxxdd. 3. Avviare il nuovo kernel e assicurarsi che ognuna delle schede Ethernet sia stata correttamente rilevata e che non esistano conflitti di hardware. 4. Abilitare il protocollo IPX su ciascuna delle interfacce utilizzando il comando ipx_interface precedentemente descritto (vedere ``ipx_interface''). 5. Eseguire il programma demone iippxxdd. 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. 88..11.. ÈÈ nneecceessssaarriioo ccoonnffiigguurraarree uunnaa rreettee iinntteerrnnaa?? Novell ha una caratteristica denominata _r_e_t_e _i_n_t_e_r_n_a, 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 sta 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 ``YY'', 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. 99.. CCoonnffiigguurraazziioonnee ddeellllaa pprroopprriiaa mmaacccchhiinnaa LLiinnuuxx ccoommee cclliieenntt NNCCPP È probabile che gli utenti di reti a tecnologia mista, comprendente protocolli IP e IPX, prima o poi desiderino che la propria macchina Linux possa accedere a dati memorizzati in un file server Novell sulla rete. Novell offre da tempo un pacchetto NFS per i propri file server in grado di consentire questa funzione; tuttavia, nel caso di una piccola installazione, o se solo un ristretto numero di persone è interessato a tale funzionalità, non è facile giustificare il costo del pacchetto commerciale. Volker Lendecke lendecke@namu01.gwdg.de ha scritto un modulo che consente di montare volumi Novell sul file system Linux senza richiedere alcun prodotto addizionale per il file server. Volker ha denominato il pacchetto nnccppffss e ha tratto le informazioni necessarie principalmente dal libro ``Netzwerkprogrammierung in C'' di Manfred Hill e Ralf Zessin (ulteriori dettagli sul libro sono contenuti nel file README del pacchetto nnccppffss). Il software consente a Linux di emulare una normale stazione di lavoro Novell per servizi di file. Include anche una piccola utility che consente di stampare le code Novell (questo argomento è documentato nel paragrafo relativo al ``Client di Stampa''). Il pacchetto nnccppffss è in grado di lavorare con file server Novell a partire dalla versione 3.x, mentre non funziona con Novell 2.x. Il client nnccppffss funziona anche con prodotti strettamente compatibili con Novell, ma sfortunatamente alcuni, pur dichiarandosi compatibili, non lo sono a sufficienza. Per utilizzare nnccppffss con Novell 4.x, è preferibile configurare il fileserver per operare in modalità di emulazione bindery. Il supporto NDS è una aggiunta piuttosto recente alla versione beta di _n_c_p_f_s e per di più in certi paesi è proibito a causa dell'inclusione di tecnologia protetta da brevetto. 99..11.. CCoommee ootttteenneerree nnccppffss L'ultimo pacchetto nnccppffss fu progettato per versioni del kernel fino alla _1_._2_._1_3 o superiore alla _1_._3_._7_1 (questo include la versione _2_._x_._x). Se il kernel in uso non rientra in queste categorie, è necessario eseguire un aggiornamento, operazione descritta in dettaglio nel Kernel-HOWTO. Il pacchetto nnccppffss può essere ottenuto tramite ftp anonimo con il sito di Volker presso ftp.gwdg.de in /pub/linux/misc/ncpfs/ oppure sunsite.unc.edu in /pub/Linux/system/filesystems/ncpfs o siti mirror. La versione attuale nel momento in cui si scrive questo documento è: ncpfs-2.0.11.tgz oppure ncpfs-2.2.0.tgz che aggiunge il supporto NDS. 99..22.. CCoommppiillaazziioonnee ddii nnccppffss ppeerr iill kkeerrnneell 11..22..1133 CCoommppiillaazziioonnee ddii uunn kkeerrnneell ccoonn ssuuppppoorrttoo EEtthheerrnneett ee IIPPXX La prima cosa da fare è assicurarsi che il proprio kernel sia stato compilato con l'abilitazione al supporto IPX. Nella versione di kernel _1_._2_._1_3 basta assicurarsi di aver risposto "YY" alla domanda The IPX protocol, come illustrato nel seguito: ... ... Assume subnets are local (CONFIG_INET_SNARL) [y] Disable NAGLE algorithm (normally enabled) (CONFIG_TCP_NAGLE_OFF) [n] The IPX protocol (CONFIG_IPX) [n] y * * SCSI support ... ... Ovviamente è necessario includere il driver relativo per la propria scheda Ethernet. Per maggiori dettagli, si dovrebbe consultare l'Ethernet-HOWTO. A questo punto è possibile procedere alla compilazione del kernel. Al termine potrebbe essere necessario eseguire lilo per installarlo. EEsseeccuuzziioonnee ddeell ccoommaannddoo tar per il software nnccppffss # cd /usr/src # tar xvfz ncpfs-2.0.10.tgz # cd ncpfs CCoonnttrroolllloo ddeell MMaakkeeffiillee Se si desidera utilizzare kerneld per caricare automaticamente il modulo ncpfs, è necessario togliere il commento alla riga che si riferisce a KERNELD all'interno del Makefile. Se non si conosce il significato di questa azione, si dovrebbe leggere Kernel-HOWTO per familiarizzare con la configurazione del modulo kernel. EEsseeccuuzziioonnee ddii make per il software nnccppffss Il software dovrebbe poter essere compilato correttamente senza che siano necessari ulteriori configurazioni, tramite il comando: # make CCooppiiaa ddeeii ttooooll IIPPXX,, ssee nnoonn aannccoorraa pprreesseennttii Al termine dell'esecuzione di make, tutti gli strumenti necessari dovrebbero trovarsi nella directory nnccppffss//bbiinn. È possibile utilizzare il comando: # make install per installare i tool in directory scelte da Volker. Se si sta lavorando su un sistema basato su ELF, si dovrà eseguire nuovamente ldconfig -v per assicurarsi che venga trovata la libreria condivisa. CCooppiiaa ddeell mmoodduulloo ncpfs.o se necessario Se si sta eseguendo la compilazione di un kernel _1_._2_._*, al termine dell'esecuzione di make, si troverà un file denominato _n_c_p_f_s_._o nella directory ncpfs/bin. Si tratta del modulo di kernel ncpfs, che dovrebbe essere copiato in luogo utile. Sul sistema ddeebbiiaann dell'autore, è stato copiato nella directory /lib/modules/1.2.13/fs ed ncpfs aggiunto al file /etc/modules in modo che venga eseguito automaticamente all'avvio del sistema. Per una diversa distribuzione, si dovrebbe scoprire dove sono localizzati i moduli per copiarlo in quella locazione; in ogni altro caso semplicemente copiarlo nella directory /etc. Per caricare i moduli manualmente, è necessario utilizzare il comando: # insmod ncpfs.o 99..33.. CCoommee ccoommppiillaarree nnccppffss ppeerr ii kkeerrnneell 11..33..7711++++//22..00..** Per l'ultima versione di nnccppffss, si dovrebbe utilizzare un kernel _1_._3_._7_1 o successivo; questo include i kernel _2_._0_._*. Se si ha intenzione di utilizzare un kernel di versione _1_._3_._7_1 o successivo, allora il codice del kernel nnccppffss è stato incluso nella distribuzione standard. È sufficiente rispondere ``YY'' alla domanda: Networking options ---> ... ... <*> The IPX protocol ... Filesystems ---> ... ... <*> NCP filesystem support (to mount NetWare volumes) ... A questo punto è necessario seguire le istruzioni per la compilazione dei kernel _1_._2_._*, in modo da costruire i tool; tuttavia non ci sarà un file modulo da installare. 99..44.. CCoonnffiigguurraazziioonnee ee uuttiilliizzzzoo ddii nnccppffss CCoonnffiigguurraazziioonnee ddeell ssooffttwwaarree ddii rreettee IIPPXX Esistono due modi per configurare il software di rete IPX. È possibile configurare manualmente tutte le informazioni di rete IPX, oppure lasciare che il software determini da solo delle impostazioni ragionevoli, tramite il comando: # ipx_configure --auto_interface=on --auto_primary=on Questo comando dovrebbe funzionare nella maggior parte dei casi, ma se ciò non accade, si invita a leggere il paragrafo ``Tools di IPX'' per configurare il software manualmente. Si sono notati problemi nell'usare questo comando su reti in cui erano presenti client Windows 95. CCoollllaauuddoo ddeellllaa ccoonnffiigguurraazziioonnee Dopo la configurazione della rete IPX, dovrebbe essere disponibile il comando slist che elenca tutti i fileserver Novell presenti: # slist Se il comando slist fornisce un messaggio del tipo: ``ncp_connect: Invalid argument'' significa che il kernel probabilmente non supporta IPX. Controllare che sia stato effettivamente avviato il kernel appropriato. Quando si avvia il sistema, i messaggi di startup dovrebbero contenere informazioni riferite a IPX e ncpfs. Se, nonostante tutto, il comando slist non elenca i file server, allora si dovrebbe utilizzare il metodo manuale per la configurazione della rete. MMoonnttaarree uunn vvoolluummee NNoovveellll((RR)) Se il software di rete IPX funziona correttamente, si dovrebbe essere in grado di montare un volume file server Novell all'interno del file system Linux. Il comando ncpmount viene utilizzato per questo scopo, e richiede la specifica delle seguenti informazioni: 1. Nome del fileserver. 2. Identificativo di login nel fileserver. Se esiste, deve essere specificata anche una password. 3. Il punto di mount, ossia dove si desidera montare la condivisione. Si tratterà di una directory esistente sulla macchina. Esiste un comando equivalente ncpumount per smontare un file system NCP precedentemente montato. I file system NCP saranno smontati in modo corretto se si esegue un normale shutdown della macchina; pertanto non bisogna preoccuparsi di eseguire il comando npcumount manualmente prima di arrestare il sistema con halt oppure shutdown. Esempio di comando per montare il file server ACCT_FS01, con login guest, senza password, corrispondente alla directory /mnt/Accounts: # ncpmount -S ACCT_FS01 /mnt/Accounts -U guest -n Si noti l'utilizzo dell'opzione -n per indicare che il login non richiede alcuna password. Stesso login con password secret avrebbe forma: # ncpmount -S ACCT_FS01 /mnt/Accounts -U guest -P secret Se non si specifica né l'opzione -n, né -P, allora il sistema richiederà una password. VVeerriiffiiccaa ddeell mmoouunntt Se l'esecuzione è terminata con successo, tutte le unità accessibili all'utente specificato durante il login, saranno elencate come directory sotto il punto di mount. Dovrebbe anche essere possibile percorrere la struttura delle directory per trovare altri file. Alternativamente si può usare l'opzione -V per montare un singolo volume. NCP non fornisce uid (identificativo utente) o gid (identificativo di gruppo) per la proprietà dei file, tutti i file avranno le autorizzazioni e le proprietà assegnate alla directory che rappresenta il punto di mount, condizionate dai permessi concessi dal server Novell. È necessario tenerne conto quando si effettuano condivisioni tra utenti Linux. CCoonnffiigguurraazziioonnee ppeerr ll''eesseeccuuzziioonnee aauuttoommaattiiccaa ddeeii mmoouunntt Se si ha la necessità di avere un mount NCP permanente, è possibile configurare i comandi precedentemente descritti all'interno di file rc, in modo che vengano eseguiti all'avvio del sistema. Nel caso in cui la distribuzione utilizzata non fornisca un metodo per configurare IPX (come Debian), si consiglia di impostare i comandi nel file /etc/rc.local, se esiste. È possibile utilizzare comandi del tipo: # # Avvio del filesystem NCP /sbin/insmod /lib/modules/1.2.13/fs/ncpfs.o # Configurazione della rete IPX ipx_configure --auto_interface=on --auto_primary=on # login all'Accounting fileserver ncpmount -S ACCT_FS01 /mnt/Accounts -U guest -n # Un altro metodo di configurazione consiste nell'elencare nel file $HOME/.nwclient i mount NCP temporanei o specifici per l'utente che verranno eseguiti regolarmente. È possibile memorizzare specifiche in modo da impostarle senza doverle indicare ogni volta. Il formato è molto semplice: # Il primo inserimento rappresenta il server "preferenziale" che verrà # utilizzato ogni volta non sia specificato esplicitamente un server. # # Login utente TERRY al fileserver DOCS_FS01 con password "password" DOCS_FS01/TERRY password # # Login utente Guest al fileserver ACCT_FS01 senza password. ACCT_FS01/GUEST - Per attivare questi mount si può utilizzare il comando: $ ncpmount /home/terry/docs per montare DOCS_FS01 con login TERRY sotto la directory /home/terry/docs. Si noti che è stato utilizzato il fileserver DOCS_FS01 perché non ne è stato specificato alcun altro nel comando di mount. Se fosse stato utilizzato il comando: $ ncpmount -S ACCT_FS01 /home/terry/docs allora sarebbe stato montato il fileserver ACCT_FS01 con login GUEST. Nota: affinché questo meccanismo funzioni, l'autorizzazione per il file $HOME/.nwclient deve essere 0600. Potrebbe essere necessario utilizzare il comando: $ chmod 0600 $HOME/.nwclient Se anche degli utenti non root devono essere autorizzati a utilizzare questo meccanismo, allora il comando npcmount deve essere _S_e_t _U_s_e_r_i_d _R_o_o_t. Ne consegue che potrebbe essere necessario attribuirgli le autorizzazioni: # chmod 4755 ncpmount CCoollllaauuddoo ddeellll''uuttiilliittyy nsend. Il pacchetto include anche un utility per inviare messaggi a utenti Novell. Il suo nome è nsend e viene utilizzato come di seguito riportato: # nsend rod hello there invia il messaggio ``hello there'' a un utente con login ``rod'' sul file server ``primario'' (ossia il primo che appare nel proprio file .nwclient). È possibile specificare un altro file server con la stessa sintassi descritta per il comando ncpmount. 1100.. CCoonnffiigguurraazziioonnee ddeellllaa mmaacccchhiinnaa LLiinnuuxx ccoommee sseerrvveerr NNCCPP Sono disponibili due pacchetti che consentono a Linux di fornire le funzionalità di un file server Novell. Entrambi permettono di condividere file sulla propria macchina Linux con utenti che utilizzano il software client NetWare di Novell. Gli utenti possono fare in modo che dei file system appaiano come dischi locali sulle proprie macchine, proprio come farebbero con un reale file server Novell. Utilizzandoli entrambi, è possibile rendersi conto di quale dei due meglio soddisfa le proprie esigenze. 1100..11.. IIll ppaacccchheettttoo mmaarrss__nnwwee Martin Stover (mstover@freeway.de) ha sviluppato mmaarrss__nnwwee per consentire a Linux di fornire ai client NetWare sia servizi di file, che servizi di stampa. Il nome mmaarrss__nnwwee significa Martin Stovers Netware Emulator. 1100..11..11.. CCaappaacciittàà ddii mmaarrss__nnwwee mmaarrss__nnwwee implementa un sottoinsieme del più completo NCP Novell per servizi di file e di bindery basati su dischi o anche di stampa. Probabilmente contiene errori, tuttavia attualmente viene utilizzato da molte persone, pertanto il numero di errori è in continua diminuzione man mano che vengono rilasciate nuove versioni. 1100..11..22.. CCoommee ootttteenneerree mmaarrss__nnwwee È possibile ottenere mmaarrss__nnwwee da ftp.gwdg.de /pub/linux/misc/ncpfs/ o da sunsite.unc.edu /pub/Linux/system/filesystems/ncpfs/. La versione nel momento in cui questo documento viene scritto è: mars_nwe-0.98.pl10.tgz. 1100..11..33.. CCoommee ccoommppiillaarree iill ppaacccchheettttoo mmaarrss__nnwwee CCoommppiillaazziioonnee ddii uunn kkeerrnneell ccoonn ssuuppppoorrttoo EEtthheerrnneett ee IIPPXX Con un kernel di versione _1_._2_._1_3 è sufficiente assicurarsi di aver risposto ``YY'' alla domanda: The IPX protocol e ``NN'' alla domanda: Full internal IPX network, come di seguito descritto: ... ... The IPX protocol (CONFIG_IPX) [n] y ... ... Full internal IPX network (CONFIG_IPX_INTERN) [N/y/?] n ... ... In kernel più recenti viene adottato un processo simile ma il testo del messaggio potrebbe essere leggermente diverso. È anche necessario includere il driver appropriato per la propria scheda Ethernet. Maggiori dettagli sono presenti in Ethernet- HOWTO. Dopo di che è possibile procedere con la compilazione del kernel. Ricordarsi, una volta terminata l'operazione, di eseguire lilo per installarlo. EEsseeccuuzziioonnee ddeell ccoommaannddoo ttaarr ppeerr iill ppaacccchheettttoo mmaarrss__nnwwee # cd /usr/src # tar xvfz mars_nwe-0.99.pl10.tgz EEsseeccuuzziioonnee ddeell ccoommaannddoo mmaakkee per mmaarrss__nnwwee Si tratta di un'operazione molto semplice. Il primo passo consiste nell'eseguire semplicemente make, che creerà un file config.h. Assicurarsi della presenza del file e modificarlo se necessario. Il file consente di impostare oggetti come, per esempio, le directory di installazione o il numero massimo di sessioni e unità che il server sarà in grado di supportare. Gli inserimenti veramente importanti da guardare sono: FILENAME_NW_INI locazione del file di inizializzazione PATHNAME_PROGS percorso in cui trovare i programmi eseguibili di supporto PATHNAME_BINDERY percorso a cui indirizzare i file "bindery" PATHNAME_PIDFILES directory in cui scrivere i file "pid" MAX_CONNECTIONS numero massimo di connessioni simultanee ammesse MAX_NW_VOLS numero massimo di unità che mars_nwe potrà supportare MAX_FILE_HANDLES_CONN numero massimo di file aperti per connessione WITH_NAME_SPACE_CALLS se si desidera supportare i client ncpfs INTERNAL_RIP_SAP se si desidera che mars_nwe fornisca routing rip/sap SHADOW_PWD se si utilizzano shadow password. Le impostazioni predefinite dovrebbero andare bene, tuttavia è sempre meglio controllare. Una volta fatto, con i comandi # make # make install si eseguiranno la compilazione dei server e l'installazione nelle directory appropriate. Verrà anche installato il file di configurazione /etc/nwserv.conf. CCoonnffiigguurraazziioonnee ddeell sseerrvveerr La configurazione è piuttosto semplice: consiste nel modificare il file /etc/nwserv.conf. Il formato di questo file a prima vista appare enigmatico, ma in realtà è molto lineare. Il file contiene diverse istruzioni di configurazione composte da una sola riga. Ogni riga è delimitata da spazi bianchi e inizia con un numero che indica l'argomento da impostare. Tutti i caratteri che seguono un "#" sono considerati un commento, e pertanto ignorati. Martin fornisce un esempio nel pacchetto, e di seguito viene riportato un altro semplificato per offrire una possibile alternativa. # VOLUMI (max. 5) # Solo il volume SYS è obbligatorio. La directory contenente il volume SYS # deve contenere le directory: LOGIN, PUBLIC, SYSTEM, MAIL. # L'opzione "n" ignora le lettere maiuscole/minuscole. # L'opzione "k" converte tutti i nomi di file all'interno di richieste NCP # in lettere minuscole. # L'opzione "m" marca il volume come rimovibile (utile, ad esempio, # per cdrom). # L'opzione "r" imposta il volume come a sola lettura. # L'opzione "o" indica che il volume è un file system montato singolarmente. # L'opzione "P" consente di utilizzare i comandi come file. # L'opzione "O" consente l'utilizzo del namespace OS/2. # L'opzione "N" consente l'utilizzo del namespace NFS. # È predefinito l'uso delle maiuscole. # Sintassi: # 1 1 SYS /home/netware/SYS/ # SYS 1 DATA /home/netware/DATA/ k # DATA 1 CDROM /cdrom kmr # CDROM # NOME DEL SERVER # Se non impostato, l'hostname Linux sarà convertito in lettere maiuscole # e utilizzato. È opzionale, se non configurato verrà utilizzato # l'hostname. # Sintassi: # 2 2 LINUX_FS01 # INDIRIZZO DI RETE INTERNA # L'Indirizzo di Rete Interna IPX rappresenta una caratteristica che # semplifica il routing IPX per host che possiedono porte su più di # una rete IPX. # Sintassi: # 3 [] # oppure: # 3 auto # # Se si utilizza "auto", verrà utilizzato il proprio indirizzo IP host. # NOTA: questo potrebbe essere pericoloso, pertanto assicurarsi di # assegnare alla propria rete un numero univoco. # Gli indirizzi sono esadecimali a 4byte (è necessario che inizino # con 0x). 3 0x49a01010 1 # DISPOSITIVI DI RETE # Questa riga configura la propria rete IPX. Se la propria rete IPX # è già stata configurata, questo inserimento è superfluo. Corrisponde # all'utilizzo diipx_configure/ipx_interface prima di attivare il server. # Sintassi: # 4 [] # Frame types: ethernet_ii, 802.2, 802.3, SNAP 4 0x39a01010 eth0 802.3 1 # SALVATAGGIO DEGLI INSTRADAMENTI IPX DOPO LO SPEGNIMENTO DEL SERVER # Sintassi: # 5 # 0 = non salvare i route, 1 = salvare i route 5 0 # VERSIONE NETWARE # Sintassi: # 6 # 0 = 2.15, 1 = 3.11 6 1 # GESTIONE DELLA PASSWORD # i client Novell DOS reali supportano una caratteristica per criptare # la password quando viene modificata. È possibile scegliere se si # desidera che il proprio server supporti o meno questa caratteristica. # Sintassi: # 7 # dove può essere: # 0 per forzare la codifica della password. (I client non possono # modificare la password) # 1 forza la codifica della password, consente la modifica delle # password non criptate. # 7 consente password non criptate ma non password vuote. # 8 consente password non criptate, comprese password vuote. # 9 per password completamente non criptate (non funziona con OS/2). 7 1 # DIRITTI GID e UID MINIMALI # abilitazioni utilizzate per connessioni senza login. Tali abilitazioni # saranno utilizzate per i file nella propria connessione di server # primarie. # Sintassi: # 10 # 11 # provengono da /etc/passwd, /etc/groups 10 200 11 201 # PASSWORD DEL SUPERVISORE # Può essere rimosso dopo aver avviato il server per la prima volta. Il # server cripterà questa informazione nel file bindery dopo la sua esecuzione. # Si dovrebbe evitare di utilizzare l'utente "root", al contrario è # consigliabile usare un altro account per amministrare il fileserver mars. # # Questa riga viene letta e criptata all'interno dei file bindery del server, # pertanto è necessario che esista la prima volta che si avvia il server # per assicurarsi che la password non venga scoperta. # # Sintassi: # 12 [] 12 SUPERVISOR terry secret # ACCOUNT UTENTE # Questo associa login NetWare ad account Unix. Le password sono # opzionali. # Sintassi: # 13 [] 13 MARTIN martin 13 TERRY terry # CONFIGURAZIONE DI LAZY SYSTEM ADMIN # Se esiste un grande numero di utenti e non è possibile utilizzare # mappe di utenti individuali di tipo 13, è possibile mappare # automaticamente i login a mars_nwe con nomi di utenti Linux. # TUTTAVIA, attualmente non esiste un modo per fare uso di password # di login Linux, pertanto, tutti gli utenti configurati in questo modo # utilizzeranno la password impostata in questo punto. Il consiglio è di # non farlo, a meno che la sicurezza non sia un optional. # Sintassi: # 15 # : 0 - non mappare gli utenti automaticamente # 1 - mappa automaticamente gli utenti non configurati # 99 - mappa automaticamente tutti gli utenti. 15 0 duzzenmatta # CONTROLLO # se si imposta questo flag mars_nwe si assicurerà automaticamente # dell'esistenza di certe directory. # Sintassi: # 16 # può essere 0 per no, o 1 per sì. 16 0 # CODE DI STAMPA # Questo associa le stampanti NetWare alle stampanti Unix. Le directory # per le code devono essere create manualmente prima di tentare la stampa. # Le directory per le code NON sono code lpd. # Sintassi: # 21 21 EPSON SYS:/PRINT/EPSON lpr -h 21 LASER SYS:/PRINT/LASER lpr -Plaser # FLAG DI DEBUG # Normalmente non sono necessari, ma possono essere utili se si sta # eseguendo il debug di un problema. # Sintassi: # # # 100 = IPX KERNEL # 101 = NWSERV # 102 = NCPSERV # 103 = NWCONN # 104 = start NWCLIENT # 105 = NWBIND # 106 = NWROUTED # 0 = disabilita il debug, 1 = abilita il debug 100 0 101 0 102 0 103 0 104 0 105 0 106 0 # ESECUZIONE DI NWSERV IN BACKGROUND E UTILIZZO DEL FILE DI LOG # Sintassi: # 200 # 0 = esegue NWSERV in foreground e non utilizza il file di log # 1 = esegue NWSERV in background e utilizza il file di log 200 1 # NOME DEL FILE DI LOG # Sintassi: # 201 201 /tmp/nw.log # SCRITTURA SUL FILE DI LOG IN CODA O IN SOVRASCRITTURA # Sintassi: # 202 # 0 = scrive aggiungendo in coda ad un file di log esistente # 1 = sovrascrive un file di log esistente 202 1 # TEMPO DI SPEGNIMENTO DEL SERVER # Questa riga imposta quanto tempo deve passare dallo spegnimento del # server per lo spegnimento effettivo del server. # Sintassi: # 210 # in secondi (il valore predefinito è 10) 210 10 # INTERVALLO DI ROUTING BROADCAST # Esprime il tempo in secondi tra broadcast del server # Sintassi: # 211 # in secondi (il default è 60) 211 60 # INTERVALLO DI ROUTING LOGGING # Imposta quanti broadcast avvengono prima di effettuare la # registrazione delle informazioni di rete. # Sintassi: # 300 300 5 # FILE DI LOG DEL ROUTING # Imposta il nome del file di registrazione del routing # Sintassi: # 301 301 /tmp/nw.routes # APPEND/SOVRASCRITTURA DEL FILE DI LOG DEL ROUTING # Imposta se si desidera scrivere aggiungendo in coda su un file di # log esistente, oppure se si vuole sovrascriverlo. # Sintassi: # 302 # 0 per append, 1 per creazione/sovrascrittura 302 1 # TEMPO DI GUARDIA # Imposta il tempo per messaggi di guardia in grado di assicurare che # la rete sia ancora viva. # Sintassi: # 310 # = 0 - invia sempre dei messaggi # < 0 - (-ve) per disabilitare i messaggi # > 0 - invia messaggi quando il traffico di rete # scende al di sotto di "n" ticks 310 7 # STATION FILE # Imposta il nome per i station file che determinano per quali # macchine il fileserver si comporterà come fileserver primario. # La sintassi di questo file è descritta nella directory "examples" # del codice sorgente. # Sintassi # 400 400 /etc/nwserv.stations # GESTIONE DEL GET NEAREST FILESERVER # Imposta la gestione delle richieste "Get Nearest Fileserver" SAP. # Sintassi: # 401 # può essere: 0 - disabilita le richieste "Get Nearest # Fileserver". # 1 - Il file "stations" contiene le stazioni # da escludere. # 2 - Il file "stations" contiene le stazioni # da includere. 401 2 AAvvvviiaammeennttoo ddeell sseerrvveerr Se il server è stato configurato in modo tale da aspettarsi che programmi esterni configurino la rete o forniscano funzionalità di instradamento, allora tali programmi devono essere eseguiti prima di avviare il server. Invece, supponendo che il server sia stato configurato affinché esso stesso configuri le interfacce e fornisca i servizi di instradamento, sarà sufficiente il solo comando: # nwserv CCoollllaauuddoo ddeell sseerrvveerr Per controllare un server bisognerebbe in primo luogo collegarsi da un client NetWare sulla propria rete. Quindi impostare un CAPTURE dal client ed eseguire una stampa. Se entrambe queste operazioni hanno successo, allora il server è funzionante. 1100..22.. IIll ppaacccchheettttoo llwwaarreedd Ales Dryak (A.Dryak@sh.cvut.cz) ha sviluppato lwared per consentire a Linux di agire come fileserver basato su NCP. Ales ha chiamato il pacchetto lwared, abbreviazione per LLiinnWWaarree DDaaeemmoonn. 1100..22..11.. CCaappaacciittàà ddii llwwaarreedd Il server lwared è in grado di fornire un sottoinsieme delle funzionalità complete di NCP Novell. Comprende la messaggistica ma non fornisce alcuna funzionalità di stampa. Attualmente non funziona molto bene con client Windows 95 o Windows NT. Il server lwared si basa sulla presenza di programmi esterni per costruire e aggiornare le tabelle di instradamento e SAP di IPX. Client che non si comportano correttamente possono causare problemi al server. È importante sottolineare che le funzionalità di traduzione dei filename non sono state incluse. Il server funziona per shell NETX e VLM NetWare. 1100..22..22.. CCoommee ootttteenneerree llwwaarreedd Il pacchetto lwared può essere compilato per qualsiasi kernel successivo al _1_._2_._0, anche se è consigliata la versione _1_._2_._1_3 poiché in tal modo non sono necessari patch per il kernel. Alcune delle funzionalità IPX sono cambiate con kernel di versione _1_._3_._*: questo significa che sono necessari patch specifici per fare in modo che lwared funzioni correttamente. Esistono patch appropriati per i nuovi kernel, pertanto se si deve utilizzare un kernel alpha dovrebbe essere possibile avere lwared correttamente funzionante. Il pacchetto lwared può essere ottenuto tramite ftp anonimo da: klokan.sh.cvut.cz /pub/linux/linware/ o da: sunsite.unc.edu /pub/Linux/system/network/daemons o siti mirror. La versione al momento in cui questo documento viene scritto è: lwared-0.95.tar.gz. 1100..22..33.. CCoommppiillaazziioonnee ddii llwwaarreedd EEsseeccuuzziioonnee ddeell ccoommaannddoo tar per il pacchetto lwared Qualcosa del tipo: # cd /usr/src # tar xvpfz lwared-0.95.tar.gz CCoommppiillaazziioonnee ddii uunn kkeerrnneell ccoonn ssuuppppoorrttoo EEtthheerrnneett e IIPPXX Coloro che utilizzano un kernel alpha 1.3.*, dovrebbero passare alla versione _1_._3_._1_7 o superiore poiché le patch supportate sono state create per questa versione. I kernel _1_._3_._* più vecchi della versione _1_._3_._1_7 richiederanno una installazione manuale delle patch (il file INSTALL contenuto nel pacchetto riporta alcune informazioni su come eseguire questa operazione). Per installare le patch su un kernel _1_._3_._1_7 si può digitare il comando: # make patch Il passo successivo all'applicazione delle patch, consiste nell'assicurarsi che sia stata eseguita la compilazione del kernel con abilitazione del supporto IPX. In un kernel di versione _1_._2_._1_3 è sufficiente aver risposto ``YY'' alla domanda: ``The IPX protocol'', come illustrato nell'esempio che segue: ... ... Assume subnets are local (CONFIG_INET_SNARL) [y] Disable NAGLE algorithm (normally enabled) (CONFIG_TCP_NAGLE_OFF) [n] The IPX protocol (CONFIG_IPX) [n] y * * SCSI support ... ... In kernel più recenti il procedimento è analogo, tuttavia il testo del messaggio potrebbe essere leggermente diverso. Inoltre, è necessario includere il driver appropriato per la propria scheda Ethernet. Maggiori informazioni in l'Ethernet- HOWTO. A questo punto è possibile procedere con la compilazione del kernel. Non si dimentichi di eseguire lilo una volta terminata l'operazione. CCoommppiillaazziioonnee ee iinnssttaallllaazziioonnee ddii lwared Per compilare lwared controllare in primo luogo, e modificare se necessario, il file server/config.h. Il file contiene diverse impostazioni che guideranno il comportamento del server. I valori predefiniti dovrebbero essere corretti, tuttavia si dovrebbe controllare che le directory specificate per i file di log corrispondano alle impostazioni del proprio sistema. # make depend # make # make install Può accadere che il comando ``make depend'' sembri non trovare il file float.h sul sistema, tuttavia dovrebbe funzionare comunque. Può anche accadere che, effettuando la compilazione con _g_c_c _2_._6_._3 sia necessario modificare la riga: #include con #include all'interno di /lib/ipxkern.c poiché, talvolta questo file ha un nome diverso. Il comando ``make install'' tenterà di installare il server e i programmi del demone di routing all'interno della directory /usr/sbin, il programma lwpasswd in /usr/bin, i programmi di utilità IPX in /sbin e infine, le pagine di manuale verranno installate nella directory /usr/man. Se qualcuna di queste locazioni non fosse disponibile nel sistema, sarà necessario modificare il Makefile per impostare le directory destinazione. 1100..22..44.. CCoonnffiigguurraazziioonnee ee uuttiilliizzzzoo ddii llwwaarreedd CCoonnffiigguurraazziioonnee ddeellllaa rreettee IIPPXX La prima cosa da fare consiste nella configurazione delle interfacce Ethernet per supportare le reti IPX supportate dal proprio server. È necessario conoscere gli indirizzi di rete IPX per ciascuno dei propri segmenti LAN, quale dispositivo Ethernet (eth0, eth1 ecc.) si trova su ciascun segmento, quale tipo di trama (802.3, EtherII ecc.) viene utilizzata da ogni segmento LAN e quale indirizzo di Rete Interna deve essere utilizzato dal proprio server (fondamentale se il server offre servizi a più di un segmento LAN). Esempio di configurazione per un server su due segmenti dissimili con indirizzi di rete IPX 23a91300 e 23a91301 e indirizzo di rete interna bdefaced: # ipx_internal_net add BDEFACED 1 # ipx_interface add eth0 802.3 23a91300 # ipx_interface add eth1 etherii 23a91301 AAvvvviioo ddeeii ddeemmoonnii ddii iinnssttrraaddaammeennttoo Il kernel instrada i pacchetti IPX come pure per IP, tuttavia sono richiesti programmi aggiuntivi per gestire l'aggiornamento delle tabelle. Nel caso di IPX, sono necessari due demoni, entrambi supportati da lwared: ipxripd gestisce le informazioni di instradamento e ipxsapd le informazioni di SAP. Per avviare i demoni è sufficiente specificare la locazione in cui devono scrivere i propri messaggi di log: # ipxripd /var/adm/ipxrip # ipxsapd /var/adm/ipxsap CCoonnffiigguurraazziioonnee ddeell sseerrvveerr llwwaarreedd È necessario eseguire la configurazione manuale di due file per consentire il login al server lwared. Tali file sono: //eettcc//llwwppaasssswwdd In questo file vengono memorizzate le informazioni di account dell'utente. Il programma lwpasswd è utilizzato per mantenerlo aggiornato. La sua forma più semplice del file /etc/lwpasswd è: ales: terryd: guest: Si tratta di una semplice lista di identificativi di login, seguiti dal carattere ``:'' e dalla versione criptata della password. Due importanti avvertimenti sono: l'assenza di password criptate significa che non ne esiste alcuna, gli utenti LinWare devono avere un account per Linux quindi ogni utente presente nel file /etc/lwpasswd deve apparire anche in /etc/passwd; l'utente root è l'unico in grado di modificare le password di un altro utente LinWare come di seguito indicato: # lwpasswd rodg Changing password for RODG Enter new password: Re-type new password: Password changed. //eettcc//llwwvvttaabb Si tratta delle tabelle relative al volume LinWare e in esse sono memorizzate le informazioni su directory da rendere disponibili agli utenti LinWare (la natura del file è simile a quella di /etc/exports di NFS). Un semplice esempio del suo formato è: SYS /lwfs/sys DATA /lwfs/data HOME /home Il nome del Volume è seguito da spazi bianchi seguiti dalle directory Linux da esportare. Ci deve essere almeno una riga relativa al vvoolluummee SSYYSS affinché un server possa avviarsi. Se si desidera che i propri utenti DOS siano in grado di utilizzare il proprio server LinWare come server primario, allora deve essere installata una struttura standard per il volume SSYYSS sotto la directory che viene esportato come volume SSYYSS. Dal momento che il copyright di questi file appartiene a Novell Corporation, è necessario possedere una licenza per il loro utilizzo. Se gli utenti utilizzeranno un file server Novell come server primario, allora la licenza non è necessaria. AAvvvviioo ddeell sseerrvveerr llwwaarreedd lwared viene avviato tramite il comando: # lwared Se il server è stato avviato come mostrato, il nome del server LinWare dipenderà dalla risposta dell'hhoossttnnaammee Linux. Se si desidera un nome diverso, è possibile indicarlo esplicitamente. Ad esempio, il comando: # lwared -nlinux00 avvia il server con nome lliinnuuxx0000. CCoollllaauuddoo ddeell sseerrvveerr lwared La prima cosa da controllare è la presenza del proprio _s_e_r_v_e_r _L_i_n_W_a_r_e nell'elenco fornito dal comando slist (eseguito su un client DOS della propria rete). Il programma slist è presente nel volume SSYYSS di un fileserver Novell, pertanto può essere eseguire solo da una macchina già collegata. Se l'esito è negativo, controllare che ipxsapd e lwared siano entrambi in esecuzione. Al contrario, se l'esito è positivo, si tenti la connessione al server e il mount di un volume, tramite: C:> attach linux00/ales ... ... C:> map l:=linux00/data: C:> l: A questo punto dovrebbe essere possibile lavorare con il nuovo disco proprio come con qualsiasi altro disco. Le abilitazioni ai file corrisponderanno a quelle dell'account a Linux parallelo al proprio login LinWare. 1111.. CCoonnffiigguurraazziioonnee ddeellllaa mmaacccchhiinnaa LLiinnuuxx ccoommee cclliieenntt ddii ssttaammppaa NNoovveellll Il pacchetto npcfs contiene due piccoli programmi che consentono di indirizzare una stampa dalla propria macchina Linux verso una stampante collegata a un server di stampa Novell. Il comando nprint permette spedire un file a una coda di stampa Netware. Il comando pqlist fornisce la lista delle code di stampa disponibili. Per ottenere e installare questi comandi, è sufficiente seguire le istruzioni relative al client NCP descritte in precedenza. Entrambi i comandi richiedono che siano forniti il proprio username e password, qundi per facilitare le operazioni, a volte si preferisce realizzare qualche shell script. Un esempio per i comandi potrebbe essere: # pqlist -S ACCT_FS01 -U guest -n # nprint -S ACCT_FS01 -q LASER -U guest -n filename.txt La sintassi per il login è simile a quella del comando _n_c_p_m_o_u_n_t. Negli esempi sopra riportati si assume che il fileserver ACCT_FS01 abbia un account ``gguueesstt'' senza password, che esista una coda di stampa di nome LASER e che l'utente ``gguueesstt'' sia in grado di eseguire stampe su di essa. Nella macchina Linux dell'autore c'è un corto shell script per ciascuna stampante Novell. Questo può essere usato come filtro di stampa per consentire la stampa usando lo spooler standard di Linux. 1122.. CCoonnffiigguurraazziioonnee ddii uunnaa mmaacccchhiinnaa LLiinnuuxx ccoommee pprriinntt sseerrvveerr NNoovveellll Il pacchetto npcfs contiene un programma che consente alla macchina Linux di comportarsi come un server di stampa su una rete NetWare. Per sapere come ottenere ed eseguire la compilazione di tale programma, seguire le istruzioni contenute nel paragrafo relativo al ``Client NetWare''. Alternativamente, il supporto è incluso nel pacchetto _m_a_r_s___n_w_e. 1122..11.. PPrreerreeqquuiissiittii La configurazione è piuttosto semplice ma si basa sul fatto che la configurazione di stampa sia già stata completata e sia funzionante sotto Linux. Questo argomento è trattato più in dettaglio all'interno del Printing-HOWTO 1122..22.. CCoonnffiigguurraazziioonnee Quando si ha a disposizione una configurazione di stampa funzionante, e l'utility pserver è stata compilata e installata, è necessario aggiungere dei comandi per avviarla all'interno dei propri _f_i_l_e _r_c. Il comando da utilizzare dipende da come si desidera che funzioni, tuttavia nella sua forma più semplice il comando sarà del tipo: # pserver -S ACCT_01 -U LASER -P secret -q LASERJET Questo comando richiede all'utility pserver di effettuare un login al file server ACCT_01 con username ``LLAASSEERR'' e password ``sseeccrreett'' e di prelevare dei job dalla coda di stampa LASERJET. Quando viene ricevuto un job di stampa, il comando predefinito lpr lo invierà al demone di stampa Linux. La coda di stampa deve già essere definita sul fileserver e lo username deve avere privilegi per la coda. Alternativamente, sarebbe stato possibile utilizzare qualsiasi comando Linux per accettare e stampare il job. L'opzione -c consente di specificare il corretto comando di stampa. Ad esempio, il comando: # pserver -S ACCT_01 -U LASER -P secret -q LASERJET -c "lpr -Plaserjet" avrebbe il medesimo risultato dell'esempio precedente, ma il job verrebbe inviato alla configurazione llaasseerrjjeett del printcap in luogo di quella predefinita. 1133.. PPaannoorraammiiccaa ssuuii ccoommaannddii uutteennttee ee ddii aammmmiinniissttrraazziioonnee ddii nnccppffss Le versioni più recenti del pacchetto ncpfs di Volker includono diversi comandi utente e di amministrazione. I tool sono installati come parte del processo di installazione di ncpfs, pertanto se non fossero disponibili, si consiglia di seguire le istruzioni contenute nel paragrafo relativo ai "``Client Novell''" per eseguire compilazione ed installazione. Informazioni dettagliate sono presenti all'interno del manuale; tuttavia, nel seguito viene riportata una breve descrizione dei comandi. 1133..11.. CCoommaannddii uutteennttee nnccooppyy _N_e_t_w_o_r_k _C_o_p_y -- copia file in modo efficiente tramite l'utilizzo di una funzione NetWare in luogo di eseguire una copia attraverso la rete. nnpprriinntt _N_e_t_w_o_r_k _P_r_i_n_t -- stampa un file indirizzato a una coda di stampa Netware di un server Netware. nnsseenndd _N_e_t_w_o_r_k _S_e_n_d -- invia messaggi ad altri utenti su un server Netware. nnwwbboollss _L_i_s_t _B_i_n_d_e_r_y _O_b_j_e_c_t_s -- elenca informazioni di bindery di un server Netware. nnwwbboopprrooppss _L_i_s_t _P_r_o_p_e_r_t_i_e_s _o_f _a _B_i_n_d_e_r_y _O_b_j_e_c_t -- elenca le proprietà di un oggetto bindery Netware. nnwwbbppsseett _S_e_t _B_i_n_d_e_r_y _P_r_o_p_e_r_t_y -- imposta le proprietà di un oggetto bindery Netware. nnwwbbppvvaalluueess _P_r_i_n_t _N_e_t_w_a_r_e _B_i_n_d_e_r_y _O_b_j_e_c_t_s _P_r_o_p_e_r_t_y _C_o_n_t_e_n_t_s -- stampa il contenuto di un oggetto bindery Netware. nnwwffssiinnffoo _F_i_l_e_s_e_r_v_e_r _I_n_f_o_r_m_a_t_i_o_n -- stampa le informazioni di base di un server Netware. nnwwppaasssswwdd _N_e_t_w_a_r_e _P_a_s_s_w_o_r_d -- modifica la password di utenti Netware. nnwwrriigghhttss _N_e_t_w_a_r_e _R_i_g_h_t_s -- visualizza i diritti associati a un determinato file o directory. nnwwuusseerrlliisstt _U_s_e_r_l_i_s_t -- fornisce l'elenco di utenti collegati a un file server Netware. ppqqlliisstt _P_r_i_n_t _Q_u_e_u_e _L_i_s_t -- visualizza il contenuto di una coda di rete Netware. sslliisstt _S_e_r_v_e_r _L_i_s_t -- visualizza un elenco di file server Netware conosciuti. 1133..22.. SSttrruummeennttii ppeerr llaa ggeessttiioonnee nnwwbbooccrreeaattee _C_r_e_a_t_e _a _B_i_n_d_e_r_y _O_b_j_e_c_t -- crea un oggetto bindery Netware. nnwwbboorrmm _R_e_m_o_v_e _B_i_n_d_e_r_y _O_b_j_e_c_t -- cancella un oggetto bindary Netware. nnwwbbppaadddd _A_d_d _B_i_n_d_e_r_y _P_r_o_p_e_r_t_y -- imposta il valore di una proprietà esistente di un oggetto bindary Netware. nnwwbbppccrreeaattee _C_r_e_a_t_e _B_i_n_d_e_r_y _P_r_o_p_e_r_t_y -- crea una nuova proprietà per un oggetto bindary Netware esistente. nnwwbbpprrmm _R_e_m_o_v_e _B_i_n_d_e_r_y _P_r_o_p_e_r_t_y -- elimina una proprietà di un oggetto bindary Netware. nnwwggrraanntt _G_r_a_n_t _T_r_u_s_t_e_e _R_i_g_h_t_s -- assegna diritti di amministrazione a una directory su un file server Netware. nnwwrreevvookkee _R_e_v_o_k_e _T_r_u_s_t_e_e _R_i_g_h_t_s -- rimuove diritti di amministrazione da una directory su un fileserver Netware. 1144.. CCoonnffiigguurraazziioonnee ddii PPPPPP ppeerr rreettii ccoonn ssuuppppoorrttoo IIPPXX Le nuove versioni per il demone PPP pppd di Linux consentono il trasporto dei pacchetti IPX attraverso un collegamento seriale PPPPPP. È necessaria almeno la versione ppp-2.2.0d del demone. Si faccia riferimento al PPP-HOWTO per informazioni dettagliate su dove trovarlo. Quando si compila pppd è necessario abilitare il supporto IPX aggiungendo le due righe seguenti: IPX_CHANGE = 1 USE_MS_DNS = 1 al file: /usr/src/linux/pppd-2.2.0f/pppd/Makefile.linux. IIPPXX__CCHHAANNGGEE configura il supporto IPX all'interno di PPP. UUSSEE__MMSS__DDNNSS abilita le macchine Microsoft Windows 95 a eseguire Name Lookups. L'unica particolarità per farlo funzionare consiste nella configurazione. Esistono diversi modi per farlo, tuttavia ne verranno descritti solo due, entrambi non ancora verificati. Pertanto, si consideri questo paragrafo come sperimentale, e chiunque ottenga dei risultati positivi è invitato a comunicarlo. 1144..11.. CCoonnffiigguurraazziioonnee ddii uunn sseerrvveerr IIPPXX//PPPPPP Innanzi tutto, è necessario configurare la propria macchina Linux come server IP/PPP. Si tratta di un'operazione tutt'altro che difficile. Ancora una volta, si invita a seguire le istruzioni contenute in PPP- HOWTO e si otterranno i risultati desiderati. Dopo di che sono sufficienti modifiche minime per fare in modo che IPX funzioni con la stessa configurazione. 1144..11..11.. PPrriimmii ppaassssii Uno dei primi passi consiste nella configurazione della propria macchina Linux come router IPX come descritto in un paragrafo precedente. Non sarà necessario utilizzare il comando ipx_route per l'interfaccia ppp poiché pppd stesso effettuerà la configurazione come viene fatto per IP. Nel momento in cui il demone ipxd entra in funzione, rileverà automaticamente ogni nuova interfaccia IPX e propagherà instradamenti per ognuna di esse. In tal modo, i propri _h_o_s_t _d_i_a_l_u_p potranno essere automaticamente visti da altre macchine al momento della loro connessione. 1144..11..22.. PPrrooggeettttaazziioonnee Quando la macchina lavora come server, sarà propria responsabilità assegnare indirizzi di rete a ciascuna delle connessioni PPP nel momento in cui vengono stabiliti. È molto importante sapere che ogni connessione PPP sarà una rete IPX e avrà indirizzo di rete IPX univoco. Questo significa che è necessario decidere come saranno allocati gli indirizzi e la loro corrispondenza. Una semplice convenzione consiste nell'allocare un indirizzo di rete IPX a ogni dispositivo seriale che supporterà IPX/PPP. È possibile allocare gli indirizzi di rete IPX in relazione all'identificativo di login dell'utente connesso, tuttavia in genere non esistono particolari motivi per farlo. Nel seguito si suppone che questo sia stato fatto, e che vengano usati due dispositivi seriali (modem). Gli indirizzi assegnati in questo esempio sono: device IPX Network Address ------ ------------------- ttyS0 0xABCDEF00 ttyS1 0xABCDEF01 1144..11..33.. CCoonnffiigguurraazziioonnee ddii ppppppdd ppeerr iill sseerrvveerr Si esegua la configurazione del file /etc/ppp/options.ttyS0 nel modo seguente: ipx-network 0xABCDEF00 ipx-node 2:0 ipxcp-accept-remote e quella del file /etc/ppp/options.ttyS1: ipx-network 0xABCDEF01 ipx-node 3:0 ipxcp-accept-remote Questi comandi richiederanno a pppd di allocare alla connessione, nel momento in cui viene stabilita, gli indirizzi di rete IPX appropriati, di impostare il numero di nodo locale a 2 o 3 e lascerà che il nodo remoto sovrascriva il proprio numero di nodo con quello che esso stesso conosce. Si noti che ognuno degli indirizzi è composto da cifre esadecimali e che 0x è necessario all'inizio dell'indirizzo di rete, ma non all'inizio dell'indirizzo del nodo. Esistono altri metodi per configurare le stesse informazioni. Disponendo di un solo modem, è sufficiente modificare il file /etc/ppp/options. In alternativa, queste informazioni possono essere passate a pppd tramite righe di comando. 1144..11..44.. VVeerriiffiiccaa ddeellllaa ccoonnffiigguurraazziioonnee ddeell sseerrvveerr Per verificare la configurazione è necessario avere a disposizione un client del cui funzionamento si sia certi. Quando il chiamante compone il numero, si collega e pppd viene avviato, esso assegnerà l'indirizzo di rete, comunicherà al client il numero di nodo del server e negozierà il numero di nodo del client. Una volta completata questa operazione, e dopo che ipxd abbia rilevato la nuova interfaccia, il client dovrebbe essere in grado di stabilire le connessioni con gli host remoti. 1144..22.. CCoonnffiigguurraazziioonnee ddii uunn cclliieenntt IIPPXX//PPPPPP Durante la configurazione di un client, il fatto di configurare o meno la propria macchina Linux come router IPX dipende dall'avere o meno una LAN locale che si desidera funzioni come un router IPX. Se si sta collegando una singola macchina (standalone) a un server IPX, non è necessario eseguire ipxd come descritto. Una configurazione di questo tipo è molto più semplice poiché non devono essere configurati diversi dispositivi seriali. 1144..22..11.. CCoonnffiigguurraazziioonnee ddii ppppppdd ppeerr iill cclliieenntt La configurazione più semplice è quella che consente al server di fornire tutte le informazioni circa la configurazione della rete IPX. Tale configurazione sarà compatibile con quella del server sopra descritta. È necessario aggiungere alcune opzioni al proprio file /etc/ppp/options: ipxcp-accept-network ipxcp-accept-remote ipxcp-accept-local Queste opzioni richiedono a pppd di comportarsi in modo completamente passivo e di accettare tutti i dettagli di configurazione dal server. Potrebbero essere forniti dei valori di default per i server che non forniscono dettagli aggiungendo le righe relative a ipx-network e ipx- node in modo analogo a quanto descritto per la configurazione del server. 1144..22..22.. VVeerriiffiiccaa ddeell cclliieenntt IIPPXX//PPPPPP Per verificare il client è necessario collegarsi a un server del cui funzionamento si sia certi. Dopo aver attivato il collegamento e dopo che pppd sia stato avviato, dovrebbe essere possibile vedere i dettagli IPX configurati sul proprio dispositivo ppp0 se si esegue il comando ifconfig. Allo stesso modo, dovrebbe essere possibile utilizzare ncpmount. Non è certa la necessità di aggiungere manualmente gli instradamenti IPX in modo da poter raggiungere fileserver distanti. Se qualche lettore è in grado di dare dei suggerimenti, sarebbero estremamente graditi. 1155.. IIll ttuunnnneell IIPPXX ssuu IIPP Molto frequentemente si verifica la situazione in cui due Reti Locali (LAN) Novell sono in collegamento tramite un'unica connessione IP. In questo caso ad esempio, com'è possibile, giocare a DOOM per DOS in più giocatori? Andreas Godzina (ag@agsc.han.de) è in grado di fornire una risposta che consiste in ipxtunnel. ipxtunnel incapsula pacchetti IPX con datagrammi TCP/IP, in modo che possano essere trasportati con una connessione TCP/IP. ipxtunnel resta in ascolto e quando rileva un pacchetto IPX, lo ingloba in un datagramma TCP/IP e lo instrada verso l'indirizzo IP remoto specificato. Affinché questo i procedimento funzioni, la macchina verso cui viene instradato l'IPX incapsulato deve necessariamente avere in esecuzione un copia della stessa versione di ipxtunnel. 1155..11.. CCoommee ootttteenneerree iippxxttuunnnneell ipxtunnel può essere ottenuto da sunsite.unc.edu /pub/Linux/system/network/daemons o siti mirror. 1155..22.. CCoommppiillaarree iippxxttuunnnneell È possibile eseguire la compilazione di ipxtunnel tramite i comandi: # cd /usr/src # tar xvfz .../ipxtunnel.tgz # cd ipxtunnel # make 1155..33.. CCoonnffiigguurraazziioonnee ddii iippxxttuunnnneell La configurazione di ipxtunnel è molto semplice. Si supponga che la macchina di un amico sia _g_a_u_._s_o_m_e_w_h_e_r_e_._c_o_m e che la propria macchina sia denominata _g_i_m_._s_w_._e_d_u. ipxtunnel utilizza il file di configurazione /etc/ipxtunnel.conf, che consente di specificare la porta UDP predefinita da utilizzare per la connessione TCP/IP alla quale verranno inviati i dati incapsulati, e su quali delle proprie interfacce locali ipxtunnel dove stare in ascolto e consegnare pacchetti IPX. Una configurazione molto semplice è riportata nell'esempio che segue: # # /etc/ipxtunnel.conf per gim.sw.edu # # Porta UDP da utilizzare: (valore predefinito 7666) port 7777 # # Macchina remota a cui inviare i pacchetti IPX: # (nessun valore predefinito) remote gau.somewhere.com # # Interfacce locali su cui restare in ascolto di IPX: # (valore predefinito eth0) interface eth0 interface eth1 Ovviamente, l'altra macchina possiederà un file di configurazione simile che definisce questa macchina come _h_o_s_t _r_e_m_o_t_o. 1155..44.. VVeerriiffiiccaa ee uuttiilliizzzzoo ddii iippxxttuunnnneell ipxtunnel si comporta _c_o_m_e un ponte (bridge) IPX, quindi le reti IPX che si trovano a entrambi gli estremi della connessione dovrebbero essere parti della stessa. Andreas non ha mai verificato il funzionamento di ipxtunnel in un ambiente davvero in grado di supportare servizi di file Novell, pertanto se qualche lettore dovesse realizzarlo è pregato di far sapere ad Andreas gli esiti della prova. Se ipxtunnel funziona, è possibile l'avvio delle macchine DOOM a entrambi gli estremi della connessione in modalità IPX. Le due macchine dovrebbero essere in grado di vedersi. Andreas ha utilizzato questo codice solo su linee a buona velocità e quindi non è in grado di fare affermazioni sulle prestazioni con connessioni a bassa velocità. Ancora una volta, si invita a comunicare successi o insuccessi. 1166.. SSuuppppoorrttoo ccoommmmeerrcciiaallee IIPPXX ppeerr LLiinnuuxx 1166..11.. NNeettwwoorrkk DDeesskkttoopp ddii CCaallddeerraa La società _C_a_l_d_e_r_a _I_n_c_. produce una distribuzione di Linux che caratterizza un insieme di miglioramenti supportati commercialmente, incluso il pieno supporto funzionale ai client NetWare Novell. La distribuzione di base è la ben nota _R_e_d _H_a_t _L_i_n_u_x _D_i_s_t_r_i_b_u_t_i_o_n e Caldera vi ha aggiunto il proprio prodotto ``Network Desktop''. Il supporto NetWare fornisce un client con piene caratteristiche NetWare Novell costruito sulla tecnologia della Novell Corporation. Il client fornisce pieno accesso ai fileserver 3.x e 4.x e include caratteristiche come NetWare Directory Service (NDS) e crittografia RSA. È possibile ottenere ulteriori informazioni e ordinare dei dettagli da: Caldera Inc Web Server (http://www.caldera.com/). Se si lavora in un ambiente Netware 4.x e/o NDS, il Caldera Netware Client rappresenta l'unica soluzione disponibile. Se un'applicazione ``industriale'' è critica per il supporto Novell, allora sarebbe opportuno dare un'occhiata al prodotto della Caldera. 1177.. AAllccuunnee ddoommaannddee ffrreeqquueennttii ((FFAAQQ)) DDoovvee ssii ppuuòò ttrroovvaarree iill ssooffttwwaarree IIPPXX ppeerr LLiinnuuxx ssuuppppoorrttaattoo ccoommmmeerr­­ cciiaallmmeennttee?? La Caldera Corporation offre un client con licenza e con pieno supporto Netware 3.x e 4.x. È possibile ottenere informazioni a riguardo dal Caldera Inc Web Server (http://www.caldera.com/). IIll ssooffttwwaarree IIPPXX llaavvoorraa ccoonn AArrccnneett//TTookkeenn RRiinngg// eecccc......?? Il software IPX è in grado di lavorare con le interfacce Arcnet e Token Ring. Non si hanno ancora notizie di tentativi con AX.25. La configurazione è la stessa che per ethernet, tranne la necessità di sostituire i nomi di dispositivi appropriati in luogo di ``eth0'' e gli appositi indirizzi hardware dove necessario. CCoommee ssii ccoonnffiigguurraa ppiiùù ddii uunn''iinntteerrffaacccciiaa?? Se la propria macchina contiene più di un'interfaccia, non si dovrebbe usare la configurazione ``plug'n'play'', ma si dovrebbe utilizzare il comando ipx_interface per configurare ciascuna di esse manualmente. CCoommee sscceegglliieerree ggllii iinnddiirriizzzzii IIPPXX?? Il networking IPX è simile, ma non identico, al networking IP. La differenza principale consiste nel modo di utilizzo degli indirizzi. IPX non utilizza il concetto di ``_s_u_b_n_e_t_w_o_r_k_i_n_g'', pertanto l'ordinamento delle associazioni esistenti tra indirizzi di rete e reti è differente. Le regole sono molto semplici: · Ogni indirizzo di rete IPX deve essere univoco su una rete geografica. Questo include gli Indirizzi di Rete Interna. Molte organizzazioni che utilizzano IPX su una rete geografica avranno una sorta di indirizzamento standard che è utile seguire. · Ogni indirizzo di host su una rete individuale deve essere univoco. Questo significa che ogni host su ciascuna rete IPX deve avere un indirizzo assegnato in modo univoco. Nel caso di una rete ethernet è molto semplice, dal momento che le schede stesse hanno un indirizzo univoco. Nel caso di IPX/PPP bisogna assicurarsi di allocare indirizzi univoci a tutti gli host della rete, indipendentemente dall'estremo delle connessioni ai quali sono collegati. Non è necessario che gli indirizzi degli host siano univoci lungo una rete geografica, dal momento che l'indirizzo di rete viene utilizzato insieme all'indirizzo dell'host per identificarlo in modo univoco. QQuuaallii ssoonnoo ii ttiippii ddii ttrraammaa ddaa uuttiilliizzzzaarree?? Esistono molti ``frame type'' sui quali è possibile eseguire IPX. I più comuni sono descritti nel paragrafo ``termini comuni'' di questo documento (alla voce: ``tipo di frame''). Se si sta installando la propria macchina su una rete esistente, si dovrebbero utilizzare quelli che sono già in uso per avere la possibilità di interagire con gli altri host della rete, ma se l'installazione avviene su una rete completamente nuova e si desidera gestire traffico sia IPX, sia IP, allora deve essere utilizzato il frame type Ethernet_II. LLee mmaacccchhiinnee WWiinnddoowwss9955 ppoossssoonnoo iinntteerrffeerriirree ccoonn ll''aauuttoorriilleevvaammeennttoo ddeell ttiippoo ddii ffrraammee?? Apparentemente sembra accadere. Si suggerisce di utilizzare la configurazione manuale (e si tratta comunque del metodo migliore) del tipo di frame in luogo di quella automatica. PPeerrcchhéé aappppaarree iill mmeessssaaggggiioo ``_i_n_v_a_l_i_d _a_r_g_u_m_e_n_t' dduurraannttee llaa ccoonnffiigguu­­ rraazziioonnee ddii IIPPXX?? Probabilmente non è in esecuzione un kernel in grado di supportare IPX. Le possibili soluzioni consistono nel ricompilare il proprio kernel in modo da abilitare il supporto, oppure controllare nuovamente di aver utilizzato lilo per installare e avviare il nuovo kernel. PPeerrcchhéé aappppaarree iill mmeessssaaggggiioo ``_p_a_c_k_a_g_e _n_o_t _i_n_s_t_a_l_l_e_d' dduurraannttee llaa ccoonn­­ ffiigguurraazziioonnee ddii IIPPXX?? Probabilmente non è in esecuzione un kernel in grado di supportare IPX. Le possibili soluzioni consistono nel ricompilare il proprio kernel in modo da abilitare il supporto, oppure controllare nuovamente di aver utilizzato lilo per installare e avviare il nuovo kernel. PPeerrcchhéé aappppaarree iill mmeessssaaggggiioo ``_I_P_X _s_u_p_p_o_r_t _n_o_t _i_n _k_e_r_n_e_l' ddaa ppppppdd?? Probabilmente IPX è stato compilato come modulo senza assicurarsi di averlo caricato prima di avviare pppd. CCoommee eesseegguuiirree ll''eessppoorrttaazziioonnee NNFFSS ddii uunn ffiilleessyysstteemm NNCCPP mmoonnttaattoo?? L'utilizzo di NFS per esportare un filesystem NCP richiede che il suo collegamento sia stato eseguito utilizzando l'opzione ncpmount -V. Questa opzione consente di montare un solo volume di un fileserver anziché di tutti i volumi contemporaneamente. In questo modo, il proprio demone NFS consentirà di esportare tale file system con le solite modalità. PPeerrcchhéé iill ccoommaannddoo ``slist' nnoonn ffuunnzziioonnaa ssee llaa rreettee iinntteerrnnaa ccoonnttiieennee mars_nwe? È necessario abilitare ``_g_e_t _n_e_a_r_e_s_t _s_e_r_v_e_r''. Ossia, la riga 401 nel file /etc/nwserv.conf dovrebbe essere 0 a meno che non esistano particolari motivi per non voler rispondere a ``_g_e_t _n_e_a_r_e_s_t _s_e_r_v_e_r_s''. Se si desidera solamente che il comando ``slist'' funzioni senza rispondere a ogni richiesta ``_g_e_t _n_e_a_r_e_s_t _s_e_r_v_e_r'', includere i propri numeri di rete interna e di nodo nel file /etc/nwserv.stations, quindi impostare la riga 401 nel file /etc/nwserv.conf con il valore 2. IIll ppaacccchheettttoo nnccppffss ffuunnzziioonnaa ccoonn mmaarrss__nnwwee?? Il codice di Martin e Volker sta lentamente iniziando a convergere. Versioni recenti di mars_nwe contengono un'opzione che consente il funzionamento con ncpfs. È necessario abilitare WITH_NAME_SPACE_CALLS nel file mars_nwe config.h. EEssiissttee ssooffttwwaarree ppeerr MMSSDDOOSS ggrraattuuiittoo ffuunnzziioonnaannttee ccoonn mmaarrss__nnwwee? Martin possiede un pacchetto distribuito insieme a mars_nwe che offre supporto client DOS gratuito per il server mars_nwe. È disponibile nello stesso sito del server, con nome _m_a_r_s___d_o_s_u_t_i_l_s_-_0_._0_1_._t_g_z. Include codice sorgente in C, compilabile con Borland(tm) C, per programmi come slist.exe, login.exe, map.exe ecc. 1188.. CCooppyyrriigghhtt The IPX-HOWTO, a guide to software supporting the IPX protocol for Linux. Copyright (c) 1995 Terry Dawson. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the: Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. L'unica licenza valida è quella originale in lingua inglese. Di seguito ne trovate una traduzione abbastanza fedele che però non ha alcun valore legale. IPX-HOWTO (traduzione italiana ), guida al supporto software del protocollo IPX per Linux. Copyright (c) 1995 Terry Dawson. Questo HOWTO è gratuito; può essere distribuito e/o modificato sotto i termini della GNU General Public License come pubblicato dalla Free Software Foundation; sia la versione 2 della Licenza, sia ogni altra versione successiva. Questa documentazione viene distribuita con la speranza che possa essere utile, ma _S_E_N_Z_A _A_L_C_U_N_A _G_A_R_A_N_Z_I_A, senza neanche la garanzia implicita di _C_O_M_M_E_R_C_I_A_B_I_L_I_T_A_' o _I_D_O_N_E_I_T_A_' _P_E_R _U_N_O _S_C_O_P_O _P_A_R_T_I_C_O_L_A_R_E. Si faccia riferimento alla GNU General Public License per ulteriori dettagli. Copia della GNU General Public License dovrebbe essere allegata a questa documentazione; se così non fosse, scrivere a: Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 1199.. VVaarriiee ee rriinnggrraazziiaammeennttii Terry Dawson per il documento originale. David E. Storey (dave@tamos.gmu.edu) e Volker Lendecke (lendecke@namu01.gwdg.de) entrambi hanno dato una grande assistenza fornendomi informazioni per questo documento. Gilbert Callaghan (gilbert@pokey.inviso.com), David Higgins (dave@infra.com) e Chad Robinson (chadr@brtgate.brttech.com) hanno contribuito alle informazioni sulla configurazione di IPX/PPP. Bennie Venter (bjv@Gil- galad.paradigm-sa.com) ha contribuito fornendo utili informazioni relative ai tipi di frame. Christopher Wall (vergil@idir.net) ha fornito utili suggerimenti per migliorare la leggibilità e il layout del documento. Anche Axel Boldt (boldt@math.ucsb.edu) ha contribuito con utili suggerimenti. Erik D. Olson (eriko@wrq.com) ha fornito utili informazioni sulla configurazione di PPP per IPX. Brian King (root@brian.library.dal.ca) ha contribuito al paragrafo delle domande frequenti. ``NetWare'' è un marchio registrato (registered trademark) di Novell Corporation. ``Caldera'' è un marchio registrato (registered trademark) di Caldera Corporation. Saluti Kevin Thorpe.