  The Linux Networking Overview HOWTO
  Daniel Lpez Ridruejo, ridruejo@esi.us.es
  v0.2, 10 luglio 1998

  Lo scopo di questo documento  di dare una panoramica alle possibilit
  di rete del Sistema Operativo Linux e di fornire puntatori ad ulteri
  ori informazioni e dettagli implementativi.  Traduzione di Salvatore
  Passerini(s.passerini@mclink.it).

  1.  Introduzione.


  Lo scopo di questo documento  di dare una panoramica delle
  possibilit di rete del Sistema Operativo Linux.  Sebbene uno dei
  punti di forza di Linux  il fatto che ci sono moltissime informazioni
  disponibili su praticamente ogni cosa, molte di queste sono
  focalizzate sull'implementazione.  Molti nuovi utenti di Linux,
  particolarmente quelli provenienti da un ambiente Windows, non sono
  consci delle possibilit di networking che offre Linux.  Questo
  documento vuole mostrare una rappresentazione generica di tali
  possibilit con una breve descrizione di ognuna di esse e puntatori
  per avere ulteriori informazioni.  Le informazioni sono state raccolte
  da molte fonti: howto, faq, pagine web dei progetti e dalla mia
  esperienza personale.  Ai diversi autori sono riconosciuti i loro
  meriti.  Senza di loro ed i loro programmi questo documento non
  potrebbe essere stato possibile o necessario.


  2.  Linux.


  2.1.  Cos' Linux?

  L'autore principale di Linux  Linus Torvalds.  Sin dalla sua versione
  originale,  stato migliorato da un numero imprecisato di persone.  
  un clone, scritto partendo da nulla, del sistema operativo UNIX.  Uno
  dei fatti pi interessanti su Linux  che il suo sviluppo avviene
  simultaneamente in tutto il mondo.

  Linux  sotto copyright nei termini della GNU General Public License
  (GPL).  Questa licenza scritta dalla Free Software Foundation (FSF) 
  pensata per impedire a chiunque di imporre restrizioni sulla
  distribuzione del software.  In breve, dice che sebbene possano essere
  rischiesti dei soldi per una copia, alla persona che riceve la copia
  non pu essere impedito di darla via gratis.  Ci significa inoltre
  che dev'essere reso disponibile il codice sorgente.  Questo  utile
  per i programmatori.  Chiunque pu modificare Linux e persino
  distribuire le sue modiche, a patto che mantenga il codice sotto il
  medesimo copyright.


  2.2.  Cosa rende Linux diverso?

  Perch lavorare su Linux?  Linux generalmente  economico (o almeno
  non pi costoso) rispetto ad altri sistemi operativi e frequentemente
  meno problematico di molti sistemi commerciali.  Ma ci che rende
  Linux diverso non  il suo prezzo (dopo tutto, chi vorrebbe un sistema
  operativo, anche se fosse gratis, se non funzionasse bene?) sono le
  sue notevoli possibilit:


    Linux  un vero Sistema Operativo multitasking a 32 bit, abbastanza
     robusto e capace da essere usato da universit fino a grosse
     aziende.


    Funziona su vecchie macchine 386 fino alle macchine massivamente
     ultra parallele dei centri di ricerca.

    Sono disponibili versione pronte all'uso per architetture
     Intel/Alpha/Sparc, e supporto sperimentale per Power PC e sistemi
     embedded oltre a molti altri (SGI, Ultra Sparc, AP1000+, Strong
     ARM, MIPS R3000/R4000...)

    Per finire, quando si vuole fare qualcosa in rete, Linux  la
     scelta giusta.  Non solo perch la rete  strettamente integrata
     nel S.O. stesso e sono liberamente disponibili una pletora di
     applicazioni, ma soprattutto per la sua robustezza anche sotto
     carichi elevati che  potuta essere stata raggiunta solo dopo anni
     di debug e di test nel progetto Open Source.


  3.  Protocolli di rete.


  Linux supporta molti protocolli di rete diversi:


  3.1.  TCP/IP


  L'Internet Protocol  stato sviluppato una ventina di anni fa dal
  Dipartimento della Difesa (DoD) degli Stati Uniti, principalmente con
  lo scopo di connettere computer di diverse marche.  La suite di
  protocolli TCP/IP permette, attraverso la sua struttura a strati, di
  isolare le applicazioni dall'hardware di rete.

  Sebbene sia basato sul modello a strati,  focalizzato pi sulla
  distribuzione della interconnettivit che sull'aderenza rigida agli
  strati funzionali.  Questo  una delle ragioni per cui di fatto
  TCP/IP, piuttosto che OSI,  diventato il protocollo di
  internetworking standard.

  Il networking TCP/IP  stato presente in Linux sin dagli inizi.  
  stato implementato partendo da zero.   una delle implementazioni pi
  robuste, veloci e affidabili ed uno dei fattori chiave del successo di
  Linux.

  HowTo Collegato: http://sunsite.unc.edu/mdw/HOWTO/NET-3-HOWTO.html


  3.2.  TCP/IP versione 6


  IPv6, qualche volta detto anche IPng (IP Next Generation)  un
  aggiornamento del protocollo IPv4 indirizzato alla risoluzione e al
  miglioramento di diversi fattori.  Fra questi: la scarsit di
  indirizzi IP disponibili, la mancanza di un meccanismo per gestire
  traffico sensibile all'orario, la mancanza di sicurezza a livello di
  rete, ecc.

  L'incremento nello spazio di indirizzamento sar accompagnato da uno
  schema di indirizzamento espanso, che avr un grande impatto sulle
  prestazioni dell'instradamento.  Per Linux esiste gi un
  implementazione beta e una versione stabile  attesa per la versione
  2.2.0 del kernel Linux.

    Linux IPv6 How-to:http://www.terra.net/ipv6/linux-ipv6.faq.htm

    IPv6 start page: http://playground.sun.com/pub/ipng/html/ipng-
     main.html

  3.3.  IPX/SPX

  IPX/SPX (Internet Packet Exchange/Sequenced Packet Exchange)  un
  protocollo di stack proprietario sviluppato da Novell e basato sul
  protocollo Xerox Network Systems (XNS).  IPX/SPX  diventato
  importante nei primi anni '80 come parte integrante di NetWare della
  Novell Inc.  NetWare  diventato lo standard de facto nei sistemi
  operativi di rete (NOS - Network Operating System) della prima
  generazione di LAN.  Novell ha completato il suo NOS con una suite di
  applicazioni orientate al business e con utilit di connessione per il
  lato client.

  Linux ha un implementazione di IPX/SPX molto elegante, che gli
  permette di essere configurato come

    IPX router

    IPX bridge

    NCP client e/o NCP Server (per la condivisione dei file)

    Novell Print Client, Novell Print Server

  E di:

    Abilitare PPP/IPX, permettendo ad una macchina Linux di comportarsi
     sia come client che come server PPP

    Tunnelling IPX attraverso IP, che permette la connesioni di due
     reti IPX attraverso un semplice collegamento IP.

  Inoltre, Caldera <http://www.caldera.com> offre il supporto
  commerciale per Novell Netware sotto Linux.  Caldera fornisce un
  client Novell NetWare completo basato su tecnologia sotto licenza di
  Novell Corporation. Il client fornisce una completa accessibilit ai
  server di file basati su Novell 3.x e 4.x ed include caratteristiche
  quali il Servizio di Directory NetWare (NDS) e la criptatura RSA.



    IPX How-to: http://sunsite.unc.edu/mdw/HOWTO/IPX-HOWTO.html


  3.4.  Suite di Protocolli AppleTalk

  Appletalk  il nome dello stack di rete della Apple.  Permette un
  modello di rete punto punto, fornendo funzionalit di base come la
  condivisione di file e stampanti.  Ogni macchina pu funzionare
  simultaneamente sia come un client che come server, e sia il software
  che l'hardware necessari sono inclusi con qualsiasi computer Apple.

  Linux fornisce supporto completo per le reti Appletalk.  Netatalk 
  l'implementazione a livello kernel dell'Appletalk Protocol Suite,
  derivata da sistemi BSD.  Include il supporto per l'instradamento
  Appletalk, la condivisione di filesystem Unix e AFS su AFP
  (AppleShare), la condivisione di stampanti Unix e l'accesso a
  stampanti Appletalk tramite PAP.

  Si veda la sezione 5.1 per maggiori informazioni.


  3.5.  WAN Networking: X.25, Frame-relay, ecc...

  Molte terze parti forniscono prodotti T-1, T-3, X.25 e Frame Relay per
  Linux. In genere  necessario hardware specifico per questi tipi di
  connessione. I venditori che forniscono l'hardware procurano anche i
  driver per il supporto del protocollo.



    WAN resources for Linux:
     http://www.secretagent.com/networking/wan.html




  3.6.  ISDN

  Il kernel Linux ha al suo interno il supporto per ISDN.  Isdn4linux
  controlla le schede ISDN per PC e pu emulare un modem con l'insieme
  dei comandi Hayes (i comandi "AT").  Le possibilit vanno dal semplice
  uso di un programma di terminale per connessioni via HDLC (usando il
  dispositivo incluso), alla completa connessione Internet via PPP fino
  alle applicazioni audio.


    FAQ per isdn4linux: http://tsikora.tiac.net/i4l-faq/eng-i4l-
     faq.html



  3.7.  PPP, SLIP, PLIP

  Il kernel Linux ha al suo interno il supporto per PPP (Point-to-Point-
  Protocol - Protocollo Punto Punto), SLIP (Serial Line IP - IP su Linea
  Seriale) e PLIP (Parallel Line IP - IP su Linea Parallela). PPP  il
  metodo pi popolare usato dai singoli utenti per accedere al proprio
  ISP (Internet Service Provider).  PLIP permette di effettuare in
  maniera economica una connessione fra due macchine.  Usa la porta
  parallela ed un cavo speciale, raggiungendo velocit che vanno da
  10kBps fino a 20kBps.


    Linux PPP How-to <http://sunsite.unc.edu/mdw/HOWTO/PPP-HOWTO.html>

    PPP/SLIP emulator <http://sunsite.unc.edu/mdw/HOWTO/mini/SLIP-PPP-
     Emulator.html>

    Informazioni su PLIP possono essere trovate in The Network
     Administrator Guide <http://sunsite.unc.edu/mdw/LDP/nag/nag.html>


  3.8.  Radio Amatori

  Il kernel Linux ha al suo interno il supporto per i protocolli dei
  radio amatori.

  Di particolare interesse  il supporto AX.25.  Il protocollo AX.25
  offre modi di funzionamento sia in maniera connessa (connected) che
  non connessa (connectionless), ed  usato o per una connessione punto
  punto oppure per trasportare altri protocolli come TCP/IP e NetRom.

  La sua struttura  simile a X.25 livello 2, con alcune estensione per
  renderlo pi utile in ambito radio amatoriale.

    Amateur radio how-to <http://sunsite.unc.edu/mdw/HOWTO/HAM-
     HOWTO.html>





  3.9.  ATM

  Il supporto ATM per Linux attualmente  in uno stato pre alpha.  C'
  una release sperimentale che supporta connessioni ATM raw (PVC e SVC),
  IP su ATM, emulazione di LAN...


    Linux ATM-Linux home page <http://lrcwww.epfl.ch/linux-atm/>


  4.  Hardware di rete supportato

  Linux supporta una grande variet di hardware di rete, compreso molto
  hardware ormai obsoleto.

  Alcuni documenti interessanti:

    Hardware How-To <http://sunsite.unc.edu/mdw/HOWTO/Hardware-
     HOWTO.html>

    Ethernet How-To <http://sunsite.unc.edu/mdw/HOWTO/Ethernet-
     HOWTO.html>


  5.  Condivisione di File e Stampanti

  La scopo primario di molte Reti Locali (Local Area Network) basate su
  PC  di fornire ai propri utenti la condivisione dei servizi di stampa
  e di accesso ai file.  Linux  una grande soluzione ai server
  aziendali per tali servizi.


  5.1.  Ambiente Apple

  Come evidenziato nelle precedenti sezioni, Linux supporta la famiglia
  di protocolli Appletalk.  Il netatalk di Linux permette ai client
  Macintosh di vedere i Sistemi Linux come altri Macintosh nella rete,
  condividere file e usare stampanti connesse ai server Linux.

  Faq e how-to su netatalk:

    http://thehamptons.com/anders/netatalk/

    http://www.umich.edu/~rsug/netatalk/

    http://www.umich.edu/~rsug/netatalk/faq.html


  5.2.  Ambiente Windows

  Samba  una suite di applicazioni per permette a molti Unix (ed in
  particolare a Linux) di integrarsi in una rete Microsoft sia come un
  client che come un server.  Funzionando da server si permette ai
  client Windows 95, Windows for Workgroups, DOS e Windows NT di
  accedere ai file e ai servizi di stampa di Linux.  Pu completamente
  rimpiazzare Windows NT per i servizi sui file e sulla stampa, incluso
  il download automatico nei client dei driver di stampa.  Funzionando
  come client permette alla workstation Linux di montare localmente le
  condivisioni esportate di Windows.

  Secondo la SAMBA Meta-FAQ:





  "Molti utenti dicono che rispetto ad altre implementazioni di SMB,
  Samba  pi stabile, veloce e compatibile con pi client.  Gli
  amministratori di alcune grosse installazioni dicono che Samba  il
  solo server SMB che pu essere scalato da molte decine a migliaia di
  utenti senza andare in crash"





    Samba project home page <http://samba.anu.edu.au/samba/>

    Samba How-to <http://sunsite.unc.edu/mdw/HOWTO/SMB-HOWTO.html>

    Printing How-to <http://sunsite.unc.edu/mdw/HOWTO/Printing-
     HOWTO.html>


  5.3.  Ambiente Novell

  Come evidenziato nei paragrafi precedenti, Linux pu essere
  configurato per funzionare sia come client che come server NCP,
  fornendo quindi il servizio di condivisione di file e stampanti in una
  rete Novell sia per client Unix che per client Novell.


    IPX How-to <http://sunsite.unc.edu/mdw/HOWTO/IPX-HOWTO.html>


  5.4.  Ambiente UNIX

  La modalit preferenziale per la condivisione dei file in una rete
  UNIX  tramite NFS.  NFS sta per Network File Sharing ed  un
  protocollo inizialmente sviluppato da Sun Microsystems.   un metodo
  per condividere file attraverso pi macchine come se fossero locali.
  Un client "monta" un file system "esportato" da un server NFS.  Il
  filesystem cos montato apparir alla macchina client come fosse parte
  del filesystem locale.

   possibile montare il filesystem di root all'avvio, permettendo
  quindi il boot e l'accesso a tutti i file di un server a client
  diskless.  In parole povere,  possibile avere macchine completamente
  funzionananti senza che queste abbiano un disco fisso.

  Documenti relativi a NFS:

    http://sunsite.unc.edu/mdw/HOWTO/mini/NFS-Root.html

    http://sunsite.unc.edu/mdw/HOWTO/mini/Diskless.html

    http://sunsite.unc.edu/mdw/HOWTO/mini/NFS-Root-Client.html

    http://www.redhat.com/support/docs/rhl/NFS-Tips/NFS-Tips.html

    http://sunsite.unc.edu/mdw/HOWTO/NFS-HOWTO.html


  6.  Internet/Intranet

  Linux  una grande piattaforma per il funzionamento come Server
  Internet/Intranet.  Il termine Intranet fa riferimento
  all'applicazione delle tecnologie di Internet dentro ad un azienda,
  principalmente con lo scopo di distribuire e rendere disponibili
  informazioni all'interno della compagnia.  I servizi Internet ed
  Intranet offerti da Linux comprendono, tra gli altri, server per
  email, news e WWW e molti altri che saranno spiegati nei paragrafi
  successivi.


  6.1.  E-Mail


  6.1.1.  Server E-Mail

  Sendmail  di fatto il programma server per la posta elettronica
  standard per piattaforme UNIX.   robusto, scalabile e propriamente
  configurato e dotato dell'hardware necessario, pu gestire carichi di
  migliaia di utenti senza fare una piega.  Altri server di e-mail (MTA
  - Mail Transport Agent - Agenti di Trasporto della Posta) sono ad
  esempio smail e qmail, entrambi progettati come rimpiazzo per
  sendmail.


    sito web di Sendmail <http://www.sendmail.org/>

    Smail faq <http://www.sbay.org/smail-faq.html>

    Qmail web site <http://www.qmail.org>

     Mail how-to:

    http://sunsite.unc.edu/mdw/HOWTO/Mail-HOWTO.html

    http://sunsite.unc.edu/mdw/HOWTO/mini/Qmail+MH.html

    http://sunsite.unc.edu/mdw/HOWTO/mini/Sendmail+UUCP.html

    http://sunsite.unc.edu/mdw/HOWTO/mini/Mail-Queue.html


  6.1.2.  Accesso remoto alla posta.

  In un'azienda o in un ISP, gli utenti vorranno accedere alla loro
  posta in maniera remota dalle loro postazioni di lavoro. In Linux
  esistono diverse alternative, tra cui i server POP (Post Office
  Protocol) e IMAP (Internet Message Access Protocol).  Il protocollo
  POP solitamente  usato per trasferire messaggi dal server al client.
  IMAP permette anche la manipolazione dei messaggi nel server, la
  creazione e cancellazione remota di folder (cartelle di posta) nel
  server, l'accesso concorrente a folder condivisi, ecc.


    Breve confronto tra IMAP e POP (in inglese)
     <http://www.imap.org/imap.vs.pop.brief.html>

     HOWTO relativi all'email:

    http://sunsite.unc.edu/mdw/HOWTO/Mail-HOWTO.html

    http://sunsite.unc.edu/mdw/HOWTO/mini/Cyrus-IMAP.html


  6.1.3.  Mail User Agent

  In Linux esistono diversi MUA (Mail User Agent), sia grafici che
  testuali.  Fra i pi usati ci sono: pine, elm, mutt e Netscape.


    Elenco del software relativo all'email
     <http://www.linuxlinks.com/Software/Internet/Mail/>


    http://sunsite.unc.edu/mdw/HOWTO/mini/TkRat.html


  6.1.4.  Software per mailing list

  Ci sono molti programmi di MLM (Mail List Management - Gestione di
  Mail List) disponibili per i generici UNIX ed in particolare per
  Linux.


    Un buon confronto tra i diversi MLM pu essere reperito a:
     ftp://ftp.uu.net/usenet/news.answers/mail/list-admin/

    Listserv <http://www.lsoft.com/>

    Majordomo home page <http://www.greatcircle.com/majordomo/>


  6.1.5.  Fetch-mail

  Un utile programma per la posta  fetchmail. Ha molte funzionalit, 
  robusto, ben documentato e gratuito.  stato pensato per essere usato
  su collegamenti TCP/IP provvisori (come ad esempio nelle connessioni
  SLIP o PPP). Supporta ogni protocollo di posta remota in uso
  attualmente su Internet. Pu anche supportare IPv6 e IPSEC.

  Fetchmail recupera la posta dal server di posta remoto e la inoltra
  via SMTP, in modo che possa essere letta dai normali agenti di posta
  quali mutt, elm o BSD Mail. Possiede tutte le capacit di filtraggio,
  inoltro e aliasing del sistema MTA per lavorare come con la posta
  normale.

  Fetchmail pu essere usato come gateway da POP/IMAP a SMTP per
  l'intero dominio DNS, riunendo la posta da una singola mailbox su un
  ISP e inoltrandola via SMTP basandosi sugli indirizzi degli header.

  Una piccola compagnia potrebbe centralizzare la sua posta in una
  singola mailbox e programmare fetchmail per riunire tutta la posta
  uscente, inviarla su internet e recuperare quella entrante.

    Fetch-mail home page <http://sagan.earthspace.net/~esr/fetchmail/>


  6.2.  Server Web

  La maggiorparte delle distribuzioni di Linux includono Apache
  (http://www.apache.org). Apache  il server numero uno in internet
  (http://www.netcraft.co.uk/survey/) dove pi di met dei siti internet
  usano Apache o un suo derivato.  Tra vantaggi di Apache si hanno la
  sua modularit, stabilit e velocit.  Dotato di hardware appropriato
  e opportunamente configurato pu supportare i carichi pi elevati:
  Yahoo, Altavista, GeoCities, Hotmail sono basati su versioni
  personalizzate di questo server.

  Il supporto opzionale per SSL (che abilita le transizioni sicure) 
  disponibile a:

    http://www.apache-ssl.org/

    http://raven.covalent.net/

    http://www.c2.net/

  How-to collegati:


    http://sunsite.unc.edu/mdw/HOWTO/WWW-HOWTO.html

    http://sunsite.unc.edu/mdw/HOWTO/Virtual-Services-HOWTO.html

    http://sunsite.unc.edu/mdw/HOWTO/Intranet-Server-HOWTO.html

    Web server per Linux
     <http://www.linuxlinks.com/Software/Internet/WebServers/>


  6.3.  Web Browser

  Per la piattaforma Linux esistono diversi web browser. Netscape
  Navigator  una delle possibili scelte sin dall'inizio ed il
  sopraggiungente Mozilla (http://www.mozilla.org) avr una versione
  Linux.  Un altro popolare web browser testuale  lynx.  veloce e
  maneggevole quando non  disponibile alcun ambiente grafico.



    Software di browser per Linux
     <http://www.linuxlinks.com/Software/Internet/WebBrowsers/>

    http://sunsite.unc.edu/mdw/HOWTO/mini/Public-Web-Browser.html


  6.4.  Server e client FTP

  FTP sta per File Transfer Protocol ("Protocollo di Trasferimento
  File").  Un server FTP permette ai client di connettersi e di
  recuperare (scaricare) file.  Per Linux esistono molti server e client
  ftp e sono solitamente inclusi nella maggior parte delle
  distribuzioni.  Esistono sia client testuali che grafici.  Il software
  (server e client) relativo all'FTP per Linux pu essere trovato a:
  http://sunsite.unc.edu/pub/Linux/system/network/file-transfer/


  6.5.  Servizio news

  Usenet (noto anche come news)  un grande sistema a bacheca (BBS)
  organizzato gerarchicamente che ricopre ogni genere di argomento. Una
  rete di computer su internet (Usenet) scambia articoli attraverso il
  protocollo NNTP. Ne esistono molte implementazioni per Linux, sia per
  siti con un alto carico che per siti che ricevono solo pochi
  newsgroup.

    INN home page <http://www.isc.org/>

    Software Linux per le news
     <http://www.linuxlinks.com/Software/Internet/News/>


  6.6.  Domain Name System

  Il lavoro di un server DNS  quello di tradurre nomi (leggibili agli
  umani) in indirizzi IP.  Un server DNS non conosce tutti gli indirizzi
  IP al mondo; piuttosto  in grado di effettuare richieste ad altri
  server in caso di indirizzi sconosciuti.  Il server DNS allora
  restituir all'utente l'indirizzo IP desiderato oppure dir che il
  nome non pu essere trovato nelle tabelle.

  Il name serving su Unix (e sulla maggioranza dei sistemi in Internet)
   svolto da un programma chiamato named, che fa parte del pacchetto
  integrato del Internet Software Consortium.


    BIND <http://www.isc.org/>

    DNS How-to <http://sunsite.unc.edu/mdw/HOWTO/DNS-HOWTO.html>


  6.7.  DHCP, bootp

  DHCP e bootp sono dei protocolli che permettono ad una macchina client
  di ottenere informazioni sulla rete (come ad esempio il proprio
  indirizzo IP) da un server. Molte organizzazioni hanno iniziato ad
  usarli in quanto facilitano l'amministrazione specialmente in grandi
  reti o in reti che hanno un gran numero di utenti mobili.

  Documenti correlati:

    DHCP How-to <http://sunsite.unc.edu/mdw/HOWTO/mini/DHCP.html>


  6.8.  NIS

  Il Network Information Service (NIS) (o servizio di informazione di
  rete) fornisce un semplice servizio di consultazione di rete
  consistente in database e processi. Il suo scopo  quello di fornire
  informazioni, che devono essere conosciute da un capo all'altro della
  rete, a tutte le macchine sulla rete stessa. Esso permette, ad
  esempio, che una persona possa effettuare il login su una qualsiasi
  macchina sulla quale giri NIS senza il bisogno che l'amministratore di
  sistema debba aggiungere una voce per la password per ogni macchina,
  ma solo nel database principale.

  How-To correlato:

    NIS How-to <http://sunsite.unc.edu/mdw/HOWTO/NIS-HOWTO.html>


  6.9.  Autenticazione

  Ci sono molti modi di autenticare gli utenti in reti miste
  Linux/WindowsNT: http://www.mindware.com.au/ftp/smb-NT-
  verify.1.1.tar.gz Il PAM (pluggable authentication module) che  un
  flessibile sistema di autenticazione UNIX: PAM library
  <http://www.kernel.org/pub/linux/libs/pam/index.html>.  Infine,  LDAP
  in Linux <http://www.umich.edu/~dirsvcs/ldap/index.html>


  7.  Esecuzione remota di applicazioni

  Una delle pi afascinanti caratteristiche di Unix (ed una delle pi
  sconoscite ai nuovi utenti)  il grande supporto per l'esecuzione
  remota e distribuita di applicazioni.


  7.1.  Telnet

  Telnet  un programma che permette ad una persona di usare un computer
  remoto come fosse veramente in quel posto.  Telnet  uno degli
  strumenti pi potenti di UNIX, che permette una reale amministrazione
  da remoto.   anche un programma interessante dal punto di vista degli
  utenti, poich permette l'accesso remoto a tutti i loro file e
  programmi da qualsiasi parte di Internet.  Combinato con un X server,
  non c' nessuna differenza (trascurando il ritardo) tra essere in
  console o in qualsiasi altra parte del parte del pianeta.  I demoni e
  client telnet sono disponibili con la maggior parte delle
  distribuzioni di Linux.


  Sessioni shell remote sono possibili attraverso SSH
  (http://www.cs.hut.fi/ssh/) che quindi permette l'effettiva
  amministrazione remoto sicura.


    Software relativo a Telnet
     <http://sunsite.unc.edu/pub/Linux/system/network/telnet/>


  7.2.  Comandi remoti

  In Unix, ed in particolar modo in Linux, esistono comandi remoti che
  permettono l'interazione con altri computer dal prompt della shell.
  Esempi sono: rlogin, che permette di accedere ad una macchina remota
  in maniera simile al telnet, rcp, che permette trasferimenti remoti di
  file fra macchine, ecc. Infine, il comando di shell remoto rsh
  permette l'esecuzione di un comando su una macchina remota senza dover
  accedere a tale macchina.


  7.3.  X-Window

  Il sistema X-Window  stato sviluppato al MIT alla fine degli anni '80
  ed  rapidamente diventato il sistema standard per l'industria di
  gestione finestre nelle workstation grafiche UNIX. Questo software 
  liberamente disponibile, molto versatile ed adattabile ad una gran
  variet di piattaforme hardware.  Consiste di due distinte parti: il
  server X e uno o pi client X.  importante capire la distinzione fra
  il server e il client. Il server controlla direttamente il display ed
   responsabile di tutto l'input/output della tastiera, del mouse o del
  display. I client, d'altra parte, non accedono direttamente allo
  schermo, ma comunicano col server, che gestisce tutti gli I/O. Sono i
  client che svolgono il "reale" lavoro di calcolo, facendo girare
  applicazioni e quantaltro. I client comunicano col server causando
  l'apertura, da parte di quest'ultimo, di una o pi finestre per
  gestire l'input-output di ogni client.

  Brevemente, il sistema X Window permette ad un utente di connettersi
  ad una macchina remota, eseguire un processo (per esempio aprire un
  web browser) ed avere l'output mostrato sulla propria macchina.
  Poich il processo  attualmente eseguito sul server,  necessaria
  poca potenza di calcolo da parte della CPU del client.  quindi
  possibile avere computer il cui scopo principale  quello di agire
  come puri client X-Windows; essi sono conosciuti come terminali-X.

  Esiste per Linux una versione gratuita del sistema X Window che pu
  essere trovata in: Xfree <http://www.xfree86.org/> Essa  normalmente
  inclusa nella maggior parte delle distribuzioni Linux.

  How-to correlati:

    How-to per applicazioni X remote
     <http://sunsite.unc.edu/mdw/HOWTO/mini/Remote-X-Apps.html>


  7.4.  VNC

  VNC sta per Virtual Network Computing. Esso , essenzialmente, un
  sistema di visualizzazione remota che permette di vedere un ambiente
  di calcolo 'a scrivania' (desktop) non solo sulla macchina ove esso
  sta girando, ma ovunque su Internet e su una gran quantit di
  architetture differenti. Esistono per Linux, cos come per molte altre
  piattaforme, sia il client che il server.   possibile eseguire MS-
  Word in una macchina Windows NT o 95 e avere l'output mostrato su di
  una macchina Linux.  anche possibile l'opposto, cio eseguire
  un'applicazione su una macchina Linux e avere l'output mostrato su
  un'altra macchina Linux o Windows. Esiste un client Java che permette
  di far girare il display remoto all'interno di un web browser.  Infine
  c' una versione per Linux che usa le librerie grafiche SVGAlib,
  permettendo ai 386 con solo 4Mb di RAM di diventare dei terminali X
  pienamente funzionanti.



    Sito web di VNC <http://www.orl.co.uk/vnc>


  8.  Interconnessioni di rete

  Le funzionalit di rete di Linux sono ricche di possibilit: una
  stazione Linux pu essere configurata in modo da comportarsi come
  router, bridge ecc... Alcune delle possibili opzioni sono descritte di
  seguito.


  8.1.  Router

  Il kernel di Linux ha un supporto integrato per le funzioni di
  instradamento (routing). Una stazione Linux pu comportarsi come
  router sia IP che IPX ad una frazione del costo di un router
  commerciale. I recenti kernel includono speciali funzioni per macchine
  configurate per agire principalmente come router:

    Multicasting :  Permette alla macchina Linux di agire come router
     per pacchetti IP che hanno diversi indirizzi di destinazione. Ci 
     necessario in MBONE, una rete a larga banda sulla sommit di
     Internet che trasporta diffusioni audio e video.

    Regole di routing IP: Normalmente un router decide cosa fare di un
     pacchetto ricevuto basandosi unicamente sull'indirizzo di
     destinazione finale del pacchetto ma pu anche tener conto
     dell'indirizzo di provenienza e del dispositivo di rete dal quale
     gli  pervenuto il pacchetto.

  Ci sono dei progetti che mirano a costruire un router Linux
  perfettamente funzionante in un floppy disk: Linux router project
  <http://www.psychosis.com/linux-router/>


  8.2.  Bridge

  Il kernel di Linux ha un supporto integrato per agire come un bridge
  ethernet, il che significa che i differenti segmenti Ethernet ai quali
   connesso appariranno come un'unica Ethernet ai partecipanti. Usando
  l'algoritmo a misurazione di albero IEEE802.1, molti bridge possono
  lavorare insieme per formare delle reti ancora pi estese. Allo stesso
  modo i bridge Linux lavoreranno correttamente con altri bridge
  prodotti da terze parti. Programmi addizionali permettono il
  filtraggio basato su indirizzi IP, IPX o MAC.

  How-to correlati:

    Bridge+Firewall
     <http://sunsite.unc.edu/mdw/HOWTO/mini/Bridge+Firewall.html>

    Bridge <http://sunsite.unc.edu/mdw/HOWTO/mini/Bridge.html>


  8.3.  Mascheramento-IP

  Il mascheramento-IP  una funzione di rete ancora in sviluppo. Se un
  host Linux  connesso ad Internet col mascheramento-IP abilitato ed
  altri computer si connettono ad esso (sia dalla stessa LAN sia
  dall'esterno tramite modem), questi possono benissimo connettersi ad
  Internet a loro volta bench non abbiano indirizzi IP ufficialmente
  assegnati. Ci permette una riduzione dei costi (dal momento che molte
  persone possono accedere ad Internet usando una singola connessione
  modem) e contribuisce ad incrementare la sicurezza (in qualche modo la
  macchina si comporta come un firewall, dal momento che gli indirizzi
  non ufficiali assegnati non possono essere raggiunti dall'esterno
  della rete).

  Pagine e documenti relativi al mascheramento-IP:

    http://www.tor.shaw.wave.ca/~ambrose/

    http://www.indyramp.com/masq/links.pfhtml

    http://sunsite.unc.edu/mdw/HOWTO/mini/IP-Masquerade.html


  8.4.  Accounting IP

  Con questa opzione del kernel di Linux si pu tener traccia del
  traffico di rete IP, registrare i pacchetti e produrre delle
  statistiche. Possono essere definite una serie di regole in modo che,
  quando un pacchetto rispecchia un certo modello venga incrementato un
  contatore oppure tale pacchetto sia accettato, rifiutato ecc...


  8.5.  Aliasing IP

  Questa caratteristica del kernel d la possibilit di assegnare
  indirizzi di rete multipli per lo stesso driver di dispositivo di rete
  a basso livello (ad esempio due indirizzi IP per una stessa scheda
  Ethernet).  tipicamente usata per quei servizi che si comportano
  diversamente a seconda dell'indirizzo che vedono (ad esempio
  "multihosting" o "virtual domains" o "virtual hosting services").


  HOWTO Collegati:

    IP Aliasing How-to <http://sunsite.unc.edu/mdw/HOWTO/mini/IP-
     Alias.html>


  8.6.  Controllo del traffico

  Il controllore del traffico  un dispositivo di rete virtuale che
  rende possibile limitare l'entit del flusso di dati uscente verso
  un'altro dispositivo di rete. Questo  utile specialmente in quegli
  scenari (come per ISP), nei quali  desiderabile una politica di
  controllo circa quanta larghezza di banda  usata da ogni client. Una
  differente alternativa (valida solo per i servizi web) potrebbe essere
  l'utilizzo di certi moduli di Apache che pongono restrizioni sul
  numero di connessioni IP del client o sulla larghezza di banda usata.


  8.7.  Firewall

  Un firewall  un dispositivo che protegge una rete privata dalla parte
  pubblica (l'intera Internet).  disegnato per controllare il flusso
  dei pacchetti basandosi sulle informazioni di sorgente, destinazione,
  porta e tipo contenute in ogni pacchetto.


  Esistono per Linux diversi programmi per il firewall, oltre al
  supporto integrato nel kernel, come TIS e SOCKS, che sono molto
  completi e, combinati con altri strumenti, permettono il blocco e la
  reindirizzazione di ogni tipo di traffico e protocollo. Possono essere
  adottate diverse politiche attraveso file di configurazione o
  programmi ad interfaccia grafica.


    TIS home page <http://www.tis.com>

    SOCKS <http://www.socks.nec.com/socksfaq.html>

    Firewall How-to <http://sunsite.unc.edu/mdw/HOWTO/Firewall-
     HOWTO.html>


  8.8.  Re-invio su porta (port forwarding)

  Un numero sempre crescente di siti web stanno diventando interattivi
  grazie ai cgi-bins ed agli applet Java che accedono a database o ad
  altri sevizi. Dal momento che tale accesso potrebbe portare a dei
  problemi di sicurezza, la macchina che contiene il database non
  dovrebbe essere connessa direttamente a Internet.

  Il re-invio su porta pu fornire una soluzione quasi ideale a questo
  problema di accesso: sul firewall, i pacchetti IP che arrivano a uno
  specifico numero di porta, possono essere riscritti e re-inviati al
  server interno che fornisce il servizio attuale. I pacchetti di
  risposta provenienti dal server interno sono riscritti in modo da
  farli apparire come provenienti dal firewall.

  Informazioni sul re-invio su porta possono essere trovate : qui
  <http://www.ox.compsoc.net/~steve/portforwarding.html>


  8.9.  Bilanciamento del carico

  L'esigenza di avere un bilanciamento del carico sorge di solito per
  accessi a web od a database quando molti client emettono richieste
  contemporanee ad un server. Sarebbe auspicabile disporre di un certo
  numero di server identici ed indirizzare le successive richieste a
  quello di volta in volta meno carico. Ci pu essere ottenuto
  attraverso la tecnica di Network Address Translation (traduzione di
  indirizzi di rete) (NAT) della quale il mascheramento IP  un sotto-
  insieme. Gli amministratori di rete possono sostituire un singolo
  server che fornisce servizi web - o qualsiasi altra applicazione - con
  un insieme di server logici che condividono un indirizzo IP comune. Le
  connessioni entranti sono dirette verso un server particolare seguendo
  un algoritmo di bilanciamento del carico. Il server virtuale riscrive
  i pacchetti entranti e uscenti in modo che i client abbiano un accesso
  trasparente al server come se ne esistesse uno solo.

  Informazioni sull'IP-NAT di Linux pu essere trovata qui
  <http://www.csn.tu-chemnitz.de/~mha/linux-ip-nat/diplom/>


  8.10.  EQL

  EQL  integrato all'interno del kernel Linux.  Se esistono due
  connessioni seriali verso qualche altro computer (solitamente ci
  richiede la disponibilit di due modem e di due linee telefoniche) e
  su di essere sono usati SLIP e PPP (protocolli per l'invio di traffico
  Internet su linee telefoniche), usando questo driver  possibile far
  s che queste si comportino come un'unica connessione a velocit
  doppia.  Ovviamente, dev'essere supportato ad entrambi gli estremi
  della connessione.


    EQL How-to <http://www.abies.com/eql-howto.mhtml>


  8.11.  Proxy Server

  Il termine proxy significa "fare qualcosa per conto di qualcun'altro".
  In termini di networking, un server proxy pu agire per conto di molti
  client.  Un proxy HTTP  una macchina che riceve le richieste di
  pagine web da un'altra macchina (Macchina A).  Il proxy ottiene la
  pagina richiesta e restituisce il risultato alla Macchina A.  Il proxy
  pu avere una cache con le pagine richieste, cosicch se un'altra
  macchina chiede la stessa pagina le viene restituita la copia in
  cache.  Ci permette l'uso efficiente delle risorse di banda e tempi
  di risposta minori.  Come effetto collaterale, poich le macchine
  client non sono direttamente connesse al mondo esterno, questo  un
  modo per rendere sicura la rete interna.  Un proxy ben configurato pu
  essere tanto efficiente quanto un buon firewall.

  Esistono diversi proxy server per Linux.  Una soluzione molto popolare
   il modulo proxy di Apache.  Una implementazione pi completa e
  robusta di proxy HTTP  SQUID.


    Apache <http://www.apache.org>

    Squid <http://squid.nlanr.net/>



  8.12.  Composizione su richiesta

  Lo scopo della composizione su richiesta  quello di far sembrare, in
  modo trasparente, che gli utenti abbiano una connessione permanente ad
  un sito remoto. Di solito c' un demone che controlla il traffico di
  pacchetti: quando ne riceve uno interessante (l'interesse di un
  paccheto  definito da una serie di regole, priorit e permessi)
  stabilisce una connessione col termine remoto. Quando il canale 
  inoperoso per un certo periodo di tempo, fa cadere la connessione.



    Diald How-to <http://sunsite.unc.edu/mdw/HOWTO/mini/Diald.html>


  8.13.  Tunnelling, IP mobile e reti private virtuali

  Il kernel di Linux permette il tunnelling (incapsulamento) di
  protocolli. Ad esempio si pu incapsulare il protocollo IPX dentro il
  protocollo IP, permettendo la connessione di due reti IPX attraverso
  un collegamento solo IP. Si pu anche fare tunnelling IP-IP, cosa
  essenziale per il supporto degli indirizzi IP mobili e della
  diffusione multipla e per i radio amatori. (vedere
  http://sunsite.unc.edu/mdw/HOWTO/NET-3-HOWTO-6.html#ss6.13)

  L'IP mobile introduce dei miglioramenti nel protocollo che permettono
  l'instradamento trasparente di datagrammi IP verso nodi di Internet
  mobili. Ogni nodo mobile  sempre identificato attraverso il proprio
  indirizzo di base, indipendentemente dal punto di attacco corrente ad
  Internet; quando si trova lontano da tale base viene associato al nodo
  anche un indirizzo di 'prossimit', che fornisce l'informazione sul
  punto di attacco ad Internet corrente. Il protocollo si occupa di
  registrare l'indirizzo di prossimit con un home agent. L'home agent
  invia i datagrammi destinati ad un nodo mobile verso l'indirizzo di
  prossimit attraverso l'uso di un tunnel, alla fine del quale, ogni
  datagramma  consegnato al nodo mobile.

  Il Protocollo di Tunneling Punto-Punto (PPTP)  una tecnologia di rete
  che permette l'uso di Internet come una rete privata virtale sicura
  (VPN). Il PPTP  integrato nel Servizio di Accesso Remoto (RAS) che fa
  parte di Windows NT Server. Col PPTP gli utenti possono connettersi
  con un ISP locale o direttamente ad Internet ed accedere alla propria
  rete come se si trovassero sulla propria scrivania. PPTP  un
  protocollo chiuso e la sua sicurezza  stata recentemente compromessa.
  Si raccomanda decisamente di utilizzare differenti alternative basate
  su Linux, dal momento che queste si basano su standard aperti che sono
  stati attentamente esaminati e testati.


    Una implementazione client del PPTP per Linux  disponibile qui
     <http://www.pdos.lcs.mit.edu/~cananian/Projects/PPTP/>


  Mobile IP:

    http://www-uk.hpl.hp.com/people/jt/mip.html

    http://anchor.cs.binghamton.edu/~mobileip/


  Documenti correlati con le reti private virtuali:

    http://sunsite.unc.edu/mdw/HOWTO/mini/VPN.html

    http://sites.inka.de/sites/bigred/devel/cipe.html



  9.  Gestione della Rete (Network Management)


  9.1.  Applicazioni di Gestione della Rete

  Esiste un numero impressionate di strumenti focalizzati nella gestione
  della rete e l'amministrazione remota.  Alcuni progetti interessanti
  per l'amministrazione remota sono linuxconf e webmin:

    Webmin <http://www.webmin.com/webmin/>

    Linuxconf <http://solucor.solucorp.qc.ca/linuxconf/>

  Altri strumenti comprendono i tool per l'analisi del traffici di rete,
  della sicurezza della rete, di monitoraggio, di configurazione ecc.
  Un archivio con molti di questi strumenti pu essere trovato a Sunsite
  <http://www.sunsite.unc.edu/pub/Linux/system/network/>


  9.2.  SNMP

  Il Simple Network Management Protocol  un protocollo per la gestione
  dei servizi di rete Internet.  Permette il monitoraggio e la
  configurazione remota di router, brigde, schede di rete, switch, ecc.
  Esistono moltissime librerie, client, demoni e programmi di
  monitoraggio basati su SNMP per Linux.  Un bella pagina che tratta di
  SNMP e di software per Linux pu essere trovata a:
  http://linas.org/linux/NMS.html


  10.  Networking avventuroso con Linux

  In certe situazioni,  necessario per l'infrastruttura di rete
  disporre di meccanismi idonei a garantire la disponibilit del
  servizio per quasi il 100% del tempo. Alcune delle tecniche per
  ottenere ci sono descritte nelle seguenti sezioni. La maggior parte
  del materiale seguente pu essere trovato sull'eccellente sito web
  Linas: http://linas.org/linux/index.html e su Linux High-Availability
  how-to <http://sunsite.unc.edu/pub/Linux/ALPHA/linux-ha/High-
  Availability-HOWTO.html>


  10.1.  Alta disponibilit

  La ridondanza  usata per prevenire il sistema globale dai singoli
  punti di guasto. Un server con solo una scheda di rete ed un singolo
  disco SCSI ha due singoli punti di guasto. L'obiettivo  mascherare
  agli utenti le rotture non previste, in modo che questi possano
  continuare a lavorare velocemente. Il software per l'alta
  disponibilit  composto da una serie di script e di strumenti che
  controllano e scoprono i guasti, muovendo i passi appropriati affinch
  siano restaurate le normali operazioni notificando il tutto
  all'amministratore di sistema.

  10.2.  RAID

  RAID, acronimo di Redundant Array of Inexpensive Disks,  un metodo
  che permette l'immagazzinamento delle informazioni su pi dischi,
  usando tecniche come lo striping dei dischi (RAID Livello 0) e il
  mirroring di dischi (RAID Livello 1) per ottenere ridondanza, bassa
  latenza e/o banda pi elevata in lettura e/o scrittura, e la
  possibilit di recupero delle informazioni dopo la rottura di un
  disco.  Sono stati definiti 6 diversi tipi di configurazioni RAID.  Ci
  sono tre tipi di soluzioni RAID a disposizione degli utenti di Linux:
  RAID software, box DASD esterni e controller di dischi RAID.


    RAID Software: Il RAID puramente software implementa i diversi
     livelli RAID nel codice di gestione dei dischi (dispositivi a
     blocchi) del kernel.

    Soluzioni DASD Esterne: DASD (Direct Access Storage Device) sono
     dei box separati dotati di alimentazione propria che forniscono un
     cabinet/chassis per sistemare i dischi fissi ed appaiono a Linux
     come un altro dispositivo SCSI.  Sotto molti aspetti, questi
     offrono la soluzione RAID pi robusta.

    Controller di Dischi RAID: I controller per i dischi sono schede da
     inserire nel bus ISA/EISA/PCI.  Proprio come i normali controller,
     sono attaccatti con un cavo ai dischi fissi.  Diversamente dai
     normali controller per i dischi, i controller RAID implementano
     RAID nella scheda stessa, effettuanado tutte le operazioni
     necessario per fornire i diversi livelli RAID.

  HOWTO sull'argomento:

    http://sunsite.unc.edu/mdw/HOWTO/mini/DPT-Hardware-RAID.html

    http://sunsite.unc.edu/mdw/HOWTO/Root-RAID-HOWTO.html

    http://sunsite.unc.edu/mdw/HOWTO/mini/Software-RAID.html

  RAID a linas.org:

    http://linas.org/linux/raid.html


  10.3.  Networking con ridondanza

  Sostituzione di indirizzi IP (IPAT). Quando un adattatore di rete si
  guasta, il suo indirizzo IP dovrebbe essere rilevato da una scheda di
  rete funzionante, nello stesso o in un altro nodo. Sostituzione di
  indirizzo MAC: quando avviene una sostituzione di indirizzo IP,
  bisognerebbe assicurarsi che tutti i nodi della rete aggiornino le
  proprie cache ARP (che rappresentano la mappatura fra gli indirizzi IP
  e MAC).

  Vedere l'How-To sull'alta disponibilit per maggiori dettagli:
  http://sunsite.unc.edu/pub/Linux/ALPHA/linux-ha/High-Availability-
  HOWTO.html


  11.  Fonti di Informazione

  Dove trovare ulteriori informazioni:

    Linux: http://www.linux.org

    Linux Documentation Project: http://sunsite.unc.edu/mdw/linux.html
     (si veda la Linux Network Administrator Guide)

    Freshmeat: Le ultime release del software per Linux.
     http://www.freshmeat.net

    Linux link: http://www.linuxlinks.com/Networking/

    Documentazione in italiano su Linux:
     http://www.pluto.linux.it/ildp/


  12.  Riconoscimenti e dislaimer

  Questo documento  basato sul lavoro di molte altre persone che hanno
  reso possibili che Linux diventi quello che  ora: uno dei migliori
  sistemi operativi di rete.  Tutti i meriti sono loro. Per redigere
  questo documento in maniera semplice ma accurata e per renderlo
  completo ma non eccessivamente lungo,  stato messo un grande sforzo.
  Tuttavia l'autore non si assume alcuna responsabilit in ogni
  circostanza.  State usando le informazioni qui contenute a vostro
  rischio. Sentitevi liberi di inviarmi per e-mail suggerimenti,
  correzioni o commenti su questo documento in modo che io possa
  mogliorarlo. Altri argomenti che probabilmente saranno trattati nelle
  future revisioni potrebbero essere radius, strumenti per il mirroring
  web e ftp come wget, analizzatori di traffico, CORBA... e molti altri
  che potrebbero essere suggeriti e adatti. Potete raggiungemi qui

  Per finire vorrei ringraziare FinnBjrn av Teilgum for his careful
  "beta-testing" of this how-to.

  Daniel Lpez Ridruejo 9th May 1998

















