Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Table of Contents
Linux HOWTO...................................................................................................................................................1
Sommario.................................................................................................................................................1
The Linux Networking HOWTO .....................................................................................................1
NFS HOWTO....................................................................................................................................2
The Linux NIS(YP)/NYS/NIS+ HOWTO........................................................................................3
The Linux PPP HOWTO...................................................................................................................4
DNS HOWTO...................................................................................................................................5
Linux IPCHAINS HOWTO..............................................................................................................6
Linux IPX−HOWTO.........................................................................................................................8
The Linux Intranet Server HOWTO.................................................................................................9
ISP−Hookup−HOWTO.....................................................................................................................9
Linux HOWTO.................................................................................................................................................11
Sommario...............................................................................................................................................11
The Linux Networking HOWTO ...................................................................................................11
NFS HOWTO..................................................................................................................................12
The Linux NIS(YP)/NYS/NIS+ HOWTO......................................................................................13
The Linux PPP HOWTO.................................................................................................................14
DNS HOWTO.................................................................................................................................16
Linux IPCHAINS HOWTO............................................................................................................17
Linux IPX−HOWTO.......................................................................................................................18
The Linux Intranet Server HOWTO...............................................................................................20
ISP−Hookup−HOWTO...................................................................................................................20
Linux HOWTO − Networking...............................................................................................................21
Introduzione......................................................................................................................................................22
Linux HOWTO − Networking...............................................................................................................22
Linux..................................................................................................................................................................23
Cos'è Linux?..........................................................................................................................................23
Che cosa rende Linux diverso?..............................................................................................................23
Linux HOWTO − Networking...............................................................................................................24
Protocolli di rete................................................................................................................................................25
TCP/IP...................................................................................................................................................25
TCP/IP versione 6..................................................................................................................................25
IPX/SPX.................................................................................................................................................25
Suite di protocolli AppleTalk................................................................................................................26
WAN Networking: X.25, Frame−relay, ecc..........................................................................................26
ISDN......................................................................................................................................................27
PPP, SLIP, PLIP....................................................................................................................................27
Radioamatori..........................................................................................................................................27
ATM.......................................................................................................................................................27
Linux HOWTO − Networking...............................................................................................................28
i
Linux HOWTO − Networking − Sommario
Table of Contents
Condivisione di file e stampanti.......................................................................................................................30
Ambiente Apple.....................................................................................................................................30
Ambiente Windows...............................................................................................................................30
Ambiente Novell....................................................................................................................................30
Ambiente UNIX.....................................................................................................................................31
Linux HOWTO − Networking...............................................................................................................31
Internet/intranet................................................................................................................................................32
E−Mail...................................................................................................................................................32
Server E−Mail.................................................................................................................................32
Accesso remoto alla posta...............................................................................................................32
Mail User Agent..............................................................................................................................33
Software per mailing list.................................................................................................................33
Fetchmail.........................................................................................................................................33
Server Web.............................................................................................................................................33
Browser Web.........................................................................................................................................34
Server e client FTP.................................................................................................................................34
Servizio news.........................................................................................................................................34
Domain Name System...........................................................................................................................35
DHCP, bootp..........................................................................................................................................35
NIS.........................................................................................................................................................35
Autenticazione.......................................................................................................................................36
Linux HOWTO − Networking...............................................................................................................36
Interconnessioni di rete....................................................................................................................................39
Router.....................................................................................................................................................39
Bridge.....................................................................................................................................................39
Mascheramento−IP................................................................................................................................39
Accounting IP........................................................................................................................................40
Aliasing IP.............................................................................................................................................40
Controllo del traffico..............................................................................................................................40
Firewall..................................................................................................................................................40
Re−invio su porta (port forwarding)......................................................................................................41
Bilanciamento del carico........................................................................................................................41
EQL........................................................................................................................................................41
Proxy Server...........................................................................................................................................42
Composizione su richiesta.....................................................................................................................42
Tunnelling, IP mobile e reti private virtuali...........................................................................................42
Linux HOWTO − Networking...............................................................................................................43
ii
Linux HOWTO − Networking − Sommario
Table of Contents
Gestione della rete (Network Management)...................................................................................................44
Applicazioni di gestione della rete.........................................................................................................44
SNMP.....................................................................................................................................................44
Linux HOWTO − Networking...............................................................................................................44
Fonti di informazione.......................................................................................................................................47
Linux HOWTO − Networking...............................................................................................................47
Cronologia.........................................................................................................................................................48
Linux HOWTO − Networking...............................................................................................................48
Abstract:..........................................................................................................................................49
Linux HOWTO − Networking...............................................................................................................49
Ringraziamenti e disclaimer............................................................................................................................49
Introduzione......................................................................................................................................................50
Note legali..............................................................................................................................................50
Disclaimer..............................................................................................................................................50
Feedback................................................................................................................................................50
Altri argomenti.......................................................................................................................................50
Dediche..................................................................................................................................................51
Linux HOWTO − Networking...............................................................................................................51
LEGGIMI .........................................................................................................................................................52
Linux HOWTO − Networking...............................................................................................................52
iii
Linux HOWTO − Networking − Sommario
Table of Contents
Sicurezza e NFS................................................................................................................................................62
Sicurezza del client................................................................................................................................62
Sicurezza del server: nfsd......................................................................................................................63
Sicurezza del server: il portmapper........................................................................................................63
NFS e firewall .......................................................................................................................................65
Riassunto...............................................................................................................................................65
Linux HOWTO − Networking...............................................................................................................66
FAQ....................................................................................................................................................................70
Linux HOWTO − Networking...............................................................................................................73
Esportare filesystem..........................................................................................................................................74
IRIX, HP−UX, Digital−UNIX, Ultrix, SunOS 4 (Solaris 1), AIX........................................................74
Solaris 2.................................................................................................................................................74
Linux HOWTO − Networking...............................................................................................................75
PC−NFS.............................................................................................................................................................84
iv
Linux HOWTO − Networking − Sommario
Table of Contents
Introduzione......................................................................................................................................................85
Nuove versioni di questo documento.....................................................................................................85
Liberatoria..............................................................................................................................................85
Commenti e correzioni...........................................................................................................................85
Ringraziamenti.......................................................................................................................................86
Linux HOWTO − Networking...............................................................................................................86
Come funziona...................................................................................................................................................92
Come funziona NIS................................................................................................................................92
Come funziona NIS+.............................................................................................................................92
Linux HOWTO − Networking...............................................................................................................93
Il Portmapper RPC..........................................................................................................................................94
Linux HOWTO − Networking...............................................................................................................94
v
Linux HOWTO − Networking − Sommario
Table of Contents
Impostare un server NIS ...............................................................................................................................106
Il programma server ypserv.................................................................................................................106
Il programma server yps......................................................................................................................108
Il programma rpc.ypxfrd......................................................................................................................108
Il programma rpc.yppasswdd...............................................................................................................109
Linux HOWTO − Networking.............................................................................................................109
Introduzione....................................................................................................................................................115
Client e server......................................................................................................................................115
Differenze tra le distribuzioni di Linux...............................................................................................116
Programmi di configurazione del PPP specifici delle distribuzioni....................................................117
Linux HOWTO − Networking.............................................................................................................117
Numeri IP........................................................................................................................................................118
Linux HOWTO − Networking.............................................................................................................119
vi
Linux HOWTO − Networking − Sommario
Table of Contents
Panoramica di quello che va fatto per usare come client il PPP
Verificare i file del PPP della propria distribuzione e impostare le opzioni del PPP..........................130
Se il proprio server PPP usa PAP (Password Authentication Protocol)..............................................130
Connettersi a mano a un server PPP....................................................................................................131
Automatizzare la propria connessione PPP.........................................................................................131
Chiudere la connessione......................................................................................................................131
Se ci sono problemi..............................................................................................................................131
Dopo che la connessione è stabilita.....................................................................................................132
Problemi con i servizi IP standard su una connessione PPP a numero IP dinamico...........................132
Linux HOWTO − Networking.............................................................................................................132
vii
Linux HOWTO − Networking − Sommario
Table of Contents
Se il proprio server usa PAP (Password Authentication Protocol)
Il file secrets di CHAP.........................................................................................................................161
Gestione di connessioni multiple autentificate con PAP.....................................................................162
Linux HOWTO − Networking.............................................................................................................162
viii
Linux HOWTO − Networking − Sommario
Table of Contents
Problemi comuni una volta che il collegamento funziona
Linux HOWTO − Networking.............................................................................................................185
Usare /etc/ppp/ip−down..................................................................................................................................196
Linux HOWTO − Networking.............................................................................................................196
Preambolo........................................................................................................................................................205
Note legali............................................................................................................................................205
Crediti e richieste di aiuto....................................................................................................................205
Dediche................................................................................................................................................205
Linux HOWTO − Networking.............................................................................................................206
ix
Linux HOWTO − Networking − Sommario
Table of Contents
Introduzione ...................................................................................................................................................207
Linux HOWTO − Networking.............................................................................................................208
Un semplice dominio......................................................................................................................................215
Ma prima un po' di teoria.....................................................................................................................215
Il nostro dominio..................................................................................................................................218
La zona inversa (reverse zone)............................................................................................................224
Qualche parola di avvertimento...........................................................................................................226
Perché non funziona il lookup inverso (reverse lookup).....................................................................226
La zona inversa non è delegata......................................................................................................226
Vi hanno dato una sottorete classless............................................................................................227
Linux HOWTO − Networking.............................................................................................................228
Manutenzione .................................................................................................................................................235
Linux HOWTO − Networking.............................................................................................................236
Introduzione ...................................................................................................................................................245
Cos'è?...................................................................................................................................................245
Perché?................................................................................................................................................245
Come?..................................................................................................................................................245
Dove? ..................................................................................................................................................246
Linux HOWTO − Networking.............................................................................................................246
x
Linux HOWTO − Networking − Sommario
Table of Contents
Fondamenti di packet filtering......................................................................................................................247
Cos'è?...................................................................................................................................................247
Perché?.................................................................................................................................................247
Come? .................................................................................................................................................248
Un kernel con il filtraggio dei pacchetti........................................................................................248
ipchains..........................................................................................................................................248
Rendere permanenti le regole.......................................................................................................249
Linux HOWTO − Networking.............................................................................................................250
Miscellanea......................................................................................................................................................277
Come organizzare le proprie regole firewall ......................................................................................277
Cosa non filtrare...................................................................................................................................277
Pacchetti ICMP.............................................................................................................................277
Connessioni TCP al DNS (nameserver)........................................................................................277
Incubi da FTP ...............................................................................................................................278
Filtrare i Ping della Morte....................................................................................................................278
Filtrare Teardrop e Bonk......................................................................................................................278
Filtrare i Fragment Bomb....................................................................................................................278
Cambiare le regole firewall..................................................................................................................279
Come proteggersi dall'IP spoofing?....................................................................................................279
Progetti avanzati...................................................................................................................................280
SPF: Stateful Packet Filtering.......................................................................................................280
xi
Linux HOWTO − Networking − Sommario
Table of Contents
Miscellanea
L'ftp−data hack di Michael Hasenstein.........................................................................................281
Estensioni future..................................................................................................................................281
Linux HOWTO − Networking.............................................................................................................281
Problemi comuni.............................................................................................................................................282
ipchains −L si pianta!...........................................................................................................................282
Masquerading/Forwarding non funziona!............................................................................................282
−j REDIR non funziona!......................................................................................................................282
Non funzionano i caratteri jolly nelle interfacce!................................................................................282
TOS non funziona!...............................................................................................................................282
Non funzionano ipautofw e ipportfw!..................................................................................................283
xosview si è rotto!................................................................................................................................283
Segmentation Fault con `−j REDIRECT'!...........................................................................................283
Non riesco ad impostare i timeout del masquerading!........................................................................283
Voglio dei firewall IPX!......................................................................................................................283
Linux HOWTO − Networking.............................................................................................................284
Appendice: ringraziamenti............................................................................................................................297
xii
Linux HOWTO − Networking − Sommario
Table of Contents
Introduzione a questo documento.................................................................................................................298
Modifiche dalla versione precedente...................................................................................................298
Introduzione.........................................................................................................................................298
Linux HOWTO − Networking.............................................................................................................299
Avvertenza.......................................................................................................................................................300
Linux HOWTO − Networking.............................................................................................................300
Documentazione..............................................................................................................................................301
Nuove versioni di questo documento...................................................................................................301
Risorse internazionali....................................................................................................................301
Risorse italiane..............................................................................................................................301
Feedback..............................................................................................................................................301
Mailing list...........................................................................................................................................302
Linux HOWTO − Networking.............................................................................................................302
xiii
Linux HOWTO − Networking − Sommario
Table of Contents
Configurazione della macchina Linux come server NCP
Compilazione di lwared.................................................................................................................328
Configurazione e utilizzo di lwared..............................................................................................330
Linux HOWTO − Networking.............................................................................................................332
Copyright.........................................................................................................................................................350
Linux HOWTO − Networking.............................................................................................................351
Abstract:........................................................................................................................................352
Linux HOWTO − Networking.............................................................................................................352
xiv
Linux HOWTO − Networking − Sommario
Table of Contents
Varie e ringraziamenti....................................................................................................................................353
Introduzione ...................................................................................................................................................354
Cosa serve............................................................................................................................................354
Nuove versioni di questo documento...................................................................................................355
Critiche e commenti.............................................................................................................................355
Linux HOWTO − Networking.............................................................................................................355
Impostazione dell'intranet..............................................................................................................................368
NCPFS ................................................................................................................................................368
Installazione...................................................................................................................................368
Montare NCPFS............................................................................................................................369
SMBFS................................................................................................................................................370
Installazione...................................................................................................................................370
Montare SMBFS............................................................................................................................370
NFS .....................................................................................................................................................371
Linux HOWTO − Networking.............................................................................................................371
xv
Linux HOWTO − Networking − Sommario
Table of Contents
Accesso al sito Web ........................................................................................................................................372
Accesso ai filesystem montati..............................................................................................................372
Collegamento a Internet.......................................................................................................................372
Altri utilizzi..........................................................................................................................................373
Linux HOWTO − Networking.............................................................................................................375
Introduzione....................................................................................................................................................379
Copyright.............................................................................................................................................379
Disconoscimento..................................................................................................................................379
Traduzioni............................................................................................................................................380
Nuove versioni di questo documento...................................................................................................380
Commenti.............................................................................................................................................380
Linux HOWTO − Networking.............................................................................................................381
News.................................................................................................................................................................390
Come faccio a configurare un news−reader online?............................................................................390
Come faccio a configurare un news−reader offline?...........................................................................390
Come faccio a configurare C News?...................................................................................................390
Come faccio a configurare Leafnode?.................................................................................................393
Linux HOWTO − Networking.............................................................................................................395
Parole finali......................................................................................................................................................399
Altre cose che dovrei sapere?..............................................................................................................399
Linux HOWTO − Networking.............................................................................................................399
xvi
Linux HOWTO − Networking − Sommario
Table of Contents
Informazioni specifiche su alcuni Internet Provider...................................................................................400
Dove posso imparare di più?................................................................................................................400
Ringraziamenti.....................................................................................................................................401
Linux HOWTO − Networking.............................................................................................................402
xvii
Linux HOWTO
Networking
Autori vari
Tutti i documenti sono protetti da Copyright dei rispettivi autori. Vedere le indicazioni di ciascun HOWTO
per maggiori informazioni. Ove non diversamente specificato si applica la GNU General Public Licence.
Sommario
The Linux Networking HOWTO
• Introduzione
• Linux
♦ Cos'è Linux?
♦ Che cosa rende Linux diverso?
• Protocolli di rete
♦ TCP/IP
♦ TCP/IP versione 6
♦ IPX/SPX
♦ Suite di protocolli AppleTalk
♦ WAN Networking: X.25, Frame−relay, ecc...
♦ ISDN
♦ PPP, SLIP, PLIP
♦ Radioamatori
♦ ATM
• Hardware di rete supportato
• Condivisione di file e stampanti
♦ Ambiente Apple
♦ Ambiente Windows
♦ Ambiente Novell
♦ Ambiente UNIX
• Internet/intranet
♦ E−Mail
◊ Server E−Mail
◊ Accesso remoto alla posta
◊ Mail User Agent
◊ Software per mailing list
◊ Fetchmail
♦ Server Web
♦ Browser Web
♦ Server e client FTP
♦ Servizio news
♦ Domain Name System
♦ DHCP, bootp
♦ NIS
♦ Autenticazione
• Esecuzione remota di applicazioni
♦ Telnet
♦ Comandi remoti
♦ X−Window
♦ VNC
• Interconnessioni di rete
♦ Router
♦ Bridge
Linux HOWTO 1
Linux HOWTO − Networking − Sommario
♦ Mascheramento−IP
♦ Accounting IP
♦ Aliasing IP
♦ Controllo del traffico
♦ Firewall
♦ Re−invio su porta (port forwarding)
♦ Bilanciamento del carico
♦ EQL
♦ Proxy Server
♦ Composizione su richiesta
♦ Tunnelling, IP mobile e reti private virtuali
• Gestione della rete (Network Management)
♦ Applicazioni di gestione della rete
♦ SNMP
• Reti aziendali con Linux
♦ Alta disponibilità
♦ RAID
♦ Networking con ridondanza
• Fonti di informazione
• Cronologia
• Ringraziamenti e disclaimer
NFS HOWTO
• Introduzione
♦ Note legali
♦ Disclaimer
♦ Feedback
♦ Altri argomenti
♦ Dediche
• LEGGIMI
• Configurare un server NFS
♦ Prerequisiti
♦ Il primo passo
♦ Il portmapper
♦ Mountd e nfsd
• Configurazione di un client NFS
♦ Opzioni del comando mount
♦ Ottimizzare NFS
• NFS su linee lente
• Sicurezza e NFS
♦ Sicurezza del client
♦ Sicurezza del server: nfsd
♦ Sicurezza del server: il portmapper
♦ NFS e firewall
♦ Riassunto
• Elenco di verifica di mount
• FAQ
• Esportare filesystem
♦ IRIX, HP−UX, Digital−UNIX, Ultrix, SunOS 4 (Solaris 1), AIX
♦ Solaris 2
• NFS in Linux 2.2
♦ Il client
♦ Il server
• Server NFS su un floppy
♦ Introduzione
♦ Aspettative
♦ Requisiti
♦ Installazione del server
◊ Boot del server NFS temporaneo
NFS HOWTO 2
Linux HOWTO − Networking − Sommario
◊ Montaggio del floppy e del cdrom
◊ Installazione della rete sul server temporaneo
◊ Installazione della condivisione NFS
♦ Esecuzione del server NFS
◊ Completato, iniziate l'installazione
♦ Risoluzione dei problemi
◊ Non ancora disponibile
♦ Operazioni da effettuare
◊ Disco DOS
◊ Comandi rpc
• PC−NFS
DNS HOWTO
• Preambolo
♦ Note legali
♦ Crediti e richieste di aiuto
♦ Dediche
• Introduzione
DNS HOWTO 5
Linux HOWTO − Networking − Sommario
• Un name server caching only
♦ Far partire named
♦ Migliorarlo ancora
♦ Congratulazioni
• Un semplice dominio
♦ Ma prima un po' di teoria
♦ Il nostro dominio
♦ La zona inversa (reverse zone)
♦ Qualche parola di avvertimento
♦ Perché non funziona il lookup inverso (reverse lookup)
◊ La zona inversa non è delegata
◊ Vi hanno dato una sottorete classless
• Esempio di un vero dominio
♦ /etc/named.conf (o /var/named/named.conf)
♦ /var/named/root.hints
♦ /var/named/zone/127.0.0
♦ /var/named/zone/land−5.com
♦ /var/named/zone/206.6.177
• Manutenzione
• Convertire dalla versione 4 alla versione 8
• Domande e risposte
• Come diventare un grande amministratore DNS
Linux IPX−HOWTO
• Introduzione a questo documento
♦ Modifiche dalla versione precedente
♦ Introduzione
• Avvertenza
• Documentazione
♦ Nuove versioni di questo documento
◊ Risorse internazionali
◊ Risorse italiane
♦ Feedback
♦ Mailing list
• Alcuni dei termini utilizzati in questo documento
• Breve discussione sulla topologia di rete IPX
• I file correlati a IPX nel filesystem /proc
• I tool IPX di Greg Page
♦ I tool IPX in maggior dettaglio
• Configurazione della macchina Linux come router IPX
♦ È necessario configurare una rete interna?
• Configurazione della propria macchina Linux come client NCP
♦ Come ottenere ncpfs
♦ Compilazione di ncpfs per il kernel 1.2.13
♦ Come compilare ncpfs per i kernel 1.3.71++/2.0.*
♦ Configurazione e utilizzo di ncpfs
• Configurazione della macchina Linux come server NCP
♦ Il pacchetto mars_nwe
◊ Capacità di mars_nwe
◊ Come ottenere mars_nwe
◊ Come compilare il pacchetto mars_nwe
♦ Il pacchetto lwared
◊ Capacità di lwared
◊ Come ottenere lwared
◊ Compilazione di lwared
◊ Configurazione e utilizzo di lwared
• Configurazione della macchina Linux come client di stampa Novell
• Configurazione di una macchina Linux come print server Novell
♦ Prerequisiti
♦ Configurazione
• Panoramica sui comandi utente e di amministrazione di ncpfs
♦ Comandi utente
♦ Strumenti per la gestione
• Configurazione di PPP per reti con supporto IPX
♦ Configurazione di un server IPX/PPP
◊ Primi passi
◊ Progettazione
◊ Configurazione di pppd per il server
◊ Verifica della configurazione del server
♦ Configurazione di un client IPX/PPP
◊ Configurazione di pppd per il client
◊ Verifica del client IPX/PPP
• Il tunnel IPX su IP
♦ Come ottenere ipxtunnel
♦ Compilare ipxtunnel
Linux IPX−HOWTO 8
Linux HOWTO − Networking − Sommario
♦ Configurazione di ipxtunnel
♦ Verifica e utilizzo di ipxtunnel
• Supporto commerciale IPX per Linux
♦ Network Desktop di Caldera
• Alcune domande frequenti (FAQ)
• Copyright
• Varie e ringraziamenti
ISP−Hookup−HOWTO
• Introduzione
♦ Copyright
Cos'è OpenPress
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
Networking
Risorse
Autori vari
Feedback
Sommario
The Linux Networking HOWTO
• Introduzione
• Linux
♦ Cos'è Linux?
♦ Che cosa rende Linux diverso?
• Protocolli di rete
♦ TCP/IP
♦ TCP/IP versione 6
♦ IPX/SPX
♦ Suite di protocolli AppleTalk
♦ WAN Networking: X.25, Frame−relay, ecc...
♦ ISDN
♦ PPP, SLIP, PLIP
♦ Radioamatori
♦ ATM
• Hardware di rete supportato
• Condivisione di file e stampanti
♦ Ambiente Apple
♦ Ambiente Windows
♦ Ambiente Novell
♦ Ambiente UNIX
• Internet/intranet
♦ E−Mail
◊ Server E−Mail
◊ Accesso remoto alla posta
◊ Mail User Agent
◊ Software per mailing list
◊ Fetchmail
♦ Server Web
♦ Browser Web
♦ Server e client FTP
♦ Servizio news
♦ Domain Name System
♦ DHCP, bootp
♦ NIS
♦ Autenticazione
• Esecuzione remota di applicazioni
♦ Telnet
♦ Comandi remoti
♦ X−Window
Linux HOWTO 11
Linux HOWTO − Networking − Sommario
♦ VNC
• Interconnessioni di rete
♦ Router
♦ Bridge
♦ Mascheramento−IP
♦ Accounting IP
♦ Aliasing IP
♦ Controllo del traffico
♦ Firewall
♦ Re−invio su porta (port forwarding)
♦ Bilanciamento del carico
♦ EQL
♦ Proxy Server
♦ Composizione su richiesta
♦ Tunnelling, IP mobile e reti private virtuali
• Gestione della rete (Network Management)
♦ Applicazioni di gestione della rete
♦ SNMP
• Reti aziendali con Linux
♦ Alta disponibilità
♦ RAID
♦ Networking con ridondanza
• Fonti di informazione
• Cronologia
• Ringraziamenti e disclaimer
NFS HOWTO
• Introduzione
♦ Note legali
♦ Disclaimer
♦ Feedback
♦ Altri argomenti
♦ Dediche
• LEGGIMI
• Configurare un server NFS
♦ Prerequisiti
♦ Il primo passo
♦ Il portmapper
♦ Mountd e nfsd
• Configurazione di un client NFS
♦ Opzioni del comando mount
♦ Ottimizzare NFS
• NFS su linee lente
• Sicurezza e NFS
♦ Sicurezza del client
♦ Sicurezza del server: nfsd
♦ Sicurezza del server: il portmapper
♦ NFS e firewall
♦ Riassunto
• Elenco di verifica di mount
• FAQ
• Esportare filesystem
♦ IRIX, HP−UX, Digital−UNIX, Ultrix, SunOS 4
(Solaris 1), AIX
♦ Solaris 2
• NFS in Linux 2.2
♦ Il client
♦ Il server
• Server NFS su un floppy
NFS HOWTO 12
Linux HOWTO − Networking − Sommario
♦ Introduzione
♦ Aspettative
♦ Requisiti
♦ Installazione del server
◊ Boot del server NFS temporaneo
◊ Montaggio del floppy e del cdrom
◊ Installazione della rete sul server
temporaneo
◊ Installazione della condivisione NFS
♦ Esecuzione del server NFS
◊ Completato, iniziate l'installazione
♦ Risoluzione dei problemi
◊ Non ancora disponibile
♦ Operazioni da effettuare
◊ Disco DOS
◊ Comandi rpc
• PC−NFS
♦ Il file /etc/host.conf
• L'uso di PPP e i privilegi di root
• Impostare i file di connessione PPP
♦ Il file di opzioni tipo options.tpl
♦ Quali opzioni dovrei usare? (No PAP/CHAP)
• Se il proprio server usa PAP (Password Authentication
Protocol)
♦ Usare MSCHAP
♦ Il file secrets di PAP/CHAP
♦ Il file secrets di PAP
♦ Il file secrets di CHAP
♦ Gestione di connessioni multiple autentificate con
PAP
• Instaurare manualmente una connessione PPP
• Automatizzare la propria connessione e creazione degli
script
♦ Script di connessione per l'autentificazione con
Nome utente/Password
♦ Lo script ppp−on
♦ Modificare gli script forniti per l'avvio del PPP
◊ Lo script ppp−on
◊ Lo script ppp−on−dialer
♦ Il significato di uno script di conversazione
(chat)...
◊ L'avvio di PPP dal lato server
♦ Uno script di conversazione per le connessioni
autentificate con PAP/CHAP
♦ Le opzioni "debug" e "file file_opzioni" di
pppd
• Verificare i propri script di connessione
• Chiudere la connessione PPP
• Risoluzione dei problemi
♦ Ho compilato il supporto per il PPP nel kernel,
ma...
◊ Si è fatto il boot con il kernel giusto?
◊ Si è compilato il supporto per il ppp
come modulo?
◊ Si sta usando la versione corretta di
PPP per il proprio kernel?
◊ Si sta eseguendo pppd come root?
♦ Il mio modem si connette ma il ppp non parte mai
♦ Il log di sistema dice ``serial line is not 8
bit clean''
◊ Non ci si è loggati correttamente nel
server
◊ Non si è avviato il PPP nel server
◊ Il processo PPP remoto è lento a partire
♦ Instradamento predefinito non impostato
(Default route not set)
♦ Altri problemi
• Ottenere aiuto quando ormai non si sa più cosa provare
• Problemi comuni una volta che il collegamento funziona
♦ Non riesco a vedere niente oltre al server PPP al
quale mi connetto
♦ Posso spedire email, ma non posso riceverla
♦ Perché la gente non può fare finger, WWW,
gopher, talk nella mia macchina?
• Usare i servizi Internet con numeri IP dinamici
♦ Configurazione dell'email
♦ Configurare un name server locale
DNS HOWTO
• Preambolo
♦ Note legali
♦ Crediti e richieste di aiuto
♦ Dediche
• Introduzione
• Un name server caching only
♦ Far partire named
♦ Migliorarlo ancora
♦ Congratulazioni
• Un semplice dominio
♦ Ma prima un po' di teoria
♦ Il nostro dominio
♦ La zona inversa (reverse zone)
♦ Qualche parola di avvertimento
♦ Perché non funziona il lookup inverso (reverse
lookup)
◊ La zona inversa non è delegata
◊ Vi hanno dato una sottorete classless
• Esempio di un vero dominio
♦ /etc/named.conf (o /var/named/named.conf)
♦ /var/named/root.hints
♦ /var/named/zone/127.0.0
♦ /var/named/zone/land−5.com
♦ /var/named/zone/206.6.177
• Manutenzione
• Convertire dalla versione 4 alla versione 8
• Domande e risposte
• Come diventare un grande amministratore DNS
DNS HOWTO 16
Linux HOWTO − Networking − Sommario
• Miscellanea
♦ Come organizzare le proprie regole firewall
♦ Cosa non filtrare
◊ Pacchetti ICMP
◊ Connessioni TCP al DNS (nameserver)
◊ Incubi da FTP
♦ Filtrare i Ping della Morte
♦ Filtrare Teardrop e Bonk
♦ Filtrare i Fragment Bomb
♦ Cambiare le regole firewall
♦ Come proteggersi dall'IP spoofing?
♦ Progetti avanzati
◊ SPF: Stateful Packet Filtering
◊ L'ftp−data hack di Michael Hasenstein
♦ Estensioni future
• Problemi comuni
♦ ipchains −L si pianta!
♦ Masquerading/Forwarding non funziona!
♦ −j REDIR non funziona!
♦ Non funzionano i caratteri jolly nelle interfacce!
♦ TOS non funziona!
♦ Non funzionano ipautofw e ipportfw!
♦ xosview si è rotto!
♦ Segmentation Fault con `−j REDIRECT'!
♦ Non riesco ad impostare i timeout del
masquerading!
♦ Voglio dei firewall IPX!
• Un esempio più serio
♦ La situazione
♦ Scopi
♦ Prima del filtraggio dei pacchetti
♦ Filtraggio dei pacchetti per i pacchetti di
passaggio
◊ Impostare i salti dalla catena forward
◊ Definire la catena icmp−acc
◊ Da Good (interno) a DMZ (server)
◊ Da Bad (esterno) a DMZ (server)
◊ Da Good (interno) a Bad (esterno)
◊ Da DMZ a Good (interno)
◊ Da DMZ a Bad (esterno)
◊ Da Bad (esterno) a Good (interno)
◊ Filtraggio dei pacchetti per la macchina
Linux stessa
⋅ Interfaccia di Bad (esterno)
⋅ Interfaccia di DMZ
⋅ Interfaccia di Good (interno)
♦ Per finire
• Appendice: differenze tra ipchains e ipfwadm
♦ Tabella di riferimento rapido
♦ Esempi di traduzione di comandi ipfwadm
• Appendice: usare lo script ipfwadm−wrapper
• Appendice: ringraziamenti
Linux IPX−HOWTO
• Introduzione a questo documento
♦ Modifiche dalla versione precedente
♦ Introduzione
• Avvertenza
• Documentazione
Linux IPX−HOWTO 18
Linux HOWTO − Networking − Sommario
Linux IPX−HOWTO 19
Linux HOWTO − Networking − Sommario
ISP−Hookup−HOWTO
• Introduzione
♦ Copyright
♦ Disconoscimento
♦ Traduzioni
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
GTK+/GNOME Introduzione
sviluppo applicazioni
Linux HOWTO: Installazione e configurazione Lo scopo di questo documento è di dare una panoramica delle
possibilità di rete del sistema operativo Linux. Sebbene uno
Risorse dei punti di forza di Linux è il fatto che ci sono moltissime
informazioni disponibili praticamente su ogni cosa, molte di
Feedback queste sono focalizzate sull'implementazione. Molti nuovi
utenti di Linux, in particolare coloro che provengono 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 e i loro programmi questo documento
non sarebbe stato possibile o necessario.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
Introduzione 22
MediaMorfosi
Linux
GTK+/GNOME
sviluppo applicazioni
Linux 23
Linux HOWTO − Networking − Sommario
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
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 e uno
dei fattori chiave del successo di Linux.
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.
IPX/SPX
IPX/SPX (Internet Packet Exchange/Sequenced Packet Exchange) è uno stack di
protocollo 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 ne
sistemi operativi di rete (NOS − Network Operating System) della prima
generazione di LAN. Novell ha completato il suo NOS con una suite di applicazion
orientate al business e con utilità di connessione per il lato client.
Protocolli di rete 25
Linux HOWTO − Networking − Sommario
• IPX router
• IPX bridge
• NCP client e/o NCP Server (per la condivisione dei file)
• Novell Print Client, Novell Print Server
E di:
ISDN
Il kernel Linux ha al suo interno il supporto per ISDN. Isdn4linux controlla le sched
ISDN per PC e può emulare un modem con l'insieme dei comandi Hayes (i comand
"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.
• http://metalab.unc.edu/mdw/HOWTO/PPP−HOWTO.htmlLinux PPP
HOWTO
• http://metalab.unc.edu/mdw/HOWTO/mini/SLIP−PPP−Emulator.htmlPPP/
emulator
• Informazioni su PLIP possono essere trovate in
http://metalab.unc.edu/mdw/LDP/nag/nag.htmlThe Network Administrator
Guide
Radioamatori
Il kernel Linux ha al suo interno il supporto per i protocolli dei radioamatori.
La sua struttura è simile a X.25 livello 2, con alcune estensioni per renderlo più utile
in ambito radioamatoriale.
• http://metalab.unc.edu/mdw/HOWTO/HAM−HOWTO.htmlAmateur radio
HOWTO
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,
ISDN 27
Linux HOWTO − Networking − Sommario
emulazione di LAN...
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
• http://metalab.unc.edu/mdw/HOWTO/Hardware−HOWTO.htmlHardware
HOWTO
• http://metalab.unc.edu/mdw/HOWTO/Ethernet−HOWTO.htmlEthernet
HOWTO
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
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 Linu
come altri Macintosh nella rete, condividere file e usare stampanti connesse ai serve
Linux.
• http://thehamptons.com/anders/netatalk/
• http://www.umich.edu/~rsug/netatalk/
• http://www.umich.edu/~rsug/netatalk/faq.html
Ambiente Windows
Samba è una suite di applicazioni che permette a molti Unix (e in particolare a Linu
di integrarsi in una rete Microsoft sia come client sia come server. Funzionando da
server si permette ai client Windows 95, Windows for Workgroups, DOS e Window
NT di accedere ai file e ai servizi di stampa di Linux. Può sostituire completamente
Windows NT per i servizi sui file e sulla stampa, incluso il download automatico ne
client dei driver di stampa. Funzionando come client permette alla workstation Linu
di montare localmente le condivisioni esportate di Windows.
Ambiente Novell
Come evidenziato nei paragrafi precedenti, Linux può essere configurato per
funzionare sia come client sia come server NCP, fornendo quindi il servizio di
condivisione di file e stampanti in una rete Novell sia per client Unix sia per client
Novell.
• http://metalab.unc.edu/mdw/HOWTO/IPX−HOWTO.htmlIPX HOWTO
Ambiente UNIX
La modalità preferenziale per la condivisione dei file in una rete UNIX è tramite NF
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.
Coda è un file system di rete (come NFS) che supporta, tra le altre cose, il
funzionamento senza connessione e la cache permanente. È incluso nei kernel 2.2.x
Molto utile per reti lente o poco affidabili e per i portatili.
• http://metalab.unc.edu/mdw/HOWTO/mini/NFS−Root.html
• http://metalab.unc.edu/mdw/HOWTO/mini/Diskless.html
• http://metalab.unc.edu/mdw/HOWTO/mini/NFS−Root−Client.html
• http://www.redhat.com/support/docs/rhl/NFS−Tips/NFS−Tips.html
• http://metalab.unc.edu/mdw/HOWTO/NFS−HOWTO.html
Glossario
Linux−FAQ
Documenti:
Ambiente UNIX 31
Open Source Definition
MediaMorfosi E−Mail
GTK+/GNOME
sviluppo applicazioni Server E−Mail
Linux HOWTO: Installazione e configurazione
Sendmail è di fatto il programma server per la posta elettronica standard per
Risorse piattaforme UNIX. È robusto, scalabile e, adeguatamente configurato e
dotato dell'hardware necessario, può gestire carichi di migliaia di utenti
Feedback senza fare una piega. Altri server di e−mail (MTA − Mail Transport Agent
− Agenti di Trasporto della Posta) sono, per esempio, smail e qmail,
entrambi progettati come rimpiazzo per sendmail.
Mail HOWTO:
• http://metalab.unc.edu/mdw/HOWTO/Mail−HOWTO.html
• http://metalab.unc.edu/mdw/HOWTO/mini/Qmail+MH.html
• http://metalab.unc.edu/mdw/HOWTO/mini/Sendmail+UUCP.html
• http://metalab.unc.edu/mdw/HOWTO/mini/Mail−Queue.html
Internet/intranet 32
Linux HOWTO − Networking − Sommario
• http://metalab.unc.edu/mdw/HOWTO/Mail−HOWTO.html
• http://metalab.unc.edu/mdw/HOWTO/mini/Cyrus−IMAP.html
In Linux esistono diversi MUA (Mail User Agent), sia grafici che testuali.
Fra i più usati ci sono: pine, elm, mutt e Netscape.
• http://www.linuxlinks.com/Software/Internet/Mail/Elenco del
software relativo all'email
• http://metalab.unc.edu/mdw/HOWTO/mini/TkRat.html
Fetchmail
Server Web
La maggior parte delle distribuzioni di Linux includono
http://www.apache.orgApache. Apache è il server numero uno in Internet
• http://www.apache−ssl.org/
• http://raven.covalent.net/
• http://www.c2.net/
HOWTO collegati:
• http://metalab.unc.edu/mdw/HOWTO/WWW−HOWTO.html
• http://metalab.unc.edu/mdw/HOWTO/Virtual−Services−HOWTO.html
• http://metalab.unc.edu/mdw/HOWTO/Intranet−Server−HOWTO.html
• http://www.linuxlinks.com/Software/Internet/WebServers/Web
server per Linux
Browser Web
Per la piattaforma Linux esistono diversi browser web. Netscape Navigator
è una delle possibili scelte sin dall'inizio e il sopraggiungente Mozilla
(http://www.mozilla.org) avrà una versione Linux. Un altro popolare
browser web testuale è lynx. È veloce e maneggevole quando non è
disponibile alcun ambiente grafico.
• http://www.linuxlinks.com/Software/Internet/WebBrowsers/Software
browser per Linux
• http://metalab.unc.edu/mdw/HOWTO/mini/Public−Web−Browser.html
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
Browser Web 34
Linux HOWTO − Networking − Sommario
con un alto carico sia per siti che ricevono solo pochi newsgroup.
• http://www.isc.org/BIND
• http://metalab.unc.edu/mdw/HOWTO/DNS−HOWTO.htmlDNS
HOWTO
DHCP, bootp
DHCP e bootp sono protocolli che permettono a una macchina client di
ottenere informazioni sulla rete (come per esempio il proprio indirizzo IP)
da un server. Molte organizzazioni hanno iniziato a usarli in quanto
facilitano l'amministrazione specialmente in grandi reti o in reti che hanno
un gran numero di utenti mobili.
Documenti correlati:
• http://metalab.unc.edu/mdw/HOWTO/mini/DHCP.htmlDHCP
HOWTO
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, per esempio, che una persona possa
effettuare il login su una qualsiasi macchina sulla quale giri NIS senza
bisogno che l'amministratore di sistema debba aggiungere una voce per la
password per ogni macchina, ma solo nel database principale.
HOWTO correlato:
• http://metalab.unc.edu/mdw/HOWTO/NIS−HOWTO.htmlNIS
HOWTO
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 sistema
flessibile di autenticazione UNIX:
http://www.kernel.org/pub/linux/libs/pam/index.htmlPAM library.
• Infine, http://www.umich.edu/ dirsvcs/ldap/index.htmlLDAP in
Linux
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
Autenticazione 36
sviluppo applicazioni
Telnet
Telnet è un programma che permette a una persona di usare un computer
remoto come se si trovasse veramente su quella macchina. 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
pianeta. I demoni e client telnet sono disponibili con la maggior parte delle
distribuzioni di Linux.
• http://metalab.unc.edu/pub/Linux/system/network/telnet/Software
relativo a Telnet
Comandi remoti
In Unix, e 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 a 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.
X−Window
Il sistema X−Window è stato sviluppato al MIT alla fine degli anni '80 ed è
rapidamente diventato il sistema standard di gestione finestre nelle workstation
grafiche UNIX. Questo software è liberamente disponibile, molto versatile e
adattabile a una gran varietà di piattaforme hardware. Consiste di due parti
distinte: 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 lavoro ``reale'' di calcolo,
facendo girare applicazioni e quant'altro. 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.
Esiste per Linux una versione gratuita del sistema X−Window che può essere
trovata in: http://www.xfree86.org/Xfree. Essa è normalmente inclusa nella
maggior parte delle distribuzioni Linux.
HOWTO correlati:
• http://metalab.unc.edu/mdw/HOWTO/mini/Remote−X−Apps.htmlHow−to
per applicazioni X remote
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 terminali X perfettamente funzionanti.
Glossario
VNC 38
Linux−FAQ
Interconnessioni di rete
Documenti:
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 funzionare insieme per formare reti ancora più
estese. Allo stesso modo i bridge Linux funzioneranno correttamente con altri bridg
prodotti da terze parti. Programmi aggiuntivi permettono il filtraggio basato su
indirizzi IP, IPX o MAC.
HOWTO correlati:
• http://metalab.unc.edu/mdw/HOWTO/mini/Bridge+Firewall.htmlBridge+F
• http://metalab.unc.edu/mdw/HOWTO/mini/Bridge.htmlBridge
Mascheramento−IP
Il mascheramento−IP è una funzione di rete ancora in sviluppo. Se un host Linux è
connesso a Internet col mascheramento−IP abilitato e altri computer si connettono a
esso (sia dalla stessa LAN sia dall'esterno tramite modem), questi possono benissim
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 a Internet usando una singola connessione modem) e contribuisce
Interconnessioni di rete 39
Linux HOWTO − Networking − Sommario
• http://ipmasq.home.ml.org/
• http://www.indyramp.com/masq/links.pfhtml
• http://metalab.unc.edu/mdw/HOWTO/mini/IP−Masquerade.html
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 d
regole in modo che, quando un pacchetto rispecchia un certo modello venga
incrementato un contatore oppure tale pacchetto sia accettato, rifiutato ecc...
Aliasing IP
Questa caratteristica del kernel dà la possibilità di assegnare più indirizzi di rete per
stesso driver di dispositivo di rete a basso livello (ad esempio due indirizzi IP per un
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:
• http://metalab.unc.edu/mdw/HOWTO/mini/IP−Alias.htmlIP Aliasing
HOWTO
• http://metalab.unc.edu/mdw/HOWTO/NET−3−HOWTO.html#ss6.15
Firewall
Un firewall è un dispositivo che protegge una rete privata dalla parte pubblica (l'inte
Internet). È disegnato per controllare il flusso dei pacchetti basandosi sulle
informazioni di origine, destinazione, porta e tipo contenute in ogni pacchetto.
Accounting IP 40
Linux HOWTO − Networking − Sommario
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 strumen
permettono il blocco e la reindirizzazione di ogni tipo di traffico e protocollo. Posso
essere adottate diverse politiche attraveso file di configurazione o programmi a
interfaccia grafica.
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.
pacchetti di risposta provenienti dal server interno sono riscritti in modo da farli
apparire come provenienti dal firewall.
EQL
EQL è integrato all'interno del kernel Linux. Se esistono due connessioni seriali ver
qualche altro computer (solitamente ciò richiede la disponibilità di due modem e di
due linee telefoniche) e su di esse sono usati SLIP e PPP (protocolli per l'invio di
traffico Internet su linee telefoniche), usando questo driver è possibile far sì che que
si comportino come un'unica connessione a velocità doppia. Ovviamente, dev'essere
supportato a entrambi gli estremi della connessione.
• http://metalab.unc.edu/mdw/HOWTO/NET−3−HOWTO−6.html#ss6.2
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 è u
macchina che riceve le richieste di pagine Web da un'altra macchina (Macchina A).
proxy ottiene la pagina richiesta e restituisce il risultato alla Macchina A. Il proxy p
avere una cache con le pagine richieste, cosicché se un'altra macchina chiede la stes
pagina le viene restituita la copia in cache. Ciò permette l'uso efficiente delle risorse
banda e tempi di risposta minori. Come effetto collaterale, poiché le macchine clien
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 u
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.
• http://www.apache.orgApache
• http://squid.nlanr.net/Squid
Composizione su richiesta
Lo scopo della composizione su richiesta è quello di far sembrare, in modo
trasparente, che gli utenti abbiano una connessione permanente a 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 è inopero
per un certo periodo di tempo, fa cadere la connessione.
• http://metalab.unc.edu/mdw/HOWTO/mini/Diald.htmlDiald HOWTO
Proxy Server 42
Linux HOWTO − Networking − Sommario
Mobile IP:
• http://www−uk.hpl.hp.com/people/jt/mip.html
• http://metalab.unc.edu/mdw/HOWTO/NET−3−HOWTO−6.html#ss6.12
• http://metalab.unc.edu/mdw/HOWTO/mini/VPN.html
• http://sites.inka.de/sites/bigred/devel/cipe.html
Glossario
Linux−FAQ
Documenti:
Glossario
Linux−FAQ
Documenti:
HOWTO sull'argomento:
• http://metalab.unc.edu/mdw/HOWTO/mini/DPT−Hardware−RAID.html
• http://metalab.unc.edu/mdw/HOWTO/Root−RAID−HOWTO.html
• http://metalab.unc.edu/mdw/HOWTO/mini/Software−RAID.html
RAID a linas.org:
• http://linas.org/linux/raid.html
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
• Linux: http://www.linux.org
• Linux Documentation Project:
http://metalab.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/
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Fonti di informazione 47
Colonizzare la noosfera
Risorse
[Precedente] [Sommario] [Successivo]
Feedback
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Cronologia 48
Risorse
Ringraziamenti e disclaimer
Feedback
Questo documento è basato sul lavoro di molte altre persone
che hanno reso possibile per Linux diventare 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 compiuto 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
migliorarlo. 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 a daniel@rawbyte.com
Abstract:
Glossario
Ringraziamenti e disclaimer 49
Linux−FAQ Introduzione
Documenti:
Note legali
Open Source Definition
Disclaimer
Né Nicolai Langfeldt, né Ron Peters, né i relativi datori di
lavoro o chiunque altro, si assumono la responsabilità di
quanto può accadere se seguirete le istruzioni di questo
documento. Se stabilite di seguire comunque le istruzioni,
buona fortuna!
Feedback
Questo non sarà mai un documento finito, inviatemi una mail
se incontrate problemi o successi, potreste contribuire a
migliorare questo documento. Invate denaro, commenti e/o
domande a janl@math.uio.nooppure a rpeters@hevanet.com
nel caso di un server NFS relativo ai floppy. Se inviate una
e−mail accertatevi che l'indirizzo di risposta sia corretto e
funzionante. Ricevo molte mail e accertarmi di ogni indirizzo
sarebbe troppo oneroso.
Altri argomenti
Se desiderate tradurre questo HOWTO fatemelo sapere così
terrò traccia di quante lingue hanno pubblicato il documento
:−)
Introduzione 50
Linux HOWTO − Networking − Sommario
Dediche
Questo HOWTO è dedicato ad Anne Line Norheim Langfeldt.
Probabilmente non lo leggerà mai perché non è quel tipo di
ragazza.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Dediche 51
LEGGIMI
NFS (Network File System), il sistema di condivisione dei dischi via
rete, ha tre caratteristiche importanti:
Ci sono due sezioni per aiutarvi nella soluzione dei problemi di NFS,
chiamate Elenco di verifica di mount e FAQ. Fate riferimento a esse se
qualcosa non dovesse funzionare come previsto.
LEGGIMI 52
Glossario Configurare un server NFS
Linux−FAQ
Prerequisiti
Documenti:
Prima di continuare a leggere questo HOWTO dovete essere
Open Source Definition in grado di fare telnet tra due macchine che avete intenzione di
GNU General Public License
configurare come client e server. Se non siete in grado di
farlo, leggete il networking/NET−2 HOWTO per installare e
La cattedrale e il bazaar
configurare correttamente la rete.
Colonizzare la noosfera
Linux HOWTO: Installazione e configurazione Se avete bisogno di installare NFS su una macchina che non
abbia Linux, allora dovete leggere il manuale di sistema per
Risorse scoprire come abilitare il servizio di NFS ed esportare i file
tramite NFS. C'è una sezione apposita in questo HOWTO su
Feedback
come farlo su molti sistemi diversi. Dopo aver configurato
tutto, potete passare alla sezione successiva. Oppure leggete
altre parti di questa sezione poiché alcune cose che saranno
dette potrebbero essere interessanti anche per altri sistemi,
indipendentemente dal tipo di macchina che volete usare come
server.
Il portmapper
Il portmapper su Linux può chiamarsi sia portmap sia
rpc.portmap. La pagina man sul mio sistema dice che è un
"DARPA port to RPC program number mapper". Questo è il
primo buco di sicurezza che aprite. La descrizione per
chiudere alcuni di questi buchi è nella sezione [*] (Sicurezza e
NFS), che vi consiglio di leggere con urgenza.
Mountd e nfsd
I programmi successivi che devono essere avviati sono
mountd e nfsd. Ma prima dobbiamo modificare un altro file.
Questa volta /etc/exports. Supponiamo che io voglia che
il file system /mn/eris/local, che risiede su eris, possa
essere disponibile anche sulla macchina chiamata apollon.
Dobbiamo quindi mettere queste righe nel file
/etc/exports di eris:
/mn/eris/local apollon(rw)
Mountd e nfsd 54
Linux HOWTO − Networking − Sommario
#!/bin/sh
killall −HUP /usr/sbin/rpc.mountd
killall −HUP /usr/sbin/rpc.nfsd
echo re−exported file systems
Mountd e nfsd 55
Linux HOWTO − Networking − Sommario
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
Linux HOWTO: Installazione e configurazione Prima di tutto avete bisogno di un kernel che abbia il supporto per NFS compilato
staticamente oppure come modulo. Questo lo si configura prima di iniziare la
Risorse compilazione. Se non avete mai compilato un kernel prima, leggete il Kernel
HOWTO. Se state usando una buona distribuzione (come Red Hat [meglio Debian
Feedback N.d.T]) e non avete mai messo mano al kernel o ai moduli (rovinandolo ;)), allora n
dovrebbe essere già disponibile.
Ora, dal prompt di root, potete lanciare il comando appropriato e vedere il file syste
apparire. Continuando l'esempio della sezione precedente, vogliamo montare la
partizione in /mn/eris/local da eris. Ciò è fatto con il comando:
umount /mnt
Per fare in modo che il sistema monti un file system al boot, occorre modificare il fi
/etc/fstab. Per il nostro esempio aggiungere la seguente riga:
soft
hard
Il programma che cerca di accedere a un file su un file system NFS si
bloccherà quando il server ha un crash. Il processo non potrà essere interrot
a meno che non si specifichi il parametro intr. Quando il server NFS torn
in linea, il programma riprenderà a funzionare correttamente. Questo è
probabilmente il funzionamento che si vorrebbe. Raccomando di usare
hard,intr su tutti i file system montati via NFS.
Ottimizzare NFS
Normalmente, se non vengono usate le opzioni rsize e wsize, NFS leggerà e scriverà
blocchi di 4096 o 8192 byte. Alcune combinazioni di kernel di Linux e schede di re
possono non essere in grado di gestire blocchi così grandi o potrebbero non esserlo
comunque in maniera ottimale. Quindi dobbiamo provare a sperimentare varie
dimensioni per determinare quali siano i parametri che funzionano e garantiscono le
migliori prestazioni. Si può provare l'influenza delle opzioni sulla velocità con alcun
semplici comandi. Se avete montato la partizione come visto precedentemente e ave
i diritti di scrittura, potete provare con il seguente test di scrittura sequenziale:
In questo modo si crea un file di 64 MB di zeri (grande abbastanza per fare in modo
che l'uso della cache non sia significativo sulle prestazioni; usate una dimensione
maggiore se avete molta memoria disponibile). Lanciatelo alcune volte (5−10?) e
calolate il tempo medio. Il tempo da tenere maggiormente in considerazione è quell
indicato con 'elapsed' oppure 'wall clock'. Potete quindi verificare le prestazioni in
lettura:
Fatelo alcune volte e calcolate la media dei tempi. Quindi smontate e rimontate la
partizione nuovamente ma con rsize e wsize maggiori. Dovrebbero essere sempre
multipli di 1024 e non essere più grandi di 16384, che è la dimensione massima
ammessa da NFS versione 2. Dopo averla montata nuovamente, fate un cd nel file
system montato e provate qualche semplice comando tipo ls, esplorate il file system
per verificare se tutto funziona correttamente. I sintomi di rsize/wsize troppo grandi
sono molto strani e per nulla ovvi. Un sintomo tipico è un elenco incompleto di file
Ottimizzare NFS 58
Linux HOWTO − Networking − Sommario
quando viene fatto un 'ls', senza alcun messaggio di errore. Oppure la lettura dei file
fallisce miseramente senza messaggi di errore. Dopo avere stabilito che le dimensio
di rsize e wsize funzionano, potete provare di nuovo a effettuare i controlli. Server
diversi hanno dimensioni ottimali diverse. SunOS e Solaris hanno la reputazione di
andare molto più veloci con blocchi di 4096 byte.
I kernel di Linux più recenti (dal 1.3), eseguono un read−ahead per rsize di
dimensioni maggiori o uguali alla dimensione della pagina della macchina. Sui
processori Intel, la dimensione della pagina è di 4096 byte. Poiché l'uso del
read−ahead aumenta significativamente le prestazioni in lettura di NFS, raccomando
di impostare a 4096 le dimensioni di rsize.
/dir −async,access=linuxbox
o in modo simile. Fate riferimento alla pagina man relativa al file exports della
macchina in questione. Da notare che ciò aumenta la possibilità di perdita di dati.
Glossario
Linux−FAQ
Documenti:
Il calderone magico Questa sezione si basa sulla conoscenza dei protocolli usati, ma non su prove reali
poiché non ho modo di verificarli. Fatemi sapere le vostre esperienze se avete la
Libri: possibilità di provare ;−)
Italian crackdown La prima cosa da ricordare è che NFS è un protocollo lento. Ha un grosso overhead
Open Sources di sistema. Usare NFS è come usare il kermit per trasferire i file. È veramente lento.
Quasi tutto è più veloce di NFS. FTP, HTTP, rcp e ssh sono più veloci.
MediaMorfosi
Linux HOWTO: Installazione e configurazione I parametri di default di NFS sono per linee veloci e con bassa latenza. Se usate
questi parametri su linee ad alta latenza si potrebbero verificare errori, operazioni
Risorse non portate a termine, file che risultano essere più corti di quanto siano in realtà e
altri fatti misteriosi.
Feedback
La prima cosa da fare è di non usare l'opzione per il mount soft. Questo potrebbe
fare in modo che i timeout restituiscano errori alle applicazioni, che potrebbero non
gestirli correttamente. Quella appena descritta potrebbe essere la causa di misteriosi
fallimenti. Usate invece l'opzione hard. Quando l'opzione hard è attiva, i timeout
generano infiniti tentativi invece di terminare l'operazione che il software voleva
effettuare. Ed è ciò di cui avete bisogno.
In altre parole: se non viene ricevuta una risposta entro il timeout di 0,7 secondi
(700ms) il client NFS ripeterà la richiesta raddoppiando il timeout a 1,4 secondi. Se
non si riceve risposta entro 1,4 secondi la richiesta viene ripetuta ancora e il timeout
viene raddoppiato ancora a 2,8 secondi.
La velocità di una linea può essere misurata con un ping con le dimensioni del
pacchetto e di rsize/wsize uguali.
Il tempo qui è quanto impiega il pacchetto del ping ad andare avanti e indietro da
lugulbanda. 15 ms è abbastanza veloce. Su una linea a 28.800 bps ci si può aspettare
qualcosa come 4000−5000ms, e se la linea è molto carica questo tempo sarà ancora
più alto, anche doppio. Quando il tempo è elevato, si dice che la linea ha elevata
latenza. Generalmente per pacchetti più grandi e per linee cariche, il tempo tende ad
aumentare. Aumentate il parametro timeo per adattarlo alla velocità della linea e a
carico. E poiché la latenza aumenta se si usa la linea per altre operazioni, se volete
provare FTP e NFS allo stesso momento, provate a misurare i tempi del ping mentre
usate NFS e FTP per trasferire i file e aumentare timeo perché corrisponda alla
latenza della linea.
Glossario
Linux−FAQ
Il calderone magico Questa sezione non è probabilmente di utilità se vi trovate in un una rete chiusa,
dove conoscete gli utenti e nessuno che non conoscete può accedere alle
Libri: macchine della rete. Ovvero, non ci dovrebbero essere modi per entrare nella rete
in dialin (via modem) e non dovrebbe essere collegata ad altre reti di cui non
Italian crackdown conoscete gli utenti. Pensate che io sia paranoico? Non lo sono per nulla. Questo
Open Sources è solo un aiuto di base sulla sicurezza. E ricordate, le cose che dico qui sono solo
l'inizio. Un sito sicuro ha bisogno di un amministratore diligente che sappia dove
MediaMorfosi
trovare informazioni e tutti i problemi relativi alla sicurezza.
GTK+/GNOME
sviluppo applicazioni
NFS ha un problema di sicurezza di base per cui il client, se non specificato
Linux HOWTO: Installazione e configurazione altrimenti, si fida del server NFS e viceversa. Questo può essere negativo.
Significa che se l'account di root viene compromesso sul server, viene
Risorse compromesso anche quello di tutti i client e viceversa. Ci sono alcune strategie di
copia per questo, sulle quali torneremo poi.
Feedback
Dovreste leggere gli avvisi del CERT su NFS, molto di ciò che è qui scritto
deriva dai messaggi scritti dal CERT. Vedere ftp.cert.org/01−README per un
elenco aggiornato degli avvisi del CERT. Ecco qui alcuni avvisi relativi a NFS.
CA−91:21.SunOS.NFS.Jumbo.and.fsirand 12/06/91
Vulnerabilities concerning Sun Microsystems, Inc. (Sun)
Network File System (NFS) and the fsirand program. These
vulnerabilities affect SunOS versions 4.1.1, 4.1, and 4.0.3
on all architectures. Patches are available for SunOS 4.1.1.
An initial patch for SunOS 4.1 NFS is also available. Sun
will be providing complete patches for SunOS 4.1 and SunOS
4.0.3 at a later date.
CA−94:15.NFS.Vulnerabilities 12/19/94
This advisory describes security measures to guard against
several vulnerabilities in the Network File System (NFS).
The advisory was prompted by an increase in root compromises
by intruders using tools to exploit the vulnerabilities.
CA−96.08.pcnfsd 04/18/96
This advisory describes a vulnerability in the pcnfsd
program (also known as rpc.pcnfsd). A patch is included.
Sicurezza e NFS 62
Linux HOWTO − Networking − Sommario
sul file system, entrare come utenti normali sui client e usare i programmi SUID
per diventare root anche sui client. Possiamo anche vietare l'esecuzione di file
sulla partizione montata usando l'opzione noexec, ma è sicuramente meno
pratico di nosuid, poiché è naturale pensare che una partizione debba avere dei
file eseguibili o degli script. Potete inserire queste opzioni nella colonna opzioni
con rsize e wsize separati da virgole.
/mn/eris/local apollon(rw,root_squash)
Ora, se l'utente con UID 0 sul client cerca di accedere (lettura, scrittura,
cancellazione) al file system, il server sostituisce l'UID con quello dell'utente
'nobody' del server. Ciò significa che il root dei client non può accedere o
modificare i file del server che solo root può accedere o modificare. Ciò
rappresenta un fatto positivo e probabilmente dovreste usare root_squash su
tutti i file system che esporte. Potrebbe sorgere il dubbio che l'utente root dei
client può usare il comando 'su' per diventare un altro utente e accedere e
cambiare i file di quell'utente!. La risposta è affermativa. Questo è ciò che
avviene e quello che deve avvenire su Unix e NFS e ha un'importante
conseguenza: i file importanti devono essere di proprietà di root e non di bin o
altri utenti non root, poiché il solo utente a cui l'utente root dei client non può
accedere è l'account root del server. Nella pagina man di NFSd ci sono molte
altre opzioni squash e potete decidere di non dare fiducia a qualsiasi utente dei
client. È possibile anche applicare lo squash a gruppi di UID o GID. Tutto ciò è
descritto nella pagina man di NFSd.
root_squash è realtà un'opzione di default con Linux NFSd, per garantire accesso
come root ai filesystem, utilizza l'opzione no_root_squash.
Un'altra cosa importante è assicurarsi che nfsd controlli che tutte le richieste
provengano da una porta privilegiata. Se accetta richieste da qualsiasi porta, un
utente senza privilegi particolari potrebbe lanciare un programma facilmente
ottenibile su Internet che comunica con il server nfs e gli fa credere di essere un
utente qualsiasi. L'nfsd di Linux fa questo controllo per default, ma su altri
sistemi operativi dovrete effettuare questo controllo per contro vostro, che
dovrebbe essere descritto nella pagina man di nfsd del sistema operativo usato.
/etc/hosts.allow
/etc/hosts.deny
@(#) hosts_ctl.c 1.4 94/12/28 17:42:27
@(#) hosts_access.c 1.20 96/02/11 17:01:27
portmap: ALL
portmap: 129.240.223.0/255.255.255.0
...
eth0 Link encap:10Mbps Ethernet HWaddr 00:60:8C:96:D5:56
inet addr:129.240.223.254 Bcast:129.240.223.255
Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Ciò che abbiamo visto rende il server più chiuso. Il solo problema che ora rimane
(eh già :)) è che qualcuno riesca a corrompere la shell di root (o che riesca a far
partire la macchina con un floppy MS−DOS) su una macchina affidabile e,
usando questo privilegio, spedisca da una porta sicura richieste come utente
qualsiasi.
NFS e firewall
È una buona cosa proteggere con un firewall le porte di nfs e del portmapper sul
vostro router o firewall. L'nfsd funziona sulla porta 2049, con i protocolli udp e
tcp. Il portmapper lavora in genere sulla porta 111, sia tcp sia udp e mountd sulle
porte 745 e 747, sia tcp sia udp. Controllate le porte usate con il comando
rpcinfo −p.
Riassunto
Se usate hosts.allow/deny, root_squash, nosuid e l'opzione per le porte
privilegiate nei programmi portmapper/nfs, evitate la maggior parte dei bug
conosciuti di nfs e potete essere abbastanza sicuri. Comunque ci sono altri
problemi: se qualcuno ha accesso alla rete può far apparire strani comandi nel
vostro .forward o leggere la vostra posta se le directory /home o
/var/spool/mail sono esportate via NFS. Per la stessa ragione, non
dovreste mai lasciare le vostre chiavi private di PGP su un disco esportato via
NFS e firewall 65
Linux HOWTO − Networking − Sommario
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Il portmapper è attivo?
Soluzione: avviarlo.
Mountd è attivo?
Soluzione: avviarlo.
Nfsd è attivo?
Soluzione: avviarlo.
Soluzione: esportarlo.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
11. Perché non posso eseguire un file dopo averlo copiato sul
server NFS?
Il fatto è che nfsd tiene una cache dei file aperti per motivi di
prestazioni (ricordate, gira in un ambiente utente). Mentre
nfsd ha un file aperto (come nel caso di una scrittura), il
kernel non ne consente l'esecuzione. Le versioni di nfsd più
recenti di spring 95 rilasciano i file aperti dopo qualche
secondo, versioni più vecchie possono impiegare anni...
FAQ 70
Linux HOWTO − Networking − Sommario
Al momento no.
FAQ 71
Linux HOWTO − Networking − Sommario
o qualcosa di simile.
L'aggiunta di
nfso −o nfs_use_reserved_ports=1
FAQ 72
Linux HOWTO − Networking − Sommario
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
/mn/eris/local −rw=apollon
/mn/eris/local apollon
/mn/eris/local rw=apollon
Solaris 2
Sun ha completamente reinventato la ruota quando fecero Solaris
2. Quindi la loro sintassi è completamente diversa da quella di
tutti gli altri. Ciò che dovete fare è modificare il file
/etc/dfs/dfstab. Questo file deve contenere i comandi
share, come descritto nella pagina man share(1M). Ad esempio:
Esportare filesystem 74
Linux HOWTO − Networking − Sommario
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Il client
Il client è alquanto semplice. Per bloccarlo è necessario avere
statd (del pacchetto knfsd) compilato, installato e avviato
dagli script di boot. Fatelo. Statd ha bisogno di una directory
/var/lib/nfs per funzionare, altrimenti verrà terminato
senza messaggi di errore. La directory deve essere creata
prima di eseguirlo.
Il client 77
Linux HOWTO − Networking − Sommario
Il server
Il demon del server nfs in Linux 2.2 e nelle versioni
successive è noto come ``knfsd''. È insidioso da installare.
Dovete arrangiarvi da soli o fare riferimento ai pacchetti di
kernel 2.2 rilasciati da SuSE, Red Hat e altri. Spiacente. Potete
ancora usare il vecchio nsfd anche in Linux 2.2. È lento ma
semplice da installare.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Il server 78
Feedback Server NFS su un floppy
Questa sezione è stata scritta da Ron Peters,
rpeters@hevanet.com Spiega come installare un server NFS al
momento dell'avvio da un floppy. Era inizialmente progettata
per fare in modo che NFS condividesse un cdrom da un'altra
macchina non Linux/UNIX per installare Linux su una
macchina che non disponeva di cdrom.
Introduzione
Questo documento è stato creato per coloro che
sperimenteranno lo stesso problema che ho avuto di recente.
Stavo creando un server Linux su una macchina che non
aveva un cdrom e non aveva, né ha alcuna possibilità di
aggiungervene uno a eccezione di un dispositivo esterno SCSI
o simile. Ora che sta diventando sempre meno probabile che si
debba installare un server su una macchina come questa,
questo documento potrebbe rivelarsi poco utile. Tuttavia, lo
avrei apprezzato al momento della creazione della mia
macchina.
Aspettative
Questo documento deriva dall'uso di dischi boot/root di una
delle correnti distribuzioni di sviluppo InfoMagic di
Slackware. Ho usato la versione 2.0.34 del kernel per i dischi
boot/root, ma i programmi del server NFS derivano da un
server 2.0.30. Ho già usato il metodo di installazione
Slackware, non perché sia più semplice o migliore, ma perché
mi trovo più a mio agio e non ho dedicato altro tempo a
Requisiti
• Sistema di rete e disco di avvio. Il sistema che
rappresenterà il server NFS deve avere una scheda di
rete e deve essere riconosciuto durante il processo di
boot. Ulteriori informazioni sono disponibili in
Networking HOWTO.
• Floppy secondario che contiene rpc.portmap,
rpc.mountd e rpc.nfsd. Questi file possono essere
facilmente disponibili da un ftpsearch sul Web.
• Supporto di origine Slackware (o altro) (si presume
che sia il cd).
Requisiti 80
Linux HOWTO − Networking − Sommario
da effettuare''.
./rpc.portmap
./rpc.mountd
./rpc.nfsd
Operazioni da effettuare
Disco DOS
Comandi rpc
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Operazioni da effettuare 83
Feedback PC−NFS
Non dovreste usare PC−NFS, ma samba.
Abstract:
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
PC−NFS 84
MediaMorfosi
GTK+/GNOME Introduzione
sviluppo applicazioni
Linux HOWTO: Installazione e configurazione Sempre più macchine Linux sono installate come parte di una rete di computer. Per
(principalmente reti basate su macchine Sun) usano il Network Information Service
Risorse Linux possono sfruttare appieno l'esistenza di un servizio NIS o fornire esse stesse t
anche client NIS+ completi, sebbene tale supporto sia in un stadio di beta test.
Feedback
Questo documento prova a rispondere alle domande sull'impostazione di NIS(YP) e
dimentichi di leggere la sezione [*] (Il Portmapper RPC).
Le nuove versioni di questo documento saranno inoltre archiviate nei vari siti WWW
dell'LDP.
Liberatoria
Sebbene questo documento sia stato creato utilizzando il meglio della mia conoscen
errori. Per informazioni più dettagliate ed accurate si invita a leggere tutti i file REA
in questo documento. Proverò a mantenere questo documento il più possibile esente
Commenti e correzioni
Se si hanno domande o commenti su questo documento, si inviino liberamente a Th
suggerimento o critica saranno i benvenuti. Se si trova un errore in questo documen
nella versione successiva. Grazie.
Per piacere non mi si inviino domande su problemi particolari con la propria distrib
distribuzioni di Linux. Ma proverò ad aggiungere qualsiasi soluzione mi si voglia sp
Introduzione 85
Linux HOWTO − Networking − Sommario
Ringraziamenti
Vogliamo ringraziare quanti hanno contribuito a questo documento (direttamente o
Theo de Raadt è responsabile per il codice originale dei client yp. Swen Thuemmler
routine yp in libc (ancora basandosi sul lavoro di Theo). Thorsten Kukuk ha scritto
libc 2.x.
[Precedente] [Sommario]
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Ringraziamenti 86
Feedback Glossario e informazioni generali
Glossario dei termini
In questo documento sono usati molti acronimi. Di seguito una breve descrizione
dei più importanti:
DBM
DataBase Management, una libreria di funzioni che mantiene le coppie
chiave−contenuto in una base di dati.
DLL
Dynamically Linked Library, una libreria linkata in esecuzione a un
programma eseguibile.
domainname
Un nome ``chiave'' usato dai client NIS per localizzare un server NIS
appropriato che serve questa chiave di dominio. Si noti che questo non
ha necessariamente nulla a che spartire con il ``dominio'' DNS (nome
macchina) delle macchine.
FTP
File Transfer Protocol, un protocollo usato per trasferire file tra due
computer.
libnsl
Name services library, una libreria di chiamate a name service
(getpwnam, getservbyname, ecc...) sugli Unix SVR4. La GNU libc la
usa per le funzioni di NIS(YP) e NIS+.
libsocket
Socket services library, una libreria di chiamta a servizi socket (socket,
bind, listen, etc...) su Unix SVR4.
NIS
Network Information Service, un servizio che fornisce informazioni che
devono essere note attraverso la rete a tutte le macchine nella rete. Il
supporto per NIS è presente nella libc standard di Linux, e nel seguito
verrà riferito come ``NIS tradizionale''.
NIS+
Network Information Service (Plus :−), in sostanza NIS anabolizzato.
NIS+ è stato progettato da Sun Microsystems Inc. come rimpiazzo di
NIS con una migliore sicurezza e gestione migliore di ``grosse''
installazioni.
NYS
Questo è il nome di un progetto e sta per NIS+, YP e Switch ed è gestito
da Peter Eriksson <peter@ifm.liu.se>. Contiene tra le altre cose una
NSS
Name Service Switch. Il file /etc/nsswitch.conf determina l'ordine delle
ricerche indicizzate (``lookup'') effettuate quando è richiesta una
determinata informazione.
RPC
Remote Procedure Call. Le routine RPC permettono ai programmi C di
effettuare chiamate a procedure su altre macchine attraverso la rete.
Quando si parla di RPC il più delle volte si intende la variante Sun RPC.
YP
Yellow Pages(tm), un marchio registrato in Gran Bretagna dalla British
Telecom plc.
TCP−IP
Transmission Control Protocol/Internet Protocol. È il protocollo di
comunicazione dei dati maggiormente usato nelle macchine Unix.
NIS sta per Network Information Service. Lo scopo è di fornire informazioni che
devono essere note attraverso la rete a tutte le macchine nella rete. Le
informazioni solitamente distribuite attraverso NIS sono:
Se, per esempio, la voce della propria password è registrata nel database passwd
di NIS, si sarà in grado di connettersi su tutte le macchine nella rete che abbiano
un programma client NIS in esecuzione.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
glibc 2 e NIS/NIS+
Si dimentichi tutto questo se si ha la nuova libreria C 2.x della
GNU (detta anche libc6). Ha un reale supporto per NSS (name
switch service), che la rende davvero flessibile e contiene il
supporto per le seguenti mappe NIS/NIS+: aliases, ethers,
group, hosts, netgroups, networks, protocols, publickey,
passwd, rpc, services e shadow. La libreria C della GNU non
ha problemi con le shadow password assieme al NIS.
NIS o NIS+ ?
La scelta tra NIS e NIS+ è facile: usare NIS se non si deve
usare NIS+ o si hanno stringenti necessità di sicurezza. NIS+ è
molto più problematico da amministrare (è abbastanza facile
da gestire dal lato client, ma il lato server è orribile). Un altro
problema è che il supporto per NIS+ sotto Linux è ancora in
sviluppo: si deve usare l'ultimissima glibc 2.1. Esiste un port
del supporto NIS+ di glibc per libc5 come rimpiazzo
temporaneo.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Come funziona 92
Linux HOWTO − Networking − Sommario
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
Per RPC sicure, il portmapper ha bisogno del servizio Time. Ci si assicuri che tale
servizio sia abilitato in /etc/inetd.conf su tutti gli host:
#
# Il servizio Time è usato per le sincronizzazioni degli orologi
#
time stream tcp nowait root internal
time dgram udp wait root internal
RPC
Glossario
Linux−FAQ
Il Portmapper RPC 94
Documenti: Cos'è necessario fare per mettere su un
Open Source Definition NIS?
GNU General Public License
Open Sources Nel primo caso, si ha bisogno solo dei programmi client (ypbind, ypwhich, ypcat,
MediaMorfosi
yppoll, ypmatch). Il programma più importante è ypbind. Questo programma dev'es
sempre in esecuzione, ovvero deve sempre apparire nella lista dei processi. È un
GTK+/GNOME cosiddetto processo demone e deve essere avviato nei file di avvio del sistema (eg.
sviluppo applicazioni
/etc/init.d/nis, /sbin/init.d/ypclient, /etc/rc.d/init.d/ypbind, /etc/rc.local). Prima si ha
Linux HOWTO: Installazione e configurazione ypbind in esecuzione, prima la propria macchina diventa un cliente NIS.
Risorse Nel secondo caso, se non si ha un server NIS, allora si avrà bisogno anche del
programma NIS per il server (solitamente chiamato ypserv). La sezione [*]
Feedback
(Configurare un Server NIS) descrive come mettere su un server NIS nella propria
macchina Linux usando l'implementazione di ``ypserv'' di Peter Eriksson e Thorsten
Kukuk. Si noti che a partire dalla versione 0.14 questa implementazione supporta il
concetto di master−slave di cui si è parlato nella sezione 4.1.
Esiste un altro server NIS libero, chiamato ``yps'', scritto da Tobias Reber in Germa
che supporta il concetto di master−slave, ma ha altre limitazioni oltre a non essere p
supportato da molto tempo.
Il software
La libreria di sistema ``/usr/lib/libc.a'' (versione 4.4.2 e superiore) o la libreria
condivisa ``/lib/libc.so.x'' contengono tutte le system call necessarie per portare a bu
fine la compilazione del software NIS per client e server. Con la GNU C Library 2
(glibc 2.x) serve anche /lib/libnsl.so.1.
Alcuni hanno riportato che NIS funziona solo con una versione di ``/usr/lib/libc.a''
4.5.21 o superiore, e quindi se si vuole andare sul sicuro non si usino libc più vecch
Il software per un client NIS può essere ottenuto da:
Il demone ypbind
Dopo aver compilato con successo il software si è pronti per installarlo. Un posto
adatto per il demone ypbind è la directory /usr/sbin. Alcuni potrebbero affermare ch
non è necessario ypbind su un sistema con NYS. Questo è sbagliato, in quanto ypwh
e ypcat ne hanno bisogno.
Ovviamente si deve fare tutto come root. Gli altri binari (ypwhich, ypcat, yppoll,
ypmatch) dovrebbero andare in una directory accessibile a tutti gli utenti, solitamen
/usr/bin.
ypserver voyager
ypserver defiant
ypserver ds9
Se il sistema può risolvere il nome degli host senza NIS, si può usare il nome,
altrimenti bisogna usare l'indirizzo IP. ypbind 3.3 ha un baco e userà solo l'ultima vo
(ypserver ds9 nell'esempio). Tutte le altre voci sono ignorate. ypbind−mt gestisce
correttamente questa cosa e usa il server che prima risponde.
Può essere una buona idea testare ypbind prima di incorporarlo nei file d'avvio. Per
testare ypbind si faccia quanto segue:
/bin/domainname dominio.nis
Il demone ypbind 96
Linux HOWTO − Networking − Sommario
oppure
oppure
A questo punto si dovrebbe essere in grado di usare i programmi client NIS come
ypcat, ecc... Per esempio, ``ypcat passwd.byname'' dovrebbe restituire l'intera base d
dati NIS delle password.
/var/yp
Il demone ypbind 97
Linux HOWTO − Networking − Sommario
Se il test funziona ora si possono modificare i file di avvio in modo che ypbind sia
avviato al boot del sistema e che quest'ultimo funzioni come client NIS. Ci si assicu
che il nome di dominio sia impostato prima di avviare ypbind.
Aggiungere le seguenti righe al proprio file /etc/passwd dei propri client NIS:
+::::::
Per esempio, per permettere l'accesso di login a miquels, dth e ed, e a tutti i membri
netgroup sysadmin, pur mantenendo disponibili i dati di account di tutti gli altri uten
+miquels:::::::
+ed:::::::
+dth:::::::
+@sysadmins:::::::
−ftp
+:*::::::/etc/NoShell
Si noti che in Linux si può anche ridefinire il campo password, come si è fatto in
questo esempio. Si è rimossa la login ``ftp'', cosicché non sia più nota e non funzion
più l'ftp anonimo.
Si dovrebbe installare ypbind. Non è richiesto dalla libc, ma i tool NIS(YP) ne hann
bisogno.
I sorgenti di NYS fanno parte dei sorgenti della libc 5. Quando si lancia configure,
rispondere ``NO'' la prima volta che appare la domanda ``Value correct'', e poi
rispondere ``YES'' a ``Build a NYS libc from nys''.
specifica che le funzioni di ricerca degli host dovrebbero prima guardare nel file
/etc/hosts locale, poi effettuare un lookup NIS e alla fine una vera richiesta al domai
name service (/etc/resolv.conf e named), e a quel punto, se non viene trovata alcuna
corrispondenza, viene restituito un errore. Questo file deve essere leggibile per
qualsiasi utente! Si possono trovare maggiori informazioni nelle pagine man nsswit
e nsswitch.conf.5.
#
# /etc/nsswitch.conf
#
# Un esempio di file di configurazione del Name Service Switch.
# Questo file dovrebbe essere ordinato in modo che i servizi più
# comuni siano all'inizio.
#
# La voce '[NOTFOUND=return]' indica che la ricerca di una voce
# dovrebbe fermarsi se la ricerca nella voce precedente non ha
# restituito niente. Si noti che se la ricerca fallisce per
# qualche altra ragione (come la mancata risposta del server NIS)
# allora la ricerca continua con la voce successiva.
#
passwd: compat
group: compat
# Con libc5 si deve usare shadow: files nis
shadow: compat
passwd_compat: nis
group_compat: nis
shadow_compat: nis
Linux
La sola libc per Linux che supporta le password shadow con NIS è la GNU C Libra
2.x. La libc5 per Linux non ha questo supporto. La libc5 per Linux non ha il suppor
per questa cosa. La libc5 per Linux compilata con il NYS abilitato ha un po' di
supporto. Ma tale supporto è gravemente bacato e in qualche caso non funziona con
Solaris
#%PAM−1.0
auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_unix_auth.so
auth required /lib/security/pam_nologin.so
account required /lib/security/pam_unix_acct.so
password required /lib/security/pam_unix_passwd.so
session required /lib/security/pam_unix_session.so
Glossario
Linux−FAQ
Documenti:
Solaris 101
GNU General Public License
Il calderone magico
Il software NIS+
Libri: Il codice dei client NIS+ per Linux è stato sviluppato per la libreria C 2 della GNU.
un port per la libc5 di Linux, in quanto la maggior parte delle applicazioni commerc
Italian crackdown linkate con questa libreria e non è possibile ricompilarle per usare la glibc. Ci sono
Open Sources
libc5 e NIS+: non è possibile fare il link di questa con i programma statici, e i progr
compilati con questa non funzioneranno con altre versioni della libc5.
MediaMorfosi
GTK+/GNOME Ci si deve procurare e compilare GNU C Library 2.1 per piattaforme basate su Intel
sviluppo applicazioni Library 2.1.1 per piattaforme a 64−bit. Come sistema di partenza è necessaria una d
Linux HOWTO: Installazione e configurazione basata su glibc come Debian 2.x, RedHat 5.x o SuSE Linux 6.x.
Sito Directory
ftp.debian.org /pub/debian/dists/slink
ftp.redhat.com /pub/redhat/redhat−5.2
ftp.suse.de /pub/SuSE−Linux/6.0
Per la compilazione della libreria C della GNU, si invita a seguire le istruzioni ricev
software. Qui è dove si può trovare la libc5 modificato, basata su NYS e con i sorge
che rimpiazzano quelli della libc5 standard:
ftp.kernel.org /pub/linux/utils/net/NIS+
libc−5.4.44−nsl−0.4.10.tar.gz
lato client!
Dopo aver installato la nuova libc e i nis−tools, si creino le credenziali per il nuovo
server NIS+. Assicurarsi che portmap sia in esecuzione. Poi controllare che il propr
abbia la stessa ora del Server NIS+. Per le RPC sicure si ha solo una piccola finestra
minuti nella quale credenziali sono valide. Una buona idea è di eseguire xntpd su og
host. Dopo di questo, lanciare
domainname domimio.nisplus
nisinit −c −H <server NIS+>
per inizializzare il file d'avvio. Si legga la pagina man di nisinit per ulteriori opzioni
che il nome di dominio rimanga sempre impostato dopo un reboot. Se non si conosc
dominio NIS+ della propria rete, si chieda al proprio amministratore di sistema/rete
Dopo di che, avviare keyserv e assicurarsi che sia sempre avviato all'avvio del sistem
keylogin −r
per salvare la chiave segreta (``secretkey'') di root nel proprio sistema (spero si sia g
chiave pubblica (``publickey'') per il nuovo host nel server NIS+?).
Ora ``niscat passwd.org_dir'' dovrebbe mostrare tutte le voci nella base di dati passw
#%PAM−1.0
auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_keylogin.so
auth required /lib/security/pam_unix_auth.so
auth required /lib/security/pam_nologin.so
account required /lib/security/pam_unix_acct.so
password required /lib/security/pam_unix_passwd.so
session required /lib/security/pam_unix_session.so
Il file nsswitch.conf
Il file del Network Services Switch /etc/nsswitch.conf determina l'ordine delle ricerc
("lookup") effettuate quando è richiesta una data informazione, proprio come il file
determina il modo con il quale sono effettuate le ricerche degli host. Per esempio, la
specifica che le funzioni di ricerca degli host dovrebbero prima guardare nel file /etc
locale, poi effettuare un lookup NIS e alla fine una vera richiesta al domain name se
(/etc/resolv.conf e named), e a quel punto, se non viene trovata alcuna corrisponden
restituito un errore.
#
# /etc/nsswitch.conf
#
# Un esempio di file di configurazione del Name Service Switch.
# Questo file dovrebbe essere ordinato in modo che i servizi più
# comuni siano all'inizio.
#
# La voce '[NOTFOUND=return]' indica che la ricerca di una voce
# dovrebbe fermarsi se la ricerca nella voce precedente non ha
# restituito niente. Si noti che se la ricerca fallisce per
# qualche altra ragione (come la mancata risposta del server NIS)
# allora la ricerca continua con la voce successiva.
#
# Le voci ammesse sono:
#
# nisplus Usa NIS+ (NIS versione 3)
# nis Usa NIS (NIS versione 2), detto anche YP
# dns Usa DNS (Domain Name Service)
# files Usa file locali
# db Usa la base di dati /var/db
# [NOTFOUND=return] Ferma la ricerca se prima non è stato
# trovato niente
#
passwd: compat
# per libc5: passwd: files nisplus
group: compat
# per libc5: group: files nisplus
shadow: compat
# per libc5: shadow: files nisplus
passwd_compat: nisplus
group_compat: nisplus
shadow_compat: nisplus
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
L'impostazione del server è la stessa sia per il NIS tradizionale che per NYS.
C'è stato un solo grosso cambiamento tra ypserv 1.1 e ypserv 1.2. Dalla versione 1.2
ypserv fa il cache dei file handle. Ciò significa che si deve sempre lanciare makedbm
con l'opzione −c se si creano delle nuove mappe. Sincerarsi di usare il nuovo
/var/yp/Makefile di ypserv 1.2 o successivo, o si aggiunga l'opzione −c a
makedbm nel Makefile. Se non lo si fa, ypserv continuerà ad usare le vecchie mapp
non quelle aggiornate.
La riga ``version 1'' potrebbe non esserci a seconda della versione di ypserv e della
configurazione usata. È necessaria solamente se si usano vecchi client SunOS 4.x.
% /usr/lib/yp/ypinit −m
Su uno slave, assicurarsi che ypwhich −m funzioni. Ciò significa che lo slave
dev'essere per prima cosa configurato come client NIS prima di poter eseguire
% /usr/lib/yp/ypinit −s masterhost
Se si deve aggiornare una mappa, si esegua make nella directory /var/yp del NIS
master. Ciò aggiornerà una mappa se il file sorgente è stato modificato e invierà i fi
server slave. Non usare ypinit per aggiornare una mappa.
Non è male poi modificare il crontab di root nello slave server e aggiungere le righe
seguenti
20 * * * * /usr/lib/yp/ypxfr_1perhour
40 6 * * * /usr/lib/yp/ypxfr_1perday
55 6,18 * * * /usr/lib/yp/ypxfr_2perday
Ciò assicura che la maggior parte delle mappe NIS saranno mantenute aggiornate, a
se un aggiornamento è stato perso a causa di un malfunzionamento (down) dello sla
momento dell'aggiornamento sul master.
Uno slave può essere aggiunto in qualsiasi momento. Per prima cosa, assicurarsi ch
nuovo server slave abbia i permessi per contattare il master NIS. Poi eseguire
% /usr/lib/yp/ypinit −s masterhost
sul nuovo slave. Sul server master si aggiunga poi il nome del nuovo server slave in
/var/yp/ypservers e si esegua make in /var/yp per aggiornare le mappe.
Se si vuole restringere l'accesso al proprio serves NIS agli utenti, si deve impostare
server NIS come un client eseguendo ypbind e aggiungere le voci−più ("+") a
/etc/passwd a mezza via del file delle password. Le funzioni di libreria ignoreranno
le normali voci dopo la prima voce NIS, e otteranno le restanti informazioni attrave
NIS. In questo modo sono mantenute le regole di accesso NIS. Un esempio:
root:x:0:0:root:/root:/bin/bash
daemon:*:1:1:daemon:/usr/sbin:
bin:*:2:2:bin:/bin:
sys:*:3:3:sys:/dev:
sync:*:4:100:sync:/bin:/bin/sync
games:*:5:100:games:/usr/games:
man:*:6:100:man:/var/catman:
lp:*:7:7:lp:/var/spool/lpd:
mail:*:8:8:mail:/var/spool/mail:
news:*:9:9:news:/var/spool/news:
uucp:*:10:50:uucp:/var/spool/uucp:
nobody:*:65534:65534:noone at all,,,,:/dev/null:
+miquels::::::
+:*:::::/etc/NoShell
[ Tutti i normali utenti DOPO questa riga! ]
tester:*:299:10:Just a test account:/tmp:
miquels:1234567890123:101:10:Miquel van
Smoorenburg:/home/miquels:/bin/zsh
Quindi l'utente tester esisterà, ma avrà la shell impostata a /etc/NoShell. miquels avr
l'accesso normale.
Il programma rpc.ypxfrd
rpc.ypxfrd è usato per velocizzare i trasferimenti di grosse mappe NIS dal NIS mast
diversi slave. Se un server NIS slave riceve un messaggio che attesta la presenza di
nuova mappa, avvierà ypxfr per trasferire la nuova mappa. ypxfr leggerà il contenut
una mappa dal server master usando la funzione yp_all(). Questo processo può dura
diversi minuti quando esistono mappe molto grosse che devono essere salvate dalla
libreria di database.
rpc.ypxfrd può essere avviato da inetd. Però poiché si avvia molto lentamente, dovr
essere lanciato assieme a ypserv. È necessario avviare rpc.ypxfrd solo sul master.
Il programma rpc.yppasswdd
Ogni qual volta gli utenti cambiano le loro password, la base di dati NIS delle passw
e, probabilmente, altre basi di dati NIS che dipendono da questa dovrebbero essere
aggiornate. Il programma ``rpc.yppasswdd'' è un server che gestisce le modifiche de
password e assicura che le informazioni NIS sia aggiornate di conseguenza.
rpc.yppasswdd è ora integrato in ypserv. Non serve più il vecchio yppasswd−0.9.tar
yppasswd−0.10.tar.gz, e non dovrebbero essere più usati. Il rpc.yppasswd in ypserv
ha il pieno supporto per le shadow. yppasswd fa ora parte di yp−tools−2.2.tar.gz,
Si deve lanciare rpc.yppasswd solo nel server NIS master. Di default, gli utenti non
hanno il permesso di cambiare il loro nome o la loro shell di login. È possibile
permettere tali modifiche con le opzioni −e chfn o −e chsh.
Se i propri file passwd e shadow sono in una directory diversa da /etc, si deve
aggiungere l'opzione −D. Per esempio, se si sono messi tutti i file sorgente in /etc/yp
vuole che gli utenti possano cambiare la propria shell, si deve avviare rpc. yppasswd
con i seguenti parametri:
oppure
Non c'è molto altro da fare. Ci si deve solamente assicurare che rpc.yppasswdd
gli stessi file di /var/yp/Makefile. Gli errori saranno registrati usando syslog.
Glossario
Colonizzare la noosfera dovrebbe restituire il contenuto del proprio file NIS passwd. Il comando
Il calderone magico
% ypmatch userid passwd
Libri:
(dove userid è il nome di login di un utente arbitrario) dovrebbe restituire la
Italian crackdown voce relativa all'utente nel file NIS passwd. I programmi ``ypcat'' e
Open Sources
``ypmatch'' dovrebbero essere inclusi nella propria distribuzione di NIS
tradizionale o NYS.
MediaMorfosi
GTK+/GNOME Se un utente non riesce a fare il login, si esegua il programma seguente nel
sviluppo applicazioni client:
Linux HOWTO: Installazione e configurazione
#include <stdio.h>
#include <pwd.h>
Risorse
#include <sys/types.h>
Feedback int
main(int argc, char *argv[])
{
struct passwd *pwd;
if(argc != 2)
{
fprintf(stderr,"Uso: getwpnam nomeutente\n");
exit(1);
}
pwd=getpwnam(argv[1]);
if(pwd != NULL)
{
printf("name.....: [%s]\n",pwd−>pw_name);
printf("password.: [%s]\n",pwd−>pw_passwd);
printf("user id..: [%d]\n", pwd−>pw_uid);
printf("group id.: [%d]\n",pwd−>pw_gid);
printf("gecos....: [%s]\n",pwd−>pw_gecos);
printf("directory: [%s]\n",pwd−>pw_dir);
printf("shell....: [%s]\n",pwd−>pw_shell);
}
else
fprintf(stderr,"Utente \"%s\" non trovato!\n",argv[1]);
exit(0);
}
La GNU C Library 2.1 (glibc 2.1) contiene uno strumento chiamato gentent.
In un sistema di questo tipo si usi questo programma invece di quello qua
sopra. Si può provare:
getent passwd
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
yp_match: clnt_call:
RPC: Unable to receive; errno = Connection refused
Ringraziamenti
Infine, a quanti mi hanno contattato via email offrendomi commenti, vanno i miei
ringraziamenti. Come per tutti gli autori di HOWTO, la soddisfazione di aiutare è
tutto il compenso che riceviamo ed è abbastanza. Scrivendo questo HOWTO sto
ripagando in minima parte il debito che io − e tutti gli altri utenti di Linux −
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Libri:
Introduzione
Italian crackdown Il PPP (Point to Point Protocol) è un meccanismo per creare ed usare IP (Internet
Protocol) ed altri protocolli di rete su di una linea seriale − sia essa una connessione
Open Sources
seriale diretta (usando un cavo null−modem) su di una connessione stabilita con
MediaMorfosi telnet, oppure una connessione fatta tramite modem e linee telefoniche (e usando
naturalmente anche linee digitali come ISDN).
GTK+/GNOME
sviluppo applicazioni
Usando PPP, si può connettere il proprio PC Linux ad un server PPP ed accedere al
Linux HOWTO: Installazione e configurazione
risorse della rete alla quale è connesso il server (quasi) come si fosse connessi
Risorse
direttamente a quella rete.
Feedback Inoltre si può configurare il proprio PC Linux come server PPP, cosicché gli altri
computer possano collegarsi, effettuando una richiesta di connessione (dial in), al
vostro computer ed accedere alle risorse di quest'ultimo e/o della rete a cui è
connesso.
Poiché PPP è un sistema peer−to−peer (``da pari a pari''), si può usare PPP su due P
Linux per connettere assieme due reti (o una rete locale con Internet), creando una
Wide Area Network (WAN).
Una delle differenze sostanziali tra PPP e una connessione Ethernet è ovviamente la
velocità − una connessione Ethernet standard opera teoricamente con una velocità d
trasferimento dati (throughput) massima di 10 Mbs (Mega − milioni di bit al
secondo), mentre un modem analogico opera a velocità sino a 56 kbps (kilo −
migliaia di bit al secondo).
Inoltre, a seconda del tipo di connessione PPP, ci possono essere alcune limitazioni
nell'uso di alcune applicazioni e servizi.
Client e server
PPP è in sostanza un protocollo peer to peer; non c'è (teoricamente) alcuna
differenza tra la macchina che fa la chiamata (dial) e la macchina alla quale questa è
fatta. Comunque, per amor di chiarezza, è utile pensare in termini di server e client
Quando si configura una macchina Linux per ricevere e gestire connessioni PPP in
ingresso, si sta configurando un server PPP.
Questo documento fa riferimento alla macchina che inizia la chiamata (che fa il dial
in) come il CLIENT, mentre la macchina che risponde al telefono, verifica
Introduzione 115
Linux HOWTO − Networking − Sommario
L'uso del PPP come un client per collegare una o più macchine in Internet è,
probabilmente, quello a cui molti sono interessati.
In particolare, esistono due metodi diversi seguendo uno dei quali una macchina
Linux (e Unix) viene praticamente avviata, configura le proprie interfacce e così via
• Slackware
che usa il sistema di inizializzazione BSD
• Red Hat (e la sua ex associata Caldera)
che usa il sistema di inizializzazione SysV (sebbene in una forma
leggermente modificata)
• Debian
che usa il sistema di inizializzazione SysV
/etc/rc
/etc/rc.local
/etc/rc.serial
(e possibilmente qualche altro file)
Per gli utenti di Red Hat 4.x, ora c'è un http://www.interweft.com.auRed Hat
PPP−TIP nell'area delle risorse per Linux e anche a http://www.redhat.comRed Hat
Software nell'area del supporto.
Glossario
Linux−FAQ
Documenti:
Libri: Se si connette una rete locale (LAN) ad Internet, si DEVE usare per
ognuno dei computer e dei dispositivi presenti nella propria LAN, un
Italian crackdown numero IP compreso nel range assegnato. NON SI DEVONO
Open Sources prendere numeri a caso e usarli per connettersi ad un'altra LAN (let
alone the Internet). Alla meno peggio semplicemente non funzionerà
MediaMorfosi
affatto e si può causare un disastro totale in quanto i numeri IP
GTK+/GNOME 'rubati' interferiranno con le comunicazione di un'altro computer che
sviluppo applicazioni
sta già usando i numeri IP che ci si è inventati.
Linux HOWTO: Installazione e configurazione
Si noti che i numeri IP usati in questo documento (con alcune
Risorse eccezioni) sono fra la serie dei 'numeri di reti non connesse' che sono
riservati per l'uso in reti che non sono (né mai saranno) connesse a
Feedback Internet.
Numeri IP 118
Linux HOWTO − Networking − Sommario
Alla maggior parte degli utenti, che sono connessi con una macchina
ad un fornitore di servizi Internet tramite PPP, non sarà necessario
ottenere un numero IP (o meglio un numero di rete).
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Numeri IP 120
Scopi di questo documento
Configurazione di un client PPP
Questo documento fornisce una guida per chi intenda usare
Linux e il PPP per la connessione ad un server PPP e la
creazione di una connessione IP usando PPP. Assume che il
PPP sia stato compilato ed installato nella propria macchina
Linux (ma brevemente ripassa la
riconfigurazione/ricompilazione del kernel per includerne il
supporto).
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Glossario
Linux−FAQ
Documenti:
Ciò non è perché gli utenti guru odino i nuovi utenti, ma perché queste
liste esistono per discutere argomenti particolari a particolari livelli di
difficoltà.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Trovare/installare il software
Se la propria distribuzione Linux non contiene il software per il PPP, lo si può
scaricare da
ftp://sunsite.unc.edu/pub/Linux/system/Network/serial/ppp/ppp−2.2.0f.tar.gzil
demone PPP di Linux.
Molte distribuzioni forniscono di default il supporto a livello kernel per il PPP nei
loro kernel di installazione, ma altre non lo fanno.
Panoramica di quello che va fatto per usare come client il PPP 128
Linux HOWTO − Networking − Sommario
Poiché si sta usando Linux, si possono incontrare alcune difficoltà con il supporto
utenti di alcuni ISP (e del server PPP per la intranet al lavoro) che sono a
conoscenza solo di client MS Windows.
Comunque, un numero sempre crescente di ISP usano Linux per fornire il loro
servizio − e Linux sta penetrando pure nell'ambiente aziendale, perciò, se si è
fortunati non si incotreranno resistenze.
Il paragrafo [*] (Quali informazioni si debbono conoscere sul server PPP) dirà
quello che si deve sapere sul server PPP al quale ci si vuole connettere e come
trovare le informazioni che si debbono conoscere.
• /etc/resolv.conf
• /etc/host.conf
In particolare, NON è necessario che si faccia girare un name server nel proprio PC
Linux per potersi connettere ad Internet (sebbene lo si possa comunque fare). Tutto
quel che si deve conoscere è l'indirizzo IP di almeno un name server che si possa
usare (preferibilmente quello del proprio ISP).
/etc/ppp/options
/etc/ppp/scripts/ppp−on
/etc/ppp/scripts/ppp−on−dialer
/etc/ppp/options.tpl
Può essere necessario creare alcuni altri file a seconda di cosa esattamente si ha
intenzione di fare con PPP:
/etc/ppp/options.ttyXX
/etc/ppp/ip−up
/etc/ppp/pap−secrets
/etc/ppp/chap−secrets
Inoltre, il demone PPP può usare un numero enorme di opzioni in riga di comando
ed è importante usare quelle giuste; questa sezione quindi fa una panoramica sulle
opzioni standard del PPP e aiuta nella scelta delle opzioni che andrebbero usate.
Invece di fare il login nel server usando il nome utente e la password quando
richieste per entrare nel server, un server PPP che usa PAP non richiede un login in
modo testo.
Il paragrafo [*] (Se il proprio server PPP usa PAP (Password Authentication
Protocol)) fornisce informazioni sui file da impostare per stabilire una connessione
PPP usando PAP.
Si veda la sezione [*] (Instaurare manualmente una connessione PPP) per tutti i
dettagli.
Questa sezione discute gli script per l'autentificazione con nome utente e password
così come gli script per i server con autentificazione PAP/CHAP.
Chiudere la connessione
Una volta che la connessione è stabilita e funzionante, si deve essere in grado di
deattivarla.
Se ci sono problemi
Molti hanno problemi a far funzionare direttamente il PPP. Le variazioni nei server
PPP e in come questi richiedono sia configurata la connessione sono enormi.
Similmente, ci sono molte opzioni per PPP e addirittura alcune combinazioni di
queste non funzionano assieme.
Oltre ai problemi di login e avvio del servizio PPP, ci sono problemi sia con i
modem che con le linee telefoniche!
Glossario
Linux−FAQ
Colonizzare la noosfera Si dia un'occhiata a questa directory − molte distribuzioni di Linux installano l'alber
Il calderone magico sorgenti (i file e le sottodirectory) durante il processo di installazione.
Libri: Al boot, il proprio kernel di Linux mostra svariate informazioni. Tra queste ci sono
quelle sul PPP, se il kernel ne include il supporto. Per vedere queste informazioni, s
Italian crackdown file di log del proprio sistema o si usi dmesg |less per visualizzare le informazi
Open Sources schermo. Se il proprio kernel include il supporto per il PPP, si dovrebbe vedere una
questo genere:
MediaMorfosi
GTK+/GNOME PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
sviluppo applicazioni PPP line discipline registered.
Linux HOWTO: Installazione e configurazione
(questa è per la serie 2.0.x di kernel di Linux).
Risorse
I sorgenti del kernel di Linux possono essere reperiti via ftp da sunsite.unc.ed
Feedback uno dei suoi (molti) mirror.
make config
Per poter usare PPP, si deve configurare il kernel per includere il supporto per il PP
bisogno sia di pppd sia del supporto nel kernel).
Si risponda alle altre domande del make config a seconda dell'hardware nel proprio
delle caratteristiche che si vogliono dal sistema operativo Linux. Si continui poi nel
del README per compilare ed installare il nuovo kernel.
Il kernel 1.2.13 crea solo 4 device PPP. Nel caso si possieda una scheda seriale mul
sarà bisogno di modificare i sorgenti del PPP nel kernel per avere più porte (si veda
README.linux distribuito assieme al PPP−2.1.2 per maggiori dettagli sulle sempli
modifiche da fare).
make config
make menuconfig
Ciò fornisce un sistema di configurazione a menu con un help in linea che permette
spostarsi avanti e indietro nel processo di configurazione.
make xconfig
Il supporto per il PPP può essere compilato direttamente dentro al kernel oppure com
modulo.
Se quando la propria macchina Linux è operativa, si usa PPP solo per brevi periodi,
raccomanda di compilare il supporto per il PPP come modulo. Usando 'kerneld' il pr
kernel caricherà automaticamente i moduli richiesti per fornire il supporto per il PPP
si lancia il processo di connessione con PPP. Ciò fa risparmiare porzioni importanti
memoria: nessuna parte del kernel può essere messa in swap, ma i moduli caricabili
automaticamente rimossi se non sono in uso.
Per aggiungere il supporto nel kernel per il PPP, si risponda alla seguente domanda:
Per il modulo caricabile del PPP, si risponda M, altrimenti per compilare il PPP den
kernel rispondere Y.
Diversamente dal kernel 1.2.13, il kernel 2.0.x crea device PPP al volo quando sono
e non c'è più bisogno di modificare i sorgenti per incrementare il numero di disposit
disponibili.
Una volta avviati uno (o più) servizi ppp, si vedranno delle voci così (da un server p
Questo sarà necessario anche se si vuole usare IP masquerade per connettere una LA
usa uno dei suddetti numeri di rete IP 'non connessi'.
Per abilitare l'IP Masquerade e l'IP fire walling, si DEVE rispondere affermativame
prima domanda nel processo make config:
Ai nuovi utenti questo potrebbe sembrare un po' fuori luogo, ma molti utenti Linux
attivamente l'IP Masquerade e l'IP Firewalling dei kernel Linux 2.0.XX senza alcun
problema.
Una volta installato il nuovo kernel e riavviata la macchina, si può cominciare a con
a testare il(i) collegamento(i) PPP.
Glossario
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
0: 6766283 timer
1: 91545 keyboard
2: 0 cascade
4: 156944 + serial
7: 101764 WD8013
10: 134365 + BusLogic BT−958
13: 1 math error
15: 3671702 + serial
Qui è mostrata una porta seriale sull'IRQ4 (un mouse) ed una porta
seriale sull'IRQ15 (la connessione PPP permanente via modem ad
Internet). Ci sono anche le porte seriali com2 su IRQ3, e la com4 su
IRQ14, ma non sono utilizzate e perciò non vengono mostrate.
Attenzione: bisogna sapere quello che si fa quando si gioca con gli IRQ!
Non solo si deve aprire il proprio computer, tirare fuori le schede e
giocare con i jumper, ma si deve pure sapere cosa c'è su un determinato
IRQ. Nel mio caso ho un PC totalmente basato su SCSI, e così ho
disabilitato l'interfaccia IDE sulla scheda madre che normalmente usano
gli IRQ14 e 15!
Si usi il comando
setserial −a /dev/ttySx
per far sì che Linux dica il tipo di UART in proprio possesso. Se non si
ha una UART del tipo 16550A, si investa un po' di soldi in una nuova
scheda seriale (disponibile a meno di $50). Una volta comperata, ci si
assicuri di poterne spostare gli IRQ!
La porzione del kernel che richiedeva ciò è stata cambiata nella versione
2.0.x del kernel e si dovrebbero usare i ttySx sia per il dial in che per il
dial out. Da quel che ho capito i device cuaX potrebbero benissimo
scomparire in una versione futura del kernel.
Esiste un sito che offre le impostazioni per un modem per una varietà in
continua crescita di costruttori e modelli di modem a
http://www.in.net/info/modems/index.htmlModem setup information che
può tornare utile in questa operazione.
supporta, si blocchi l'interfaccia seriale del modem alla velocità più alta
disponibile (generalmente 115200 baud ma più probabilmente 38400
baud per i modem a 14400).
Per le connessioni ad alta velocità che usano PPP (che usa dati a 8 bit) il
controllo di flusso hardware è vitale ed è per questa ragione che si deve
usare questo tipo di controllo di flusso.
(Nota: a questo punto NON stiamo provando a fare una connessione PPP,
ma solo verificando di avere il numero di telefono giusto e di scoprire
esattamente cosa il server ci risponde per poter poi fare il login ed
avviare il PPP).
Qualche avvertenza:
A questo punto, si può "riattaccare" (N.d.T.: nel senso della cornetta del
telefono) il proprio modem (solitamente, battendo velocemente +++ e
poi dando il comando ATHO una volta che il modem ha risposto con
OK).
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Quando si fa una connessione PPP, si deve dire alla propria macchina Linux
dove andare a prendere le informazioni sulla conversione da nome ad indirizzo
IP (risoluzione dell'indirizzo − address resolution) in modo che noi si possa
usare i nomi delle macchine ma il nostro computer possa tradurli in numeri IP
di cui a bisogno per fare il proprio lavoro.
Un modo è di inserire ogni host con il quale si vuole dialogare nel file
/etc/hosts (il che è realisticamente totalmente impossibile se si è connessi
ad Internet); un altro è di usare i numeri IP della macchine invece dei loro nomi
(un esercizio di memoria impossibile tranne che per le LAN più piccole).
Il file /etc/resolv.conf
L'amministatore del proprio server PPP o il servizio assistenza clienti dovrebbe
aver fornito due numeri IP di DNS (ne è necessario solo uno, ma due danno un
po' di ridondanza in caso di problemi in uno dei due).
domain nome.di.dominio.del.proprio.isp
nameserver 10.25.0.1
nameserver 10.25.1.2
Il file /etc/host.conf
Si dovrebbe pure controllare che il proprio file /etc/host.conf sia
configurato correttamente. Dovrebbe essere una cosa così:
order hosts,bind
multi on
Ciò dice al risolutore di usare le informazioni nel file degli host prima di
interrogare un DNS per la risoluzione.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Se altri utenti oltre a root devono poter avviare una connessione PPP, il programma
dev'essere setuid root:
Se /usr/sbin/pppd non è impostato in questo modo, allora come root si digiti il coma
Quello che fa è rendere pppd eseguibile con i privilegi di root anche se l'eseguibile
lanciato da un utente ordinario. Ciò permette agli utenti normali di lanciare pppd co
privilegi necessari per impostare le interfacce di rete e la tabella di instradamento de
kernel.
I programmi che sono eseguiti come 'set uid root' potenzialmente sono dei buchi di
sicurezza e si dovrebbe essere estremamente cauti nel fare programmi 'suid root'. Un
certo numero di programmi (incluso pppd) sono stati scritti con tutte le attenzioni pe
minimizzare i pericoli conseguenti alla loro esecuzione in suid root, quindi dovrebb
essere sicuro farlo (ma non ci sono garanzie).
Comunque, se NON si vuole che qualsiasi utente sia in grado di avviare una connes
PPP (per esempio, i propri figli hanno un account sulla macchina Linux, ma non vu
vadano in giro per Internet senza la una supervisione), bisogna creare un gruppo per
PPP (come root, si modifichi il file /etc/group) e:
• si renda pppd suid root, di proprietà dell'utente root e del gruppo PPP, con g
altri permessi su questo file vuoti. Insomma dovrebbe avere questi permessi
simili):
Anche se si fa questo, gli utenti ordinari non saranno ANCORA in grado di buttare
connessione via software! L'esecuzione dello script ppp−off richiede i privilegi d
Comunque, qualsiasi utente può semplicemente spegnere il modem (o disconnettere
linea telefonica da un modem interno).
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Il PPP usa un certo numero di file per connettersi e impostare la connessione PPP. Q
differiscono per nome e locazione in PPP 2.1.2 e 2.2.
Gli utenti di Red Hat Linux dovrebbero notare che l'installazione predefinita di Red
mette questi script in /usr/doc/ppp−2.2.0f−2/scripts.
Se la directory già esiste, dovrebbe contenere un file di opzioni tipo, chiamato optio
Questo file è incluso qui sotto nel caso che non ci sia.
Se si posseggono più linee seriali o modem (caso tipico di un server PPP), si crei un
/etc/ppp/options generale contenente le opzioni comuni a tutte le porte seria
quali si vuole supportare il dial in/out e poi si crei un file di opzioni individuali per o
delle line seriali sulle quali si voglia poter stabilire una connessione PPP con le imp
Comunque, per una connessione PPP singola, si può semplicemente usare il file
/etc/ppp/options. In alternativa si possono mettere tutte le opzioni come argo
per il comando pppd stesso.
# Con questa opzione, pppd non trasmetterà pacchetti LCP per inizia
# una connessione finché non riceve un pacchetto LCP valido dal pee
# (come per l'opzione "passive" per le vecchie versioni di pppd).
#silent
# Aggiunge il nome del dominio <d> al nome dell'host locali per sco
# di autentificazione. Per esempio, se gethostname() ritorna il no
# porsche, ma il FQDN (Fully Qualified Domain Name) è
# porsche.Quotron.COM, si dovrebbe usare l'opzione domain per
# impostare il nome dominio a Quotron.COM.
#domain <d>
# Obbliga l'uso del nome dell'host come nome del sistema locale per
# scopi di autentificazione (ha priorità sull'opzione name).
#usehostname
#pap−restart <n>
Si dovrebbe inoltre notare che gli script di connessione qui presentati usano alcune o
in riga di comando di pppd per rendere il tutto un poco più semplice da modificare.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
#
# forza pppd a usare il proprio nome utente nell'ISP come 'nome hos
# durante il processo di autentificazione
name <proprio nome utente nell'ISP> # si deve modificare questa
#
# Se si fa girare un *server* PPP e si ha bisogno di forzare il PAP
# il CHAP si tolga il commento alla riga appropriata fra le due che
# seguono. NON usarle se si è un client che si connette ad un serve
# PPP (anche se questi usa PAP o CHAP) in quanto dicono al SERVER d
# autentificare se stesso nella propria macchina (e quasi certament
# non potrà farlo e la connessione fallirà).
#+chap
#+pap
#
# Se si usano secret CRIPTATI nel file /etc/ppp/pap−secrets, allora
# togliere il commento alla riga che segue.
# Nota: questo NON è la stessa cosa che usare le password MS cripta
# come si può fare con MS RAS in Windows NT.
#+papcrypt
Usare MSCHAP
Il RAS di Microsoft Windows NT può essere configurato per usare una variante di C
(Challenge/Handshake Authentication Protocol). Nella distribuzione sorgente di PP
possibile trovare un file chiamato README.MSCHAP80 che lo discute.
rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <auth chap 80> <magic 0x46a
Per poter usare MS CHAP, sarà necessario ricompilare pppd per supportarlo. Si ved
istruzioni nel file README.MSCHAP80 nei sorgenti di PPP per le istruzioni su co
compilare e usare questa variante.
Si dovrebbe notare che al momento il codice supporta solo i client PPP Linux che si
connettono ad un server MS Windows NT. NON supporta la configurazione di un s
Linux che usi MSCHAP80 come autentificazione dei client.
/etc/ppp/pap−secrets
/etc/ppp/chap−secrets
Il proprietario dev'essere l'utente root, il gruppo root e per ragioni di sicurezza i perm
devono essere impostati a 740.
La prima cosa da notare su PAP e CHAP è che sono stati progettati per autenticare c
non utenti.
Beh, una volta che la propria macchina ha fatto la sua connessione PPP al server,
QUALSIASI utente nel proprio sistema può usare quella connessione: non solamen
Questo spiega perché è possibile creare una connessione WAN (wide area network)
assieme due LAN (local area networks) usando PPP.
Il vostro ISP probabilmente vi avrà assegnato un nome utente e una password per pe
la connessione al loro sistema e quindi ad Internet. Il provider non è affatto interessa
del vostro computer, quindi probabilmente si dovrà usare il proprio nome utente nel
ISP come nome per il proprio computer.
name nome_utente_nel_proprio_ISP
Non è male notare anche che molti ISP usano banchi di modem multipli connessi a
server terminali, ognuno con un nome diverso, ma ai quali si ACCEDE (a rotazione
unico numero. Può essere quindi un po' difficile in alcuni casi sapere qual'è il nome
computer remoto in quanto dipende a quale server terminale ci si connette!
I quattro campi sono delimitati da spazi bianchi e l'ultimo può essere vuoto (il che è
probabilmente quello che si vuole per l'allocazione di indirizzi IP dinamica e probab
anche per quella statica da parte del proprio ISP).
Supponiamo che il proprio ISP assegni il nome utente fred e la password flints
dovrà aggiungere l'opzione name fred in /etc/ppp/options[.ttySx] e m
il file /etc/ppp/pap−secrets come segue
Questo file dice per il nome di macchina locale fred (che si è detto di usare a pppd
non è il nome locale della propria macchina) e per QUALSIASI server, bisogna usa
password (secret) flintstone.
Si noti che non c'è bisogno di specificare un indirizzo IP locale, a meno che non si v
FORZARE un indirizzo IP statico particolare. Anche se si prova, è abbastanza diffic
funzioni in quanto la maggior parte dei server PPP (per ragioni di sicurezza) non pe
sistema remoto di impostare il numero IP che gli stanno per dare.
e per barney
Si noti in particolare che entrambe le macchine devono avere voci per l'autentificazi
bidirezionale. Ciò permette alla macchina locale di autentificarsi presso il server E a
remota di autentificarsi in quella locale.
Comunque, molti utenti hanno lo stesso nome utente su due (o più o anche su tutti)
quali si connettono. Ciò causa un problema nella corretta selezione della riga approp
/etc/ppp/pap−secrets.
Come ci si potrebbe aspettare, PPP fornisce un meccanismo per risolverlo. PPP perm
impostare un 'nome assunto' per la terminazione remota della connessione (il server
l'opzione remotename di pppd.
Si supponga di connettersi a due server PPP usando il nome utente fred. Allora si im
proprio /etc/ppp/pap−secrets a qualcosa così
Poiché è possibile selezionare il file delle opzioni del ppp da usare con pppd usando
file nomefile, si può creare uno script per connettersi ad ognuno dei propri se
prendendo correttamente il file delle opzioni da usare e quindi selezionando l'opzion
remotename giusta.
Glossario
Il calderone magico
Per far ciò, il proprio software di comunicazione dev'essere in grado di uscire SENZ
reinizializzare il modem. Minicom lo può fare con ALT Q (o nelle versioni più vecc
Libri: CTRL ALT Q).
Linux HOWTO: Installazione e configurazione Se si usa pap o chap, allora semplicemente connettendosi al sistema remoto si dovre
partire il ppp e si vedranno le porcherie senza fare il login (sebbene ciò possa anche
Risorse accadere per alcuni server − si provi a premere Enter e si veda se iniziano le porche
Feedback Ora si esca dal software di comunicazione senza reinizializzare il modem (ALT Q o
in minicom) e al prompt di Linux (come root) si digiti
ifconfig
dove
(naturalmente, ifconfig non riporterà questi numeri IP ma quelli usati dal proprio se
la propria connessione PPP non è stata fatta...si veda oltre per il debug!
route −n
Di particolare importanza, si noti che ci sono DUE voci che puntano alla propria int
ppp.
Se non si vede una tabella di instradamento con queste due voci, qualcosa è andato
particolare se i log di sistema mostrano un messaggio che dice che pppd non ha rim
instradamento predefinito, allora si ha l'instradamento predefinito che punta alla pro
interfaccia Ethernet − il quale DEVE essere rimpiazzato da un instradamento di rete
SI PUÒ AVERE SOLO UN INSTRADAMENTO PREDEFINITO!!!
Si dovranno allora esplorare i file di inizializzazione del sistema per trovare dove vi
impostato questo instradamento predefinito (probabilmente verrà usato un comando
route add default...). Si cambi questo comando in qualcosa di simile a ro
net....
ping 10.144.153.51
Questo elenco andrà avanti per sempre − per fermarlo si usi CTRL C, e a quel punto
riceveranno un altro po' di informazioni:
Ora si provi a fare il ping ad un host usando il suo nome (non il nome del server PPP
un host in un altro sito che si SA essere probabilmente attivo...). Per esempio
ping sunsite.unc.edu
A questo punto ci sarà una piccola pausa mentre Linux ottiene dal DNS specificato
/etc/resolv.conf il numero IP per il nome host "fully qualified" al quale si è
ping − quindi non ci si preoccupi (si vedranno comunque le lucette del modem lamp
In breve si otterrà un output simile a
Se non si riceve nessuna risposta, si provi a fare il ping all'indirizzo IP del server DN
proprio ISP. Se si ottiene risposta, allora sembra proprio che ci sia qualche problem
proprio /etc/resolv.conf.
ppp−off
Se questo non funziona, si spenga il proprio modem oppure si lanci il proprio softw
comunicazione e si interrompa il modem con +++ e poi si riagganci con ATH0 quan
riceve il prompt OK del modem.
rm −f /var/lock/LCK..ttySx
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
per PPP−2.1.2
ppp−on
ppp−off
e per PPP−2.2
ppp−off
ppp−on
ppp−on−dialer
Ora, se si sta usando PPP 2.1.2, suggerisco caldamente di cancellare i file d'esempio
sono potenziali problemi con questi. E non venitemi a dire che funzionano bene, li h
per anni anch'io (e li raccomandavo nella prima versione di questo HOWTO)!
A beneficio degli utilizzatori di PPP 2.1.2, qui sono riportate delle versioni d'esemp
MIGLIORI prese dalla distribuzione di PPP 2.2. Suggerisco di copiarsi ed usare que
script invece dei vecchi script di PPP 2.1.2.
Lo script ppp−on
Questo è il primo di una COPPIA di script che lanciano la connessione.
#!/bin/sh
#
# Script per inizializzare una connessione PPP. Questo è il primo d
# una coppia di script. Questa coppia di script non è sicura in qua
# il codice è visibile usando il comando `ps'. Comunque, è semplice
#
# Questi sono i parametri. Li si modifichi a quel che necessita.
#!/bin/sh
#
# Questa è la seconda parte dello script ppp−on. Effettua il
# protocollo di connessione per la connessione desiderata.
#
/usr/sbin/chat −v \
TIMEOUT 3 \
ABORT '\nBUSY\r' \
ABORT '\nNO ANSWER\r' \
ABORT '\nRINGING\r\n\r\nRINGING\r' \
'' \rAT \
'OK−+++\c−OK' ATH0 \
TIMEOUT 30 \
OK ATDT$TELEPHONE \
CONNECT '' \
ogin:−−ogin: $ACCOUNT \
assword: $PASSWORD
#!/bin/sh
###################################################################
#
# Determina il dispositivo da chiudere
#
if [ "$1" = "" ]; then
DEVICE=ppp0
else
DEVICE=$1
fi
###################################################################
#
# Se esiste il pid file ppp0 allora il programma è in esecuzione. L
# ferma.
if [ −r /var/run/$DEVICE.pid ]; then
kill −INT `cat /var/run/$DEVICE.pid`
#
# Se il kill non funziona allora non c'è alcun processo in esecuzio
# con questo pid. Significa inoltre che il file di lock è stato
# lasciato lì. Allo stesso tempo si può quindi voler cancellare il
# file di lock.
if [ ! "$?" = "0" ]; then
rm −f /var/run/$DEVICE.pid
echo "ERRORE: Rimozione del vecchio file pid"
exit 1
fi
#
# Successo. Si lascia che pppd pulisca da solo la sua roba vecchia.
echo "Connessione PPP a $DEVICE terminata."
exit 0
fi
#
# Il processo ppp non è in esecuzione per ppp0
echo "ERRORE: connessione PPP non attiva su $DEVICE"
exit 1
Lo script ppp−on
Si deve modificare questo script per riflettere il PROPRIO nome utente nell'ISP, la
PROPRIA password per l'ISP, e il numero di telefono di quest'ultimo.
Ognuna delle righe simili a TELEPHONE= in realtà impostano una variabile shell ch
contiene l'informazione a destra di '=' (ad esclusione dei commenti naturalmente). Q
modifichi ognuna di queste righe in modo che vadano bene per la propria connessio
proprio ISP.
$LOCAL_IP:$REMOTE_IP \
Lo script ppp−on−dialer
Questo è il secondo degli script che mettono in funzione la propria connessione PPP
Nota: uno script di conversazione (chat) è solitamente tutto in una riga. I backslash
usati per permettere la continuazione di una riga in più righe fisiche (per comodità d
lettura) e non fanno parte dello script stesso.
Se si invia qualcosa SENZA prima ricevere niente, si deve usare una stringa attesa v
(indicata da #`¨#`¨) e similmente per aspettare qualcosa senza mandare niente! In
se una stringa consiste di diverse parole (p.es. NO CARRIER), bisogna racchiuderla
apici in modo che chat la veda come una singola entità.
exec /usr/sbin/chat −v
Invocando chat, il −v dice a chat di copiare TUTTO il suo I/O nei log di sistema
(solitamente /var/log/messages). Una volta che si è contenti di come funziona lo scr
modifichi questa riga per rimuovere il −v per preservare i log di sistema da confusio
necessaria.
TIMEOUT 3
Questo imposta il timeout per la ricezione di un input atteso a tre secondi. Ci può es
bisogno di incrementarlo diciamo a 5 o 10 secondi se si usa un modem veramente le
ABORT '\nBUSY\r'
ABORT '\nRINGING\r\n\r\nRINGING\r'
" \rAT
Attende che il modem non ritorni niente prima di inviare la stringa AT.
OK−+++\c−OK ATH0
Questa è un po' più complicata in quanto sfrutta qualcuna delle capacità di recupero
errori di chat.
Quel che dice è... Attendi OK, se NON è ricevuto (perché in modem non è in modo
comandi) allora invia +++ (la stringa predefinita compatibile Hayes che riporta il m
in modo comandi) e attendi OK. Poi invia ATH0 (la stringa di ``riattacco'' del mode
permette al nostro script di far fronte alle situazioni nella quali il proprio modem è
``bloccato in linea''!
TIMEOUT 30
OK ATDT$TELEPHONE
Attende OK (la risposta del modem al comando ATH0) e compone il numero che si
chiamare.
CONNECT ''
Attende CONNECT (che il modem invia quando il modem remoto risponde) e non
niente in risposta.
ogin:−−ogin: $ACCOUNT
Ancora, abbiamo anche qui un po' di recupero dagli errori. Aspetta il prompt per il l
(...ogin:) ma se non lo riceve entro il timeout, invia un return e poi attende ancora il
per il login. Quando ha ricevuto il prompt, invia il nome utente (salvato nella variab
$ACCOUNT).
assword: $PASSWORD
Attende il prompt per la password e invia la password (ancora salvata in una variabi
shell).
Questo script ha delle ragionevoli capacità per il recupero dagli errori. chat ha
considerevolmente molte più possibilità di quelle qui dimostrate. Per maggiori
informazioni si consulti la pagina di manuale di chat (man 8 chat).
Sebbene lo script ppp−on−dialer vada bene per server che avviano automaticamente
pppd da loro lato della connessione una volta effettuato il login, alcuni server richie
che si avvii esplicitamente il PPP nel server.
Se si deve dare un comando per avviare il PPP sul server, allora si DEVE modificar
script ppp−on−dialer.
Alla FINE dello script (dopo la riga della password) si aggiunga un'altra coppia atte
inviata − questa cercherà il proprio prompt della shell (si faccia attenzione ai caratte
hanno un significato particolare nelle Bourne shell, come $ e [ o ] (parentesi quadre
e chiuse).
Una volta che chat ha trovato il prompt della shell, deve dare il comando di avvio de
richiesto dal proprio ISP.
Nel mio caso, il mio server PPP usa il prompt della Linux Bash predefinito
[hartr@kepler hartr]$
ppp
È una buona idea permettere un po' di recupero dagli errori anche qui, quindi nel mi
uso
hartr−−hartr ppp
Questo dice che se non si riceve il prompt entro il timeout, di inviare un ritorno carr
(carriage return) e di cercare un'altra volta il prompt.
Nota: non si dimentichi di aggiungere un alla fine della riga precedente cosicché cha
ancora che l'intero script di conversazione sia in una riga!
#!/bin/sh
#
# Questa è la parte 2 dello script ppp−on. Effettuerà il protocollo
# connessione per la connessione desiderata.
#
exec /usr/sbin/chat −v \
TIMEOUT 3 \
ABORT '\nBUSY\r' \
ABORT '\nNO ANSWER\r' \
ABORT '\nRINGING\r\n\r\nRINGING\r' \
'' \rAT \
'OK−+++\c−OK' ATH0 \
TIMEOUT 30 \
OK ATDT$TELEPHONE \
CONNECT '' \
Poiché stiamo stabilendo una connessione con un nuovo script, per il momento si la
l'opzione per il debug (Attenzione: se lo spazio del disco è stringente, la registrazion
scambi pppd può far aumentare rapidamente la dimensione del file syslog, causando
problemi − questo succede solo nel caso in cui si fallisce la connessione e si continu
provare per qualche minuto).
Una volta contenti di come tutto funziona, si può rimuovere questa opzione.
Glossario
Si noti che uso numeri IP STATICI, quindi la mia macchina li spedisce al server PP
quindi non si vedrà questa parte se si usano numeri IP DINAMICI. Inoltre questo se
richiede un comando specifico per avviare il ppp dalla sua parte.
Se tutto sembra OK, lo si verifichi ulteriormente come prima con ping a numeri IP e
di host.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Non ci si preoccupi del SIOCDELRT, significa solo che pppd si è accorto che sta
terminando e non è niente di preoccupante.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
Sebbene si sia ricompilato il supporto per il ppp nel proprio kernel, non si è
fatto il boot con il nuovo kernel. Ciò può succedere se non si è aggiornato
/etc/lilo.conf e rilanciato lilo.
Questa mostra la versione del kernel e la data della sua compilazione, che
dovrebbero dare un'idea abbastanza buona di cosa sta funzionando.
Si deve usare ppp−2.2 con kernel versione 2.0.x. Si può usare ppp−2.2 con
kernel versione 1.2.x (se si applica una patch al kernel) altrimenti si deve
usare ppp−2.1.2.
Se non si esegue pppd come utente root (e pppd non è suid a root), si può
ricevere questo messaggio.
Un errore MOLTO comune è che si è scritto male qualcosa nei propri script.
La sola cosa da fare in questo caso è assicurarsi di registrare nei log di sistema
(/var/log/messages) la conversazione di chat tra il proprio PC Linux e il server
e poi analizzarla riga per riga. Può essere necessario connettersi manualmente
al server PPP e controllare ancora tutto.
Per capire cosa succede in questi casi, è necessario comprendere un po' di quel
che succede dietro le quinte durante l'esecuzione di pppd.
Quando pppd viene avviato, invia pacchetti LCP (Link Control Protocol −
Protocollo di Controllo del Collegamento) alla macchina remota. Se riceve
una risposta valida allora passa allo stadio successivo (usando pacchetti IPCP
− IP Control Protocol − Protocollo di Controllo IP) e solo quando questa
negoziazione è completa viene avviato lo strato IP in modo che si possa usare
la connessione PPP.
Se non c'è un server ppp funzionante all'altro capo quando il proprio PC invia
pacchetti LCP, questi vengono riflessi dal processo di login della terminazione
remota della connessione. Poiché questi pacchetti usano 8 bit, la loro
riflessione causa la soppressione dell'ottavo bit (si ricorda che ASCII è un
codice a 7 bit). Il PPP vede questo e si comporta di conseguenza.
Nella propria macchina, pppd si vede tutte le 10 richieste che gli tornano
indietro (senza l'ottavo bit) ed esce.
In alternativa, si può essere un po' furbini. Si dovrebbe aver notato che quando
si fa il login a mano nel server PPP e il PPP viene avviato, il primo carattere
ad apparire fra le porcherie prodotte dal server ppp è sempre il carattere tilde
(~).
\~ ''
La ragione classica per cui capita questo errore è che alcune distribuzioni
impostano l'instradamento predefinito verso la propria scheda Ethernet invece
di impostare uno specifico instradamento di rete.
Un'altra ragione potrebbe essere che la propria LAN usi già un gateway/router
e che la propria tabella di instradamento sia già impostata per puntare, tramite
l'instradamento predefinito, a tale gateway.
Altri problemi
Ci sono molte ragioni oltre a queste che possono causare il fallimento della
connessione ppp e/o non farla funzionare correttamente.
Si vedano le PPP FAQ (che sono veramente una serie di domande e risposte).
È un documento omnicomprensivo e le risposte SONO lì! Per la mia (brutta)
esperienza, se le risposte al proprio problema non solo lì, il problema NON è
un errore del ppp! Nel mio caso usavo un kernel ELF e non avevo aggiornato i
moduli correttamente. Ho perso solamente due giorni (e buona parte di una
notte) a stanare quello che si è rivelato essere un perfetto server PPP prima
delle luci dell'alba!
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Glossario
Linux−FAQ
Documenti:
ping my.provider.net.au
Glossario
Linux−FAQ
Configurazione dell'email
Anche per numeri IP dinamici, si può certamente configurare
sendmail sulla propria macchina per spedire fuori qualsiasi
email composta localmente. La configurazione di sendmail
può essere oscura e difficoltosa, quindi questo documento non
prova nemmeno a dire come farla. Comunque, si dovrebbe
probabilmente configurare sendmail cosicché il proprio ISP
sia designato come proprio "smart relay" host (l'opzione DS di
sendmail.cf) (per maggiori informazioni sulla
configurazione di sendmail, si veda la documentazione di
sendmail, e si dia un'occhiata alle configurazioni m4
distribuite con sendmail. Ce n'è certamente una che va bene
per il proprio caso).
sendmail −q &
Glossario
Linux−FAQ
Impostare i numeri IP
Ci si metta d'accordo con l'amministratore di rete dell'altra
LAN su i numeri IP che saranno usati per ognuno degli
estremi dell'interfaccia PPP. Se si stanno usando numeri IP
statici, ciò probabilmente richiede che ci si connetta ad uno
specifico numero telefonico.
Impostare l'instradamento
Ci si deve organizzare in modo che i pacchetti nella propria
LAN locale siano instradati attraverso l'interfaccia che la
connessione PPP stabilisce. Questo è un processo in due stadi.
Sicurezza di rete
Se si connette la propria LAN ad Internet usando PPP, anche
solamente ad una LAN #`¨straniera#`¨, si deve essere
consci delle questioni sulla sicurezza. Suggerisco caldamente
di considerare la configurazione di un firewall!
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Questo è semplicemente uno script shell e può fare qualsiasi cosa che uno script she
fare (ovvero virtualmente qualsiasi cosa si vuole).
Per esempio, si può fare in modo che sendmail invii qualsiasi messaggio in attesa d'
nella coda di posta.
Similmente, si può inserire in ip−up il comando per collezionare (usando pop) quals
email in attesa nel proprio ISP.
Instradamenti speciali
Se si stanno connettendo due LAN, si dovranno impostare instradamenti specifici p
LAN 'straniere'. Questo è facile da fare usando lo script /etc/ppp/ip−up. La so
difficoltà nasce se la propria macchina gestisce più connessioni PPP.
Si può fare usando il costrutto 'case' della bash su un parametro appropriato che ppp
allo script. Ad esempio, questo è lo script /etc/ppp/ip−up che uso per gestire l
connessioni WAN e le connessioni alla mia Ethernet di casa (gestita sempre dallo st
server PPP).
#!/bin/bash
#
# Script che gestisce le questioni di instradamento necessarie per
# pppd. Solo la connessione a Newman richiede questa gestione.
#
# Quando la connessione ppp è attiva, questo script viene chiamato
# i seguenti parametri
# $1 il nome dell'interfaccia usata da pppd (p.es. ppp3)
# $2 il nome del dispositivo tty
# $3 la velocità del dispositivo tty
# $4 l'indirizzo IP locale per l'interfaccia
# $5 l'indirizzo IP remoto
# $6 il parametro specificato dall'opzione 'ipparam' di
#
case "$5" in
# Gestisce gli instradamenti al server del Campus Newman
202.12.126.1)
/sbin/route add −net 202.12.126.0 gw 202.12.126.1
# e scarica la mail queue per spedire là le
#loro email il prima possibile!
/usr/sbin/sendmail −q &
;;
139.130.177.2)
# La nostra connessione ad Internet
# Quando la connessione è attiva, avvia il time server (se non è gi
# attivo) e si sincronizza con il mondo
if [ ! −f /var/lock/subsys/xntpd ]; then
/etc/rc.d/init.d/xntpd.init start &
fi
# Avvia il news server (se non è già attivo)
if [ ! −f /var/lock/subsys/news ]; then
/etc/rc.d/init.d/news start &
fi
;;
203.18.8.104)
# Spedisce la mail in attesa nella mia macchina non appena il link
# attivo.
# Non è richiesto nessun instradamento in quanto la mia Ethernet di
# casa è gestita da un instradamento di IP masquerade e proxyarp.
/usr/sbin/sendmail −q &
;;
*)
esac
exit 0
Come risultato della connessione ppp al nostro Campus Newman e di questo script,
ottengono le seguenti voci nella tabella di routing (questa macchina è pure il nostro
PPP e gestisce le nostre connessioni a Internet − ho aggiunto dei commenti nell'outp
spiegare a cosa corrisponde ognuna delle voci):
#!/bin/bash
#
# Script che gestisce le problematiche di instradamento come richie
# per dal pppd.
# Solo la connessione a Hedland necessita questa gestione.
#
# Quando la connessione ppp è attiva, questo script viene chiamato
# i seguenti parametri
# $1 il nome dell'interfaccia usata da pppd (p.es. ppp3)
# $2 il nome del dispositivo tty
# $3 la velocità del dispositivo tty
# $4 l'indirizzo IP locale per l'interfaccia
# $5 l'indirizzo IP remoto
# $6 il parametro specificato dall'opzione 'ipparam' di
#
case "$5" in
203.18.8.4)
/usr/sbin/sendmail −q
;;
*)
esac
exit 0
Si può usare slurp o quant'altro per fare la stessa cosa per le news, e così via. Si rico
lo script ip−up è uno script bash standard e quindi può essere usato per automatizza
QUALSIASI cosa che dev'essere svolta ogni volta che una certa connessione PPP v
fatta.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
La SOLA situazione che ho intenzione di trattare qui è quella in cui la propria macc
Linux è in una LAN che non è connessa ad Internet, e ci si vuole connettere ad Inter
per uso personale mantenendo la connessione alla LAN.
Prima di tutto, ci si assicuri che il proprio instradamento Ethernet sia impostato agli
indirizzi di rete specifici disponibili nella propria LAN, e NON impostato come
instradamento predefinito!
Come si può vedere, c'è un instradamento di tipo host verso il server PPP (10.144.15
tramite ppp0 ed anche un instradamento predefinito che usa il server PPP come gate
Se la propria LAN ha già degli instradamenti, allora probabilmente saranno già stati
impostati dei gateway alle altre reti disponibili nel proprio sito. In questo caso, si
dovrebbe COMUNQUE far puntare il proprio instradamento predefinito all'interfac
PPP, e rendere gli altri instradamenti specifici solamente per le reti che servono.
Glossario
Linux−FAQ
Documenti:
Il calderone magico Come già detto, ci sono molti modi per farlo. Quel che presento è il modo nel quale
faccio (usando una scheda seriale multiporta della Cyclades) e un insieme di linee
Libri: telefoniche a selezione rotativa.
Italian crackdown Se non vi piace il metodo qui presentato, sentitevi liberi di farlo a modo vostro. Avr
Open Sources comunque piacere di includere altri metodi nelle versioni future di questo HOWTO.
Quindi, vi invito ad inviarmi i vostri commenti e metodi!
MediaMorfosi
GTK+/GNOME Si noti, che questa sezione tratta solamente la configurazione di Linux come server
sviluppo applicazioni
Non ho intenzione di includere (mai) informazioni sulla configurazione di terminal
Linux HOWTO: Installazione e configurazione servers speciali o altro.
Risorse Inoltre, devo ancora fare esperimenti con le shadow password (ma lo farò prima o p
Le informazioni qui presentate quindi NON comprendono tutti gli ammenicoli che s
Feedback richiesti dalla shadow suite.
Per un server PPP, si DEVE includere l'IP forwarding nel proprio kernel. Si posson
voler includere anche altre caratteristiche (come IP firewall, accounting ecc ecc).
Se si usa una scheda seriale multiporta, ovviamente si devono anche includere nel k
driver necessari!
Poiché siamo un'organizzazione educativa, non facciamo pagare il nostro staff e gli
studenti per l'accesso, e quindi non dobbiamo preoccuparci di problematiche di accr
e messa in conto (accounting e charging).
Abbiamo un firewall tra il nostro sito ed Internet, e ciò restringe alcuni accessi agli
in quanto le linee di dial up sono dentro il nostro firewall (di Internet) (per ragioni
abbastanza ovvie, i dettagli degli altri firewall interni non sono qui presentati, e sono
comunque irrilevanti).
Il processo che un utente deve seguire per stabilire una connessione PPP nel nostro
(una volta che sia in possesso di un account valido naturalmente) è:
Quando gli utenti riappendono dalla loro parte, il pppd se ne accorge e dice al mode
riattaccare, portando giù, nello stesso tempo, la connessione PPP.
asyncmap 0
netmask 255.255.254.0
proxyarp
lock
crtscts
modem
Nota: noi NON usiamo nessun instradamento (ovvio) ed in particolare non c'è l'opzi
defaultroute. La ragione di ciò è che tutto quello che è richiesto di fare (come server
è di instradare i pacchetti dal client PPP verso la propria LAN/Internet e di instrada
pacchetti dalla propria LAN ed oltre verso il client.
Tutto ciò che serve per far questo è un instradamento di tipo host verso la macchina
e l'uso dell'opzione 'proxyarp' di pppd.
L'opzione 'proxyarp' imposta (sorpresa) una voce di proxy ARP nelle tabella ARP d
server PPP che in pratica dice 'spedisci a me tutti i pacchetti destinati al client PPP'.
Questo è il modo più semplice per impostare un instradamento ad un unico client PP
non la si può usare se si fa l'instradamento tra due LAN: si devono usare gli apposit
instradamenti di rete i quali non possono usare proxy ARP.
kepler:slip01
In particolare, si noti che si possono usare nomi host validi in questo file (ho scoper
ricordo solamente i numeri IP delle macchine e dei dispositivi critici nella mia rete,
nomi sono molto più significativi!).
Fortunatamente, pppd è stato progettato per essere eseguito in modo sicuro in setuid
root. Quindi bisognerà fare
Se non lo si fa, gli utenti non saranno in grado di attivare la loro connessione ppp.
Impostare pppd per permettere agli utenti di eseguirlo (con successo) 201
Linux HOWTO − Networking − Sommario
Quello che fa è:
Quando un utente fa il login in questo modo, apparirà nell'output del comando 'w' co
E questo è quanto...vi avevo detto che questo era un semplice sistema server PPP!
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Linux HOWTO: Installazione e configurazione Una volta che questo funziona, si può rimuovere getty A MENO CHE non ci si vog
assicurare che la connessione venga convalidata usando la coppia nome utente/pass
Risorse come per la connessione in dial up. Poiché si ha il 'controllo fisico' di entrambe le
macchine, presumo che NON lo si voglia fare.
Feedback
Ora, sul server, si rimuova getty e ci si assicuri che le porte seriali su entrambe le
macchine siano state configurate correttamente usando 'setserial'.
Tutto quel che bisogna fare adesso è di far partire pppd su entrambi i sistemi. Assum
che la connessione usi /dev/ttyS3 su entrambe le macchine. Quindi su entrambe si
esegua il comando:
Quindi nella macchina equipaggiata con la Ethernet, il comando pppd potrebbe esse
e sull'altra macchina:
Se si stanno connettendo due reti (usando una connessione seriale!) o si hanno nece
di instradamento più complesse, si può usare /etc/ppp/ip−up in un modo analogo a
quello mostrato in precedenza.
Robert Hart
Port Hedland, Western Australia
Melbourne, Victoria, Australia Agostost/Ottobre 1996 Gennaio/Marzo 1997
Usare PPP su una una connessione null modem (seriale diretta) 203
Linux HOWTO − Networking − Sommario
Abstract:
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Abstract: 204
Preambolo
Parole−chiave: DNS, bind, bind−4, bind−8, named, dialup,
ppp, slip, isdn, Internet, domain, name, hosts, resolving,
caching.
Note legali
(C)opyright 1995−1999 Nicolai Langfeldt. Do not modify
without amending copyright, distribute freely but retain
copyright message.
Dediche
Questo HOWTO è dedicato a Anne Line Norheim Langfeldt.
Anche se lei non lo leggerà mai poiché non è quel tipo di
ragazza.
Preambolo 205
Linux HOWTO − Networking − Sommario
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
DNS è, per i non iniziati (voi ;−), una delle aree più opache
dell'amministrazione di rete. Questo HOWTO cercherà di
rendere più chiare alcune cose. Esso descrive come impostare
un semplice name server DNS. Partendo da un server "caching
only" per poi avviarsi all'impostazione di un server DNS
primario per un dominio. Per configurazioni più complesse
date uno sguardo alla sezione [*] (Domande e Risposte) di
questo documento. Se non fosse descritto qui avrete bisogno
di leggere la Vera Documentazione. Tornerò più tardi su in
che cosa consista questa Vera Documentazione nell'ultimo
capitolo ([*]).
Introduzione 207
Linux HOWTO − Networking − Sommario
Glossario
GNU General Public License Un name server caching only troverà le risposte alle richieste di nomi e ricorderà le
La cattedrale e il bazaar quando la prossima volta ne avrete bisogno. Questo abbrevierà signficativamente il
attesa per le volte successive, specialmente se avete una connessione lenta.
Colonizzare la noosfera
Il calderone magico Prima di tutto vi occorre un file chiamato /etc/named.conf. Questo viene letto
named parte. Per adesso dovrebbe contenere semplicemente:
Libri:
// File di configurazione per un name server caching only
Italian crackdown
zone "0.0.127.in−addr.arpa" {
type master;
file "pz/127.0.0";
};
La linea `directory' dice a named dove guardare per i file. Tutti i file nominati i
saranno relativi a questa directory. Perciò pz è una directory sotto /var/named, o
/var/named/pz. /var/named è la giusta directory in accordo con il Linux File
Standard.
;
; There might be opening comments here if you already have this fil
; If not don't worry.
;
. 6D IN NS G.ROOT−SERVERS.NET.
. 6D IN NS J.ROOT−SERVERS.NET.
. 6D IN NS K.ROOT−SERVERS.NET.
. 6D IN NS L.ROOT−SERVERS.NET.
. 6D IN NS M.ROOT−SERVERS.NET.
. 6D IN NS A.ROOT−SERVERS.NET.
. 6D IN NS H.ROOT−SERVERS.NET.
. 6D IN NS B.ROOT−SERVERS.NET.
. 6D IN NS C.ROOT−SERVERS.NET.
. 6D IN NS D.ROOT−SERVERS.NET.
. 6D IN NS E.ROOT−SERVERS.NET.
. 6D IN NS I.ROOT−SERVERS.NET.
. 6D IN NS F.ROOT−SERVERS.NET.
Questo file descrive i root name server nel mondo. Esso cambia col tempo e deve es
aggiornato se necessario. Leggete la sezione [*] (Manutenzione) per sapere come fa
La linea `search' specifica su quali domini deve avvenire la ricerca per ogni nome
al quale volete collegarvi. La linea nameserver specifica l'indirizzo del vostro
nameserver, in questo caso la vostra stessa macchina poiché è qui che named lavora
(127.0.0.1 è corretto, non importa se la macchina ha già un altro indirizzo). Se volet
inserire più name server mettete una linea `nameserver' per ognuno di essi. (Nota
non legge mai questo file, il risolutore che usa named invece sì.)
Vediamo cosa fa questo file: se un client cerca la macchina pippo, allora il primo
che verrà fatto sarà pippo.sottodominio.proprio−dominio.edu, poi
pippo.proprio−dominio.edu e infine pippo. Se un client cerca
search sottodominio.proprio−dominio.edu
proprio−dominio.edu altro−dominio.com
e così via. Ovviamente dovrete metterci domini reali. Per favore notate l'assenza del
alla fine dei nomi di dominio. Questo è importante.
In seguito, a seconda della versione di libc che avete ci sarà bisogno di sistemare
/etc/nsswitch.conf o /etc/host.conf. Se avete già nsswitch.conf
questo che sistemerete, altrimenti sarà host.conf.
/etc/nsswitch.conf
Questo è un grosso file che specifica dove ottenere diversi tipi di dati, da quale file o
database. Solitamente all'inizio contiene utili commenti, che dovreste leggere. Poi c
linea che comincia per `hosts:', si dovrebbe leggere:
(avete ricordato cosa fare degli eventuali spazi iniziali, vero? non lo dirò più.)
Se non ci fosse una tale linea (che comincia per `hosts:') dovrete metterla. Questa
dice che i programmi devono per prima cosa guardare nel file /etc/hosts, dopo
usare il DNS in accordo con resolv.conf.
/etc/host.conf
order hosts,bind
Se la linea `order' non ci fosse la dovrete aggiungere. Questa linea dice alle routin
predisposte alla risoluzione dei nomi che devono per prima cosa guardare nel file
/etc/hosts, dopo devono chiedere al name server (che voi avete indicato in
resolv.conf all'indirizzo 127.0.0.1).
Se ci sono messaggi d'errore significa che c'è un problema. Named dirà il nome del
scorretto (uno tra named.conf e root.hints spero :−)). Uccidete named e tornate indie
controllare quel file.
Adesso potete testare la vostra configurazione. Usate nslookup per esaminare il vos
lavoro.
$ nslookup
Default Server: localhost
Address: 127.0.0.1
>
Se corrisponde a quello che vedete significa che sta funzionando. Altrimenti tornate
e ricontrollate tutto. Ogni volta che cambiate il file named.conf dovete far riparti
named con il comando ndc restart.
> pat.uio.no
Server: localhost
Address: 127.0.0.1
Name: pat.uio.no
Address: 129.240.130.16
> pat.uio.no
Server: localhost
Address: 127.0.0.1
Non−authoritative answer:
Name: pat.uio.no
Address: 129.240.2.50
Migliorarlo ancora
Nelle reti grosse, ben organizzate, accademiche o relative a ISP (Internet Service Pr
scoprirete che a volte le persone che lavorano sulla rete mettono a punto una gerarch
impiego dei server DNS, che aiuta ad alleggerire il carico sulla rete interna e sui ser
esterni. Non è facile capire se vi trovate dentro o fuori una rete. Comunque non è im
e usando il server DNS del vostro provider come ``forwarder'' farete in modo che le
alle vostre richieste siano più veloci e meno pesanti per la vostra rete. Se usate un m
questa può essere una piccola vittoria. Tanto per fare un esempio assumeremo che i
provider di rete (network provider) abbia due name server e che voglia farveli usare
numeri IP 10.0.0.1 e 10.1.0.1. Allora nel vostro file named.conf, all'inter
sezione d'apertura chiamata ``options'' inserite queste linee:
forward first;
forwarders {
10.0.0.1;
10.1.0.1;
};
C'è anche un trucco carino per le macchine dial−up che usano i forwarder, è descritt
sezione [*] (Domande e Risposte).
Fate ripartire il vostro name server e testatelo con nslookup. Dovrebbe funzionare b
Congratulazioni
Adesso sapete come impostare una versione con cache di named. Prendetevi una bir
latte o qualunque cosa vi piaccia per celebrare l'evento.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
$ nslookup
Default Server: localhost
Address: 127.0.0.1
interrogate su edu:
> edu.
Questo significa che tutti i server ROOT−SERVERS.NET risolvono EDU., così pot
interrogare uno qualunque di essi. Continueremo a usare il C. Adesso vogliamo sape
chi risolve il prossimo livello del nostro nome di dominio: mit.edu.:
> mit.edu.
Server: c.root−servers.net
Address: 192.33.4.12
Non−authoritative answer:
mit.edu nameserver = W20NS.mit.edu
mit.edu nameserver = BITSY.mit.edu
mit.edu nameserver = STRAWB.mit.edu
I nomi di host non sono case sensitive, ma io uso il mouse per tagliare e incollare co
come vengono dallo schermo.
Server: W20NS.mit.edu
Address: 18.70.0.160
> ai.mit.edu.
Server: W20NS.mit.edu
Address: 18.70.0.160
Non−authoritative answer:
ai.mit.edu nameserver = ALPHA−BITS.AI.MIT.EDU
ai.mit.edu nameserver = GRAPE−NUTS.AI.MIT.EDU
ai.mit.edu nameserver = TRIX.AI.MIT.EDU
ai.mit.edu nameserver = MUESLI.AI.MIT.EDU
ai.mit.edu nameserver = LIFE.AI.MIT.EDU
ai.mit.edu nameserver = BEET−CHEX.AI.MIT.EDU
ai.mit.edu nameserver = MINI−WHEATS.AI.MIT.EDU
ai.mit.edu nameserver = COUNT−CHOCULA.AI.MIT.EDU
ai.mit.edu nameserver = MINTAKA.LCS.MIT.EDU
E così partendo da . abbiamo scoperto i name server successivi per ogni livello nel
nome di dominio. Se usavate il vostro server DNS invece di tutti questi altri, il vostr
named avrebbe naturalmente messo nella propria cache tutte le informazioni trovate
Ho detto una bugia. DNS non funziona precisamente come ho descritto. Ma comunq
in maniera simile a questa.
Il nostro dominio
Adesso definiremo il nostro dominio. Stiamo per creare il dominio linux.bogus
per definire le macchine in esso. Utilizzo nomi di dominio completamente fasulli pe
essere sicuro di non disturbare nessuno. (Nessuno là fuori.)
Un'ultima cosa prima di iniziare: non tutti i caratteri sono permessi nei nomi degli h
Siamo limitati ai caratteri dell'alfabeto inglese: a−z, numeri: 0−9 e al carattere '−' (d
trattino). Ricordatevelo. Maiuscole e minuscole hanno lo stesso valore per il DNS, c
pat.uio.no è identico a Pat.UiO.No.
zone "0.0.127.in−addr.arpa" {
type master;
file "pz/127.0.0";
};
Per favore notate in questo file l'assenza del `.' alla fine dei nomi del dominio. Que
significa che ora definiremo la zona 0.0.127.in−addr.arpa, che siamo il ma
server per essa e che essa è descritta nel file chiamato pz/127.0.0. Abbiamo già
Per favore notate in questo file il `.' alla fine di tutti i nomi di dominio completi, in
contrasto col file named.conf di prima. Alcune persone hanno l'abitudine di inizi
ogni file relativo a una zona con una direttiva $ORIGIN, ma questo è superfluo.
L'origine (che appartiene alla gerarchia del DNS) di un file zona è specificata nella
sezione delle zone nel file named.conf, in questo caso è
0.0.127.in−addr.arpa.
NS è il RR Name Server. Non c'è la '@' all'inizio di questa linea: è implicita perché
l'ultima linea comincia con la '@'. Questo fa risparmiare un po' di battute sulla tastie
In questo modo la line NS può essere scritta:
0.0.127.in−addr.arpa. IN NS ns.linux.bogus
E alla fine il record PTR dice che l'host all'indirizzo 1 nella sottorete
tt/0.0.127.in−addr.arpa/, ovvero 127.0.0.1 è chiamato localhost.
Il record SOA è il preambolo di tutti i file di zona, e deve esisterne esattamente uno
ogni file di zona. Questo record descrive la zona, da dove esso viene (una macchina
chiamata ns.linux.bogus), chi è responsabile per i suoi contenuti
(hostmaster@linux.bogus, dovrete inserire il vostro indirizzo e−mail qui), q
è la versione del file di zona (serial: 1), e altre cose che riguardano il server DNS
secondario o quello che fa da cache. Per il resto dei campi (refresh, retry, expire e
minimum) usate pure i valori indicati in questo HOWTO e sarete a posto.
Adesso fate ripartire named (il comando è ndc restart) e usate nslookup per
esaminare cosa avete fatto:
$ nslookup
> 127.0.0.1
Server: localhost
Address: 127.0.0.1
Name: localhost
Address: 127.0.0.1
si ottiene localhost da 127.0.0.1, bene. Ora per il nostro scopo principale, il dom
linux.bogus, inserite una nuova 'zona' in named.conf:
zone "linux.bogus" {
notify no;
type master;
file "pz/linux.bogus";
};
Notate ancora l'assenza del `.' finale nel nome del dominio nel file named.conf.
;
; File di zona per linux.bogus
;
; File di zona completo
;
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
199802151 ; numero di serie, data di oggi +
; # di serie di oggi
8H ; refresh, secondi
2H ; retry, secondi
1W ; expire, secondi
1D ) ; minimum, secondi
;
NS ns ; Indirizzo Inet del name server
MX 10 mail.linux.bogus ; Mail Exchanger Primario
MX 20 mail.friend.bogus. ; Mail Exchanger Secondari
;
localhost A 127.0.0.1
ns A 192.168.196.2
mail A 192.168.196.4
Bisogna notare due cose a proposito del record SOA. ns.linux.bogus deve ess
una macchina effettiva con un record A. Non è legale avere un record CNAME per
macchina indicata nel record SOA. Il suo nome non deve essere per forza `ns', può
essere un qualsiasi nome legale di host. La seconda cosa, hostmaster.linux.bogus de
essere interpretato come hostmaster@linux.bogus, questo dovrà essere un alias per u
indirizzo email vero, o una mailbox, purché la/le persona/e che mantengono il DNS
leggano la posta frequentemente. Ogni mail che riguarda il dominio sarà spedita
all'indirizzo indicato in questo record. Il nome non deve essere per forza `hostmaste
potrà essere un normale indirizzo email, di solito ci si aspetta che `hostmaster' funzi
dovere (cioè che la posta indirizzata ad esso arrivi da qualche parte).
C'è un nuovo tipo di RR in questo file, MX o RR Mail eXchanger. Esso indica ai sis
adibiti allo smistamento della posta dove mandarla, quando è ad esempio indirizzata
qualcuno@linux.bogus; nel nostro caso si tratta di mail.linux.bogus o
mail.friend.bogus. Il numero che precede ogni nome di macchina indica la
priorità del RR MX. Il RR con il numero più basso (10) è quello che indica il mail s
al quale, se possibile, deve essere mandata la posta per primo. Se non funzionasse la
posta potrà essere spedita a un server con un numero più alto, un mail server second
ovvero mail.friend.bogus che appunto ha priorità 20 nel nostro caso.
Fate ripartire named con ndc restart. Esaminate i risultati con nslookup:
$ nslookup
> set q=any
> linux.bogus
Server: localhost
Address: 127.0.0.1
linux.bogus
origin = ns.linux.bogus
mail addr = hostmaster.linux.bogus
serial = 199802151
refresh = 28800 (8 hours)
retry = 7200 (2 hours)
expire = 604800 (7 days)
minimum ttl = 86400 (1 day)
linux.bogus nameserver = ns.linux.bogus
linux.bogus preference = 10, mail exchanger =
mail.linux.bogus.linux.bogus
linux.bogus preference = 20, mail exchanger =
mail.friend.bogus
linux.bogus nameserver = ns.linux.bogus
ns.linux.bogus internet address = 192.168.196.2
mail.linux.bogus internet address = 192.168.196.4
oppure
è corretto. Io preferisco il secondo modo perché è più breve da scrivere. Ci sono alc
esperti di bind che non approvano, altri invece sì. Quindi in un file di zona il domin
dovrebbe essere scritto per intero e fatto terminare da un `.' o dovrebbe essere esclu
del tutto, in questo caso verrebbe sostituito dall'origine.
Devo stressarvi con la storia del file named.conf, non ci devono essere `.' alla fine d
nomi di dominio. Non avete idea di quante volte un `.' di troppo (o la sua assenza)
ingarbugliato le cose e confuso delle indiavolate persone.
Dunque ecco qua il nuovo file di zona, con qualche informazione extra messa nel m
giusto:
;
; File di zona per linux.bogus
;
; Il file di zona completo
;
@ IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
199802151 ; # di serie, data di oggi +
; # di serie di oggi
8H ; refresh, secondi
2H ; retry, secondi
1W ; expire, secondi
1D ) ; minimum, secondi
;
TXT "Linux.Bogus, il proprio consulente DNS"
NS ns ; Indirizzo Inet del name server
NS ns.friend.bogus.
MX 10 mail ; Mail Exchanger Primario
MX 20 mail.friend.bogus. ; Mail Exchanger Secondario
localhost A 127.0.0.1
gw A 192.168.196.1
HINFO "Cisco" "IOS"
TXT "Il router"
ns A 192.168.196.2
MX 10 mail
MX 20 mail.friend.bogus.
HINFO "Pentium" "Linux 2.0"
www CNAME ns
donald A 192.168.196.3
MX 10 mail
MX 20 mail.friend.bogus.
HINFO "i486" "Linux 2.0"
TXT "DEK"
mail A 192.168.196.4
MX 10 mail
MX 20 mail.friend.bogus.
HINFO "386sx" "Linux 1.2"
ftp A 192.168.196.5
MX 10 mail
MX 20 mail.friend.bogus.
HINFO "P6" "Linux 2.1.86"
L'utilizzo del record CNAME è un po' controverso. Ma è bene seguire la regola per
un record MX, CNAME o SOA non dovrebbero mai riferirsi a un record CNAME,
dovrebbero far rifimento soltanto a qualcosa che abbia un record A, cioè non è
auspicabile avere
ma è corretto avere
È anche consigliabile assumere che un CNAME non è un nome di host legale per un
indirizzo email: webmaster@www.linux.bogus è un indirizzo email illegale
generato dall'impostazione errata di cui sopra. Anche se per voi funziona, qualche
amministratore di server di posta vi farà rispettare questa regola. Il modo per imped
tutto questo è usare un record A (o anche un record tipo MX):
www A 192.168.196.2
Ma coma potrete notare, questo HOWTO e molti siti non seguono questa regola.
Caricate il nuovo database facendo ndc reload, questo imporrà a named di rileg
i suoi file.
$ nslookup
Default Server: localhost
Address: 127.0.0.1
> ls −d linux.bogus
[localhost]
$ORIGIN linux.bogus.
@ 1D IN SOA ns hostmaster (
199802151 ; serial
8H ; refresh
2H ; retry
1W ; expiry
1D ) ; minimum
1D IN NS ns
1D IN NS ns.friend.bogus.
1D IN TXT "Linux.Bogus, your DNS consultants"
1D IN MX 10 mail
1D IN MX 20 mail.friend.bogus.
gw 1D IN A 192.168.196.1
1D IN HINFO "Cisco" "IOS"
1D IN TXT "Il router"
mail 1D IN A 192.168.196.4
1D IN MX 10 mail
1D IN MX 20 mail.friend.bogus.
1D IN HINFO "386sx" "Linux 1.0.9"
localhost 1D IN A 127.0.0.1
www 1D IN CNAME ns
donald 1D IN A 192.168.196.3
1D IN MX 10 mail
1D IN MX 20 mail.friend.bogus.
1D IN HINFO "i486" "Linux 1.2"
1D IN TXT "DEK"
ftp 1D IN A 192.168.196.5
1D IN MX 10 mail
1D IN MX 20 mail.friend.bogus.
1D IN HINFO "P6" "Linux 1.3.59"
ns 1D IN A 192.168.196.2
1D IN MX 10 mail
1D IN MX 20 mail.friend.bogus.
1D IN HINFO "Pentium" "Linux 1.2"
È buono. Come potete vedere somiglia un sacco allo stesso file di zona. Vediamo co
dice per www da solo:
zone "196.168.192.in−addr.arpa" {
notify no;
type master;
file "pz/192.168.196";
};
1 PTR gw.linux.bogus.
2 PTR ns.linux.bogus.
3 PTR donald.linux.bogus.
4 PTR mail.linux.bogus.
5 PTR ftp.linux.bogus.
Adesso fate ripartire named (ndc restart) e esaminate ancora il lavoro con
nslookup :
> 192.168.196.4
Server: localhost
Address: 127.0.0.1
Name: mail.linux.bogus
Address: 192.168.196.4
> ls −d 196.168.192.in−addr.arpa
[localhost]
$ORIGIN 196.168.192.in−addr.arpa.
@ 1D IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
199802151 ; serial
8H ; refresh
2H ; retry
1W ; expiry
1D ) ; minimum
1D IN NS ns.linux.bogus.
1 1D IN PTR gw.linux.bogus.
2 1D IN PTR ns.linux.bogus.
3 1D IN PTR donald.linux.bogus.
4 1D IN PTR mail.linux.bogus.
5 1D IN PTR ftp.linux.bogus.
@ 1D IN SOA ns.linux.bogus. hostmaster.linux.bogus. (
199802151 ; serial
8H ; refresh
2H ; retry
1W ; expiry
1D ) ; minimum
Sembra buono! Se il vostro output non viene simile a questo guardate i messaggi
d'errore nel vostro syslog. Ho spiegato come farlo all'inizio del capitolo.
E naturalmente, questo dominio è veramente fasullo, e così tutti gli indirizzi in esso
un vero esempio tratto dalla vita reale leggete il prossimo capitolo.
Discuterò due problematiche del lookup inverso viste dall'esterno della vostra rete:
Anche la zona inversa deve essere delegata. Se avete ottenuto la rete 192.168.19
con il dominio linux.bogus dal vostro provider di servizi, loro dovranno metter
record NS nella vostra zona inversa così come per la vostra zona di forward. Se segu
la catena partendo da in−addr.arpa fino alla vostra rete, probabilmente troveret
un'interruzione nella catena. Molto probabilmente a livello del vostro service provid
Una volta scoperta l'interruzione contattate il provider e chiedetegli di correggere
l'errore.
Una sottorete classless è ciò che oggi manda avanti Internet. Qualche anno fa si è fa
molto rumore a causa della scarsità di numeri IP. Le brillanti persone che lavorano a
IETF (l'Internet Engineering Task Force, sono loro che mantengono la funzionalità
Internet) unirono le loro menti e risolsero il problema. Ma bisogna pagare un prezzo
prezzo è che avrete meno che una sottorete di classe ``C'' e qualche cosa potrebbe n
funzionare. Leggete per favore Ask Mr. DNS at
http://www.acmebw.com/askmrdns/00007.htm per una buona spiegazione e per com
trattare il problema.
La prima parte del problema è costituita dal fatto che il vostro ISP deve capire la tec
descritta da Mr. DNS. Non tutti i piccoli ISP hanno una chiara visione di questa. Se
il caso dovrete spiegar loro come fare ed essere insistenti. Ma anche voi assicuratev
aver capito bene prima ;−). A questo punto loro imposteranno una buona zona inver
sui loro server, e voi potrete esaminarla correttamente con nslookup.
La seconda e ultima parte del problema è costituita dal fatto che voi dovete compren
la tecnica. Se non siete sicuri rileggetela ancora. Dopo potrete impostare le zone inv
della vostra sottorete classless come descritto da Mr. DNS.
Nei dontorni c'è un'altra trappola in agguato. I vecchi risolutori non sono abilitati a
sfruttare il trucco del CNAME nella catena della risoluzione e falliranno nel tentativo
risolvere inversamente (reverse−resolving) la vostra macchina. Questo problema pu
portare ad assegnare al servizio una scorretta classe di accesso, all'accesso negato o
qualcosa del genere. Se inciampaste in un servizio di questo tipo l'unica soluzione (c
io conosca) è che il vostro ISP inserisca direttamente nel suo file di zona truccato (il
relativo alla vostra zona classless) il vostro record PTR anziché il record CNAME
truccato (è un modo per ingannare il DNS e per fargli accettare qualcosa per cui non
preparato).
Altri ISP offriranno diversi modi per risolvere questo problema, come dei form via
(Web−based) che permettono di inserire i vostri dati sulla zona inversa, oppure con
sistemi "automagici".
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
/etc/named.conf (o /var/named/named.conf)
Qui troveremo le sezioni relative alle due zone inverse richieste: la rete 127.0.0, e la
sottorete LAND−5 206.6.177. Poi c'è la linea relativa alla zona di forward per la
land−5.com. Si noti come i file siano stati sistemati nella directory chiamata zon
anziché in pz come ho fatto in questo HOWTO.
options {
directory "/var/named";
};
zone "." {
type hint;
file "root.hints";
};
zone "0.0.127.in−addr.arpa" {
type master;
file "zone/127.0.0";
};
zone "land−5.com" {
type master;
file "zone/land−5.com";
};
zone "177.6.206.in−addr.arpa" {
type master;
file "zone/206.6.177";
};
Se aveste intenzione di usare queste righe nel vostro named.conf (ma solo per gioco
FAVORE mettete ``notify no;'' nelle sezioni relative alle due zone land−5 co
evitare incidenti.
/var/named/root.hints
Tenete a mente che questo è un file dinamico, e quello che c'è qua sarà vecchio. È m
che ne procuriate uno recente, con dig, come verrà presto spiegato.
;; ANSWER SECTION:
. 6D IN NS G.ROOT−SERVERS.NET.
. 6D IN NS J.ROOT−SERVERS.NET.
. 6D IN NS K.ROOT−SERVERS.NET.
. 6D IN NS L.ROOT−SERVERS.NET.
. 6D IN NS M.ROOT−SERVERS.NET.
. 6D IN NS A.ROOT−SERVERS.NET.
. 6D IN NS H.ROOT−SERVERS.NET.
. 6D IN NS B.ROOT−SERVERS.NET.
. 6D IN NS C.ROOT−SERVERS.NET.
. 6D IN NS D.ROOT−SERVERS.NET.
. 6D IN NS E.ROOT−SERVERS.NET.
. 6D IN NS I.ROOT−SERVERS.NET.
. 6D IN NS F.ROOT−SERVERS.NET.
;; ADDITIONAL SECTION:
G.ROOT−SERVERS.NET. 5w6d16h IN A 192.112.36.4
J.ROOT−SERVERS.NET. 5w6d16h IN A 198.41.0.10
K.ROOT−SERVERS.NET. 5w6d16h IN A 193.0.14.129
L.ROOT−SERVERS.NET. 5w6d16h IN A 198.32.64.12
M.ROOT−SERVERS.NET. 5w6d16h IN A 202.12.27.33
A.ROOT−SERVERS.NET. 5w6d16h IN A 198.41.0.4
H.ROOT−SERVERS.NET. 5w6d16h IN A 128.63.2.53
B.ROOT−SERVERS.NET. 5w6d16h IN A 128.9.0.107
C.ROOT−SERVERS.NET. 5w6d16h IN A 192.33.4.12
D.ROOT−SERVERS.NET. 5w6d16h IN A 128.8.10.90
E.ROOT−SERVERS.NET. 5w6d16h IN A 192.203.230.10
I.ROOT−SERVERS.NET. 5w6d16h IN A 192.36.148.17
F.ROOT−SERVERS.NET. 5w6d16h IN A 192.5.5.241
/var/named/zone/127.0.0
Solo lo stretto necessario, il record obbligatorio SOA, e un record che mette in
corrispondenza 127.0.0.1 con localhost. Entrambi sono richiesti. Non deve esse
nient'altro in questo file. Probabilmente non ci sarà mai bisogno di aggiornare quest
meno che non cambino gli indirizzi del nameserver o hostmaster.
/var/named/root.hints 230
Linux HOWTO − Networking − Sommario
1 PTR localhost.
/var/named/zone/land−5.com
Qui possiamo vedere il record obbligatorio SOA e i record NS richiesti. Si può vede
è presente un nameserver secondario in ns2.psi.net. Questo è come dovrebbe e
bene avere sempre un server secondario fuori dalla vostra rete che faccia da backup
notare anche la presenza di un host principale (master host) chiamato land−5 che
prende cura della maggior parte dei servizi Internet, e questo è fatto tramite i record
CNAME (alternativamente si possono usare i record A).
Come si può vedere dal record SOA, il file di zona comincia con land−5.com, la
persona da contattare è root@land−5.com. Anche hostmaster è spesso utiliz
per il responsabile di zona. Il numero seriale è nel formato standard yyyymmdd
(aaaammgg) con il numero che indica il giorno (todays serial number) a seguire. Qu
forse la sesta versione del file di zona del 20 settembre 1996. Ricordate che il serial
number deve essere incrementato in maniera monotonica, qui c'è solo una cifra per
serial #, così dopo 9 volte che si è editato il file bisogna aspettare il giorno successiv
prima che si possa editarlo di nuovo. Comunque considerate che si possono usare 2
localhost A 127.0.0.1
router A 206.6.177.1
land−5.com. A 206.6.177.2
ns A 206.6.177.3
www A 207.159.141.192
funn A 206.6.177.2
;
; Workstations
/var/named/zone/land−5.com 231
Linux HOWTO − Networking − Sommario
;
ws−177200 A 206.6.177.200
MX 10 land−5.com. ; Primary Mail Host
ws−177201 A 206.6.177.201
MX 10 land−5.com. ; Primary Mail Host
ws−177202 A 206.6.177.202
MX 10 land−5.com. ; Primary Mail Host
ws−177203 A 206.6.177.203
MX 10 land−5.com. ; Primary Mail Host
ws−177204 A 206.6.177.204
MX 10 land−5.com. ; Primary Mail Host
ws−177205 A 206.6.177.205
MX 10 land−5.com. ; Primary Mail Host
; {Many repetitive definitions deleted − SNIP}
ws−177250 A 206.6.177.250
MX 10 land−5.com. ; Primary Mail Host
ws−177251 A 206.6.177.251
MX 10 land−5.com. ; Primary Mail Host
ws−177252 A 206.6.177.252
MX 10 land−5.com. ; Primary Mail Host
ws−177253 A 206.6.177.253
MX 10 land−5.com. ; Primary Mail Host
ws−177254 A 206.6.177.254
MX 10 land−5.com. ; Primary Mail Host
Esaminando i nameserver di land−5 scoprirete che gli host hanno un nome del tipo
ws_numero. Con le ultime versioni di bind−4 named ha iniziato a porre delle restriz
sui caratteri che potevano essere usati nei nomi di host. In questo HOWTO io ho so
'−' (dash, trattino) con '_' (underline) in modo da uniformarmi alle regole di bind−8
nomi di host.
Un'altra cosa da notare è che le workstation non hanno nomi individuali, ma un pref
seguito dalle ultime due parti del numero IP. Usare delle convenzioni simili può
semplificare significativamente la manutenzione, ma può risultare impersonale e in
potrebbe anche irritare i vostri clienti.
/var/named/zone/206.6.177
Commenterò questo file più sotto.
/var/named/zone/206.6.177 232
Linux HOWTO − Networking − Sommario
2 PTR funn.land−5.com.
;
; Workstations
;
200 PTR ws−177200.land−5.com.
201 PTR ws−177201.land−5.com.
202 PTR ws−177202.land−5.com.
203 PTR ws−177203.land−5.com.
204 PTR ws−177204.land−5.com.
205 PTR ws−177205.land−5.com.
; {Many repetitive definitions deleted − SNIP}
250 PTR ws−177250.land−5.com.
251 PTR ws−177251.land−5.com.
252 PTR ws−177252.land−5.com.
253 PTR ws−177253.land−5.com.
254 PTR ws−177254.land−5.com.
La zona inversa costituisce quella fase della configurazione che causa più grane. Es
a ricavare il nome di un host dall'indirizzo IP di una macchina. Esempio: voi siete u
IRC e accettate connessioni dai client IRC. Inoltre siete un server IRC Norvegese a
che queste connessioni provengano da client Norvegesi o da altre nazioni Scandinav
Quando ricevete una richiesta di connessione da un client la libreria C è in grado di
numero IP della macchina che sta tentando la connessione, poiché il numero IP del
contenuto in ogni pacchetto che attraversa la rete. A questo punto potrete chiamare
funzione chiamata gethostbyaddr che ricava il nome di un host a partire dal suo indi
IP. Gethostbyaddr interrogherà un server DNS, il quale attraverserà il DNS in cerca
macchina. Supponiamo che il client si connetta da ws−177200.land−5.com. La libre
presente nel server ricava il numero IP del client che tenta la connessione, in questo
206.6.177.200. Per scoprire il nome di questa macchina bisogna prima scoprire
200.177.6.206.in−addr.arpa. Il server DNS troverà prima i server arpa.
troverà i server in−addr.arpa., seguendo il percorso inverso passando per 206,
6 e alla fine troverà il server responsabile per la zona 177.6.206.in−addr.ar
presso LAND−5. Da questo finalmente si potrà ricavare che in
200.177.6.206.in−addr.arpa c'è un record ``PTR
ws−177200.land−5.com'', e questo significa che il nome associato a
206.6.177.200 è ws−177200.land−5.com. Come è stato detto per la spieg
della ricerca (looking up) di prep.ai.mit.edu, anche questa è leggermente fitti
Riprendiamo l'esempio del server IRC. Il server IRC accetta connessioni solo da pae
Scandinavi, ovvero *.no, *.se, *.dk il nome ws−177200.land−5.com non
corrisponde a nessuno di questi ovviamente, e il server negherà la connessione. Se n
fosse la corrispondenza inversa (reverse mapping) di 206.2.177.200 tramite la
in−addr.arpa il server sarebbe incapace di scoprire il nome e avrebbe dovuto
comparare 206.2.177.200 con *.no, *.se e *.dk, senza trovare nessuna
corrispondenza.
Alcune persone vi diranno che il mapping del lookup inverso è importante solo per
server, o per nulla importante. Non è così: molti server ftp, news, IRC e anche qualc
server http (WEB) non accetteranno connessioni da macchine per le quali non riesco
trovare il nome. E così il mapping inverso diventa di fatto obbligatorio.
/var/named/zone/206.6.177 233
Linux HOWTO − Networking − Sommario
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
C'è un altro compito di manutenzione che dovete fare sui named, oltre a quello di te
operativi. Consiste nel mantenere aggiornato il file root.hints. Il modo più sem
è usare dig, fate partire dig senza argomenti, otterrete root.hints in accordo col
quello che c'è sul vostro server. Poi fate una richiesta a uno dei root server elencati c
dig @rootserver. Vedrete che l'output somiglierà terribilmente al file
root.hints. Salvatelo in un file (dig @e.root−servers.net . ns
>root.hints.new) e rimpiazzate il vecchio root.hints con questo.
#!/bin/sh
#
# Update the nameserver cache information file once per month.
# This is run automatically by a cron entry.
#
# Original by Al Longyear
# Updated for bind 8 by Nicolai Langfeldt
# Miscelanious error−conditions reported by David A. Ranch
# Ping test suggested by Martin Foster
#
(
echo "To: hostmaster <hostmaster>"
echo "From: system <root>"
echo "Subject: Automatic update of the root.hints file"
echo
PATH=/sbin:/usr/sbin:/bin:/usr/bin:
export PATH
cd /var/named
Manutenzione 235
Linux HOWTO − Networking − Sommario
*)
echo "The root.hints file update has FAILED."
echo "This is the dig output reported:"
echo
cat root.hints.new
exit 0
;;
esac
echo "The root.hints file has been updated to contain the followin
information:"
echo
cat root.hints.new
Qualcuno di voi potrebbe aver notato che il file root.hints è disponibile anche
da Internic. Per favore, non usate ftp per aggiornare root.hints, il metodo sopra
descritto è molto più amichevole per la rete, e per Internic.
Glossario
Linux−FAQ
Documenti:
Il calderone magico Questa era originariamente una sezione sull'uso di bind 8, scritta da Davie E. Smith
(dave@bureau42.ml.org). L'ho rivista in modo da conformarla al nuovo nome della
Libri: sezione.
Italian crackdown Non c'è molto. Eccetto che per l'uso di named.conf al posto di named.boot, tutto è
Open Sources identico. E bind8 è fornito con uno script perl che converte i file vecchio stile nel nu
Esempio di named.boot (vecchio stile) per un name server che fa solo da cache
MediaMorfosi
(caching−only):
GTK+/GNOME
sviluppo applicazioni
directory /var/named
Linux HOWTO: Installazione e configurazione cache . root.hints
primary 0.0.127.IN−ADDR.ARPA 127.0.0.zone
Risorse primary localhost localhost.zone
Feedback Dalla linea di comando, nella directory bind8/src/bin/named (si assume che abbiate
distribuzione dei sorgenti. Se avete il pacchetto dei binari lo script sarà da qualche
parte, comunque non so esattamente dove dovrebbe stare. −ed−), digitate:
// generated by named−bootconf.pl
options {
directory "/var/named";
};
zone "." {
type hint;
file "root.hints";
};
zone "0.0.127.IN−ADDR.ARPA" {
type master;
file "127.0.0.zone";
};
zone "localhost" {
type master;
file "localhost.zone";
};
Questo script funziona per tutto ciò che potrebbe stare dentro un file named.boot
sebbene non aggiunga tutti i miglioramenti e le nuove opzioni di configurazione che
bind8 supporta. Qui c'è un named.conf più completo, che fa le stesse cose ma ch
appena più efficiente.
options {
directory "/var/named";
datasize 20M;
};
zone "localhost" IN {
type master;
file "localhost.zone";
};
zone "0.0.127.in−addr.arpa" IN {
type master;
file "127.0.0.zone";
};
zone "." IN {
type hint;
file "root.hints";
};
I formati dei file di zona e root.hints sono identici, così come i comandi per
aggiornarli.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
all'interno della parte ``options'' del file named.conf come suggerito nell
sezione−esempio [*] (Un name server caching only.)
8. Come fare in modo che il DNS distribuisca un servizio attraverso gli indiriz
tipo www.sito.occupato per ottenere un effetto di bilanciamento, o sim
zone "linux.bogus" {
type slave;
file "sz/linux.bogus";
masters { 127.0.0.1; };
};
Potrete elencare numerosi master server alternativi, la zona può essere copia
lista masters, separata da ';'.
3. Vorrei bind in esecuzione quando mi disconnetto dalla rete.
forward only;
forwarders { 193.133.58.5; };
−−−−
; root.hints.fake
; this file contains no information
−−−−
Con una delle mie macchine (un notebook Libretto 30), avevo
che qualche volta avrei voluto fare il mount di essa da un a
connesso alla mia rete locale, ma la maggior parte delle vol
funzionava. Avevo lo stesso effetto usando indistintamente P
scheda ethernet PCMCIA o il PPP su una interfaccia seriale.
5. Named salva la cache fra un riavvio e l'altro? Posso fare in modo che la salv
No, named non salva la cache quando si ferma. Questo significa che la cach
ricostituita ogni volta che fermate e fate ripartire named. Non c'è modo di sa
in un file. Se questo non vi andasse bene potrete sempre cercare di modifica
andando ad agire sul codice sorgente di esso. Non è comunque un'operazion
raccomandabile.
Contattate per favore il vostro provider di servizi di rete. Loro sapranno aiu
Sappiate che in molte parti del mondo ci sarà bisogno di pagare per avere u
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Abstract:
Glossario
Linux−FAQ
Documenti:
Abstract: 244
Open Source Definition
Cos'è?
Il Linux ipchains è una riscrittura del codice di firewalling
IPv4 di Linux (il quale era stato rubato principalmente da
BSD) e una riscrittura di ipfwadm, che a sua volta era,
almeno penso, una riscrittura del ipfw di BSD. È richiesto
per amministrare il filtraggio dei pacchetti IP nelle versioni
del kernel di Linux 2.1.102 e superiori.
Perché?
Il vecchio codice di firewalling di Linux non gestisce i
frammenti (fragment), ha contatori a 32 bit (almeno su Intel),
non permette di specificare protocolli diversi da TCP, UDP e
ICMP, non può rendere atomiche grosse modifiche, non può
specificare regole inverse, ha qualche scemata e può risultare
duro da manipolare (rendendolo propenso a errori utente).
Come?
Attualmente il codice fa parte del kernel a partire dalla
versione 2.1.102. Per la serie dei kernel 2.0, è necessario
scaricare una patch dalla pagina Web. Se il proprio kernel 2.0
è più recente della patch disponibile, una patch più vecchia
dovrebbe andare bene lo stesso; questa parte del kernel 2.0 è
piuttosto stabile (per esempio, la patch per il kernel 2.0.34
funziona bene sul kernel 2.0.35). Poiché la patch per il 2.0 è
incompatibile con le patch ipportfw e ipautofw, non
Introduzione 245
Linux HOWTO − Networking − Sommario
Dove?
La pagina ufficiale è
http://www.rustcorp.com/linux/ipchainsThe Linux IP Firewall
Chains Page
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
Dove? 246
sviluppo applicazioni
L'inizio di ogni pacchetto specifica dove deve andare, da dove viene, il tipo di pacch
Questa parte iniziale del pacchetto è detta header (intestazione). Il resto del pacchet
solitamente è detto body (corpo).
Alcuni protocolli, come TCP, usato per il traffico Web, mail e login remoti, usano i
inviare un qualsiasi pacchetto con i dati reali, sono scambiati diversi pacchetti di im
che dicono «Voglio connettermi», «OK» e «Grazie». Poi sono scambiati i pacchetti
Sotto Linux, il filtraggio dei pacchetti è contenuto all'interno del kernel e ci sono alc
fare con i pacchetti, ma il principio generale è sempre quello di guardare le intestazi
Perché?
Controllo. Sicurezza. Vigilanza.
Controllo:
quando si usa una macchina Linux per connettere la propria rete interna a u
l'opportunità di permettere un certo tipo di traffico e di proibirne dell'altro. P
pacchetto contiene l'indirizzo della destinazione del pacchetto, e quindi si p
verso una certa parte della rete esterna. Un altro esempio: uso Netscape per
pagina ci sono avvisi pubblicitari di doubleclick.net e Netscape spreca il mi
Dicendo al filtro dei pacchetti di non permettere alcun pacchetto da o verso
quel problema (anche se penso ci siano modi migliori per risolverlo).
Sicurezza:
quando la propria macchina Linux è la sola cosa tra il caos di Internet e la p
sapere che si può limitare quel che viene a bussare alla propria porta. Per es
cosa di uscire dalla propria rete, ma certamente non si è ben disposti verso i
provenienti da estranei maliziosi. Un altro esempio: si può voler evitare che
macchina, anche se tutti gli account hanno una password; oppure si vuole (c
semplice osservatore in Internet e non un server (volente o nolente): sempli
connettersi, facendo sì che il filtro dei pacchetti rifiuti tutti i pacchetti entran
Vigilanza:
talvolta una macchina mal configurata in una rete locale decide di emettere
Come?
Un kernel con il filtraggio dei pacchetti
È necessario un kernel che possieda al suo interno il nuovo supporto per le ``IP firew
possibile sapere se il kernel attualmente in esecuzione ce l'ha cercando il file `/proc/
Se così non è, è necessario compilare un kernel che supporti le catene firewall IP. P
kernel desiderato. Se si possiede un kernel versione 2.1.102 o superiore non si avrà
kernel). Altrimenti si applichi la patch scaricabile dalla pagina Web suddetta e si eff
dettagliatamente nel seguito. Se non si sa come farlo, niente panico: si legga il Kern
Le opzioni di configurazione che sarà necessario impostare per i kernel della serie 2
CONFIG_EXPERIMENTAL=y
CONFIG_FIREWALL=y
CONFIG_IP_FIREWALL=y
CONFIG_IP_FIREWALL_CHAINS=y
CONFIG_FIREWALL=y
CONFIG_IP_FIREWALL=y
ipchains
ipchains sostituisce ipfwadm, usato per il vecchio codice di Firewall IP. Nel si
di script molto utili:
ftp://ftp.rustcorp.com/ipchains/ipchains−scripts−1.1.2.tar.gzftp://ftp.rustcorp.com/ip
Questo pacchetto contiene uno script shell chiamato ipfwadm−wrapper che perm
pacchetti come lo si faceva prima. Probabilmente non si dovrebbe usare questo scrip
veloce per aggiornare un sistema che usa ipfwadm (è più lento, non controlla gli a
necessario proseguire la lettura di questo HOWTO.
Si veda l'appendice [*] (Differeze tra ipchains e ipfwadm) e l'appendice [*] (Usare l
maggiori dettagli.
Come? 248
Linux HOWTO − Networking − Sommario
#! /bin/sh
# Script per controllare il filtraggio dei pacchetti
case "$1" in
start)
echo −n "Attivazione del filtraggio dei pacchetti:"
/sbin/ipchains−restore < /etc/ipchains.rules || exit 1
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "."
;;
stop)
echo −n "Disattivazione del filtraggio dei pacchetti:"
echo 0 > /proc/sys/net/ipv4/ip_forward
/sbin/ipchains −X
/sbin/ipchains −F
/sbin/ipchains −P input ACCEPT
/sbin/ipchains −P output ACCEPT
/sbin/ipchains −P forward ACCEPT
echo "."
;;
*)
echo "Uso: /etc/init.d/packetfilter {start|stop}"
exit 1
;;
esac
exit 0
Ci si assicuri che sia eseguito abbastanza presto nella procedura di avvio. Nel mio c
simbolico chiamato `S39packetfilter' nella directory `/etc/rcS.d' (così sarà eseguito p
[Precedente] [Sommario]
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
http://www.watchguard.comhttp://www.watchguard.com
In questo scenario, i pacchetti provenienti dalla rete privata non passeranno mai
su Internet e viceversa. Gli indirizzi IP della rete privata dovranno essere
assegnati secondo le Private Network Allocations del RFC1597 (cioè 10.*.*.*,
172.16.*.* o 192.168.*.*).
Qualsiasi servizio che si vuole sia accessibile da Internet deve essere nel
firewall (si veda anche Servizi interni limitati [*] nel seguito).
1. Netscape si connette alla porta 8080 del firewall usando la porta 1050
su myhost. Chiede la pagina Web di ``http://slashdot.org''.
2. Il proxy cerca il nome ``slashdot.org'' e ottiene 207.218.152.131. Apre
una connessione con quell'indirizzo IP (usando la porta 1025
sull'interfaccia esterna del firewall) e chiede al server web (porta 80) la
pagina Web.
3. Come il proxy riceve la pagina Web dalla sua connessione con il server
Web, copia i dati nella connessione del Netscape.
4. Netscape mostra la pagina.
In questo scenario i pacchetti dalla rete privata non traversano mai Internet e
viceversa. Gli indirizzi IP della rete privata dovranno essere assegnati secondo
le Private Network Allocations del RFC1597 (ie. 10.*.*.*, 172.16.*.* or
192.168.*.*).
Il proxy fatto in modo trasparente significa che ai client non serve sapere che c'è
un proxy coinvolto.
Qualsiasi servizio che si vuole sia accessibile da Internet deve essere nel
firewall (si veda anche Servizi interni limitati [*] nel seguito).
In questo scenario i pacchetti dalla rete privata non passano mai su Internet e
viceversa. Gli indirizzi IP della rete privata dovranno essere assegnati secondo
le Private Network Allocations del RFC1597 (cioè 10.*.*.*, 172.16.*.* o
192.168.*.*).
Invece di usare un proxy, usiamo una speciale caratteristica del kernel detta
``masquerading''. Il masquerading riscrive i pacchetti non appena passano per il
firewall, così sembra sempre che provengano dal firewall stesso. Poi riscrive le
risposte in modo che sembri provengano dalle fonti originali.
Qualsiasi servizio che si vuole sia accessibile da Internet deve essere nel
firewall (si veda anche Servizi interni limitati [*] nel seguito).
Rete pubblica
In tal caso, il filtraggio dei pacchetti è usato per decidere quali pacchetti
possono essere inoltrati tra la propria rete e il resto di Internet, per esempio, per
restringere il resto di Internet al solo accesso alla propri server Web interni.
C'è solo una connessione: dalla porta 1050 di 1.2.3.100 (myhost) verso la porta
80 di 207.218.152.131 (slashdot.org).
Un altro approccio (che richiede un kernel 2.0 con la patch per ipportfw, oppure
un kernel 2.1 o più recente) è di usare il port forwarding del kernel.
Quest'ultimo fa lo stesso lavoro di ``redir'' ma in modo diverso: il kernel riscrive
i pacchetti mentre passano, cambiando il loro indirizzo di destinazione e la porta
per indirizzarli verso l'host interno e la relativa porta. Dal punto di vista di
Internet, la connessione è fatta verso il firewall. Dal punto di vista del server
interno è fatta una connessione diretta tra l'host Internet e il server.
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
| ACCEPT/ lo interf
v REDIRECT _______
−−> C −−> S −−> ______ −−> D −−> ~~~~~~~~ −−>|forward|−−−−> _______
h a |input | e {Routing } |Chain | |output
e n |Chain | m {Decision} |_______| −−−>|Chain
c i |______| a ~~~~~~~~ | | −>|_______
k t | s | | | | |
s y | q | v | | |
u | v e v DENY/ | | v
m | DENY/ r Local Process REJECT | | DENY/
| v REJECT a | | | REJECT
| DENY d −−−−−−−−−−−−−−−−−−−−− |
v e −−−−−−−−−−−−−−−−−−−−−−−−−−−−−
DENY
Checksum
Questo è il test per verificare che il pacchetto non sia in qualche modo corro
è rifiutato.
Sanity
In realtà c'è una verifica di integrità del pacchetto prima di ogni catena firew
quello della catena input è il più importante. Alcuni pacchetti malformati po
confondere il codice per il controllo delle regole, e quindi sono qui rifiutati
input chain
È la prima catena firewall contro la quale viene testato il pacchetto. Se il ve
catena non è DENY o REJECT, il pacchetto prosegue.
Demasquerade
Se il pacchetto è una risposta (reply) a un precedente pacchetto ``mascherat
``demascherato'' e passa direttamente alla catena output. Se non si usa L'I
Masquerading si cancelli questo percorso dal diagramma.
Routing decision
Il codice di instradamento esamina il campo di destinazione per decidere se
pacchetto deve andare a un processo locale (si veda Local process qui sotto
a una macchina remota (si veda forward chain più avanti)
Local process
Un processo in esecuzione sulla macchina può ricevere pacchetti dopo il pa
Routing Decision, e può inviare pacchetti (che passano per il passo Routing
poi attraversano la catena output).
lo interface
Se i pacchetti provenienti da un processo locale sono destinati a un processo
attraverseranno la catena output con il campo interfaccia impostato a `lo', e
ritorneranno attraverso la catena input sempre con interfaccia impostato a `l
L'interfaccia lo è solitamente chiamata interfaccia loopback.
local
Se il pacchetto non era stato creato da un processo locale, allora viene esam
catena forward, altrimenti il pacchetto va verso la catena output.
forward chain
Questa catena è attraversata da qualsiasi pacchetto che provi a passare attrav
macchina per andare verso un'altra.
output chain
Questa catena è attraversata da qualsiasi pacchetto un attimo prima di essere
fuori.
Usare ipchains
Per prima cosa si controlli di avere la versione di ipchains a cui fa riferimento quest
documento:
$ ipchains −−version
ipchains 1.3.9, 17−Mar−1999
Si noti che io raccomando la 1.3.4 (che non ha le opzioni lunghe, come `−sport'), o l
superiori; queste sono molto stabili.
Nel pacchetto sorgente c'è pure una eccellente scheda di riferimento rapido di Scott
PostScript(TM) sia in formato A4 che US Letter.
Ci sono parecchie cose diverse che si possono fare con ipchains. Per prima cosa
operazione per gestire intere catene. Si parte con tre catene predefinite input, out
forward che non possono essere cancellate.
127.0.0.1 è l'interfaccia `loopback', presente anche se non si possiede una vera conn
rete. Si può usare il programma `ping' per generare tali pacchetti (semplicemente inv
pacchetto ICMP di tipo 8 (echo request) al quale tutti gli host cooperativi dovrebber
obbligatoriamente con un pacchetto ICMP di tipo 0 (echo reply)). Ciò lo rende molt
test.
# ping −c 1 127.0.0.1
PING 127.0.0.1 (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.2 ms
Si può vedere che il primo ping ha successo (il `−c 1' dice a ping di inviare un solo p
Poi si è aggiunta alla catena `input' una regola che specifica che per i pacchetti prov
127.0.0.1 (`−s 127.0.0.1') con protocollo ICMP (`−p ICMP') si dovrà saltare a DENY
DENY').
Poi si è verificata la nostra regola, usando un secondo ping. Ci sarà una pausa prima
programma si stanchi di aspettare una risposta che non arriverà mai.
Si può cancellare la regola in due modi. Per prima cosa, poiché sappiamo che è la so
nella catena input, possiamo usare la cancellazione in base alla posizione, come in
# ipchains −D input 1
#
Specificare il filtraggio
Si è visto l'uso di `−p' per specificare il protocollo e di `−s' per specificare l'indirizzo
provenienza, ma ci sono altre opzioni che si possono usare per specificare le caratte
pacchetto. Quel che segue è un compendio esaustivo.
Questa cosa è raramente usata, in quanto il suo effetto è lo stesso che non specificar
l'opzione `−s'.
Molte opzioni, tra le quali `−s' e `−d', possono avere gli argomenti preceduti da `!' (p
`not') per effettuare la corrispondenza con indirizzi NON uguali a quelli dati. Per es
localhost' corrisponde a qualsiasi pacchetto non proveniente da localhost.
Specificare un protocollo
Il protocollo può essere specificato con l'opzione `−p'. Il protocollo può essere un nu
conoscono i valori numeri dei protocolli IP) o un nome per i casi speciali di `TCP', `
`ICMP'. Non è importante come è scritto: vanno bene sia `tcp' che `TCP'.
I nomi dei protocolli possono essere preceduti da un `!' per negarli, con ad esempio
Nei casi particolari nei quali è specificato TCP o UDP come protocollo, ci può esser
argomento aggiuntivo che indica la porta TCP e UDP, oppure un intervallo (inclusiv
(si veda anche Non posso impostare i timeout del masquerading! [*] nel seguito). U
è rappresentato usando un carattere `:', come ad esempio `6000:6010', che copre 11
porte da 6000 a 6010 estremi compresi. Se è omesso il margine inferiore, il valore p
0. Se è omesso quello superiore, il suo valore predefinito è 65535. Quindi per specif
connessioni TCP provenienti da porte inferiori alla 1024, la sintassi potrebbe essere
0.0.0.0/0 :1023'. I numeri di porta possono essere specificati anche attraverso il nom
`www'.
Si noti che la specificazione può essere preceduta da un `!', che la nega. Quindi per
qualsiasi pacchetto TCP TRANNE i pacchetti WWW, si potrebbe specificare
è molto diversa da
La prima specifica qualsiasi pacchetto TCP verso la porta WWW su qualsiasi macc
la 192.168.1.1. La seconda specifica qualsiasi connessione TCP verso qualsiasi port
192.168.1.1 tranne la porta WWW.
Anche ICMP permette argomenti opzionali, ma poiché ICMP non ha le porte (ICMP
e un codice) hanno un significato diverso.
Possono essere specificati come nomi ICMP (si usi ipchains −h icmp per la li
dopo l'opzione `−s', oppure come tipo e codice ICMP numerici, dove il tipo segue l'
e il codice segue l'opzione `−d'.
I nomi ICMP sono piuttosto lunghi: basta usare solamente abbastanza lettere da ren
distinguibile da ogni altro.
0 echo−reply ping
3 destination−unreachable qualsiasi traffico TCP/UDP.
5 redirect per l'instradamento, se non sta
girando il demone di instradamento
8 echo−request ping
11 time−exceeded traceroute
Si noti che i nomi ICMP al momento non possono essere preceduti da `!'.
NON NON NON si blocchino tutti i messaggi ICMP di tipo 3! (si veda Pacchetti IC
avanti).
Specificare un'interfaccia
Come caso speciale, un nome di intefaccia che termina con un `+' corrisponderà a tu
interfacce (che esistano o meno) che iniziano con quella stringa. Per esempio, per sp
una regola che corrisponda a tutte le interfacce PPP, può essere usata l'opzione −i
Il nome dell'interfaccia può essere preceduto da un `!' per far sì che sia soddisfatta d
interfacce che NON corrispondono all'interfaccia (o alle interfacce) specificata.
Talvolta è utile permettere connessioni TCP in una direzione, ma non nell'altra. Per
può voler permettere connessioni verso un server WWW esterno ma non le conness
server.
La soluzione è di bloccare solo i pacchetti usati per richiedere una connessione. Que
sono chiamati pacchetti SYN (ok, tecnicamente sono pacchetti con il flag SYN imp
campi FIN e ACK non attivati, ma li chiameremo lo stesso pacchetti SYN). Non pe
solamente questi pacchetti, si possono fermare i tentativi di connessione.
Per questo viene usata l'opzione `−y': è valida solamente per regole che specificano
loro protocollo. Per esempio, per specificare un tentativo di connessione TCP da 19
−p TCP −s 192.168.1.1 −y
Ancora una volta, questa opzione può essere negata precedendola con un `!' che sign
pacchetti tranni quelli per iniziare la connessione.
Gestire i frammenti
Qualche volta un pacchetto è troppo grande per starci tutto intero in un filo. Quando
succede, il pacchetto è diviso in frammenti (fragments), e inviato come pacchetti m
L'altro capo della connessione riassembla i frammenti per ricostruire il pacchetto int
Il problema con i frammenti è che alcune delle specificazioni suddette (in particolar
d'origine, porta di destinazione, tipo ICMP, codice ICMP o flag SYN TCP) richiedo
kernel sbirci nella parte iniziale del pacchetto, che è contenuta solo nel primo framm
Se la propria macchina è la sola connessione a una rete esterna, allora si può dire al
riassemblare tutti i frammenti che gli passano attraverso, compilando il kernel con l
IP: always defragment posta a `Y'. Ciò risolve il problema in maniera pulit
Diversamente, è importante capire come sono trattati i frammenti dalle regole di filt
Qualsiasi regola di filtraggio che chieda informazioni che non si hanno non verrà so
Ciò significa che il primo frammento è trattato come qualsiasi altro pacchetto. Non
invece il secondo e i successivi frammenti. Quindi una regola −p TCP −s 192.1
www (che specifica una porta d'origine `www') non sarà mai soddisfatta da un framm
(tranne il primo). E neppure la regola opposta −p TCP −s 192.168.1.1 ! w
Comunque, si può specificare una regola specifica per il secondo e i successivi fram
usando l'opzione `−f'. Ovviamente in questa regola per i frammenti è illegale specifi
porta TCP o UDP, un tipo o un codice ICMP oppure l'opzione per il SYN TCP.
È pure legale specificare che una regola non si applica al secondo e ai successivi fra
facendo precedere `−f' da `!'.
Solitamente è considerata una cosa sicura lasciar passare il secondo e i successi fram
poiché il filtraggio avrà effetto sul primo frammento e quindi impedirà la ricostruzio
di destinazione. Comunque, sono noti alcuni bug che permettono il crash di macchin
semplicemente inviandogli frammenti.
Una nota per i capoccioni della rete: i pacchetti malformati (pacchetti TCP, UDP o I
troppo corti affinché il codice di firewalling possa leggere le porte o il codice e tipo
trattati come frammenti. Solo i frammenti TCP che iniziano alla posizione 8 sono es
scartati dal codice di firewall (dovrebbe apparire un messaggio nel syslog se succed
OK, quindi ora si conoscono tutti i modi con i quali si può creare una regola che cor
un pacchetto. Se un pacchetto soddisfa una regola, succedono le seguenti cose:
Specificare un obiettivo
Un obiettivo dice al kernel cosa farne di un pacchetto che soddisfa una regola. ipch
(penso `jump−to' − salta a) per la specifica dell'obiettivo. Il nome dell'obiettivo deve
corto di 8 caratteri, ed è importante come è scritto: ``RETURN'' e ``return'' sono com
diversi.
Il caso più semplice è quando non è specificato alcun obiettivo. Questo tipo di regol
detta regola di `accounting' − contabilità) è utile con contare semplicemente un certo
pacchetto. Che questa regola sia o meno soddisfatta, semplicemente il kernel esamin
successiva nella catena. Per esempio, per contare il numero di pacchetti da 192.168.
fare così:
Esistono sei obiettivi speciali. I primi tre, ACCEPT, REJECT e DENY sono piuttosto
ACCEPT permette che il pacchetto passi. DENY scarta il pacchetto come non fosse m
ricevuto. REJECT scarta il pacchetto, ma (se non è un pacchetto ICMP) genera una
ICMP per la sorgente per dirle che la destinazione non è raggiungibile.
Quella dopo, MASQ dice al kernel di mascherare il pacchetto. Affinché ciò funzioni,
kernel dev'essere compilato con il supporto per l'IP Masquerading. Per i dettagli si v
Masquerading−HOWTO e l'appendice [*] (Differenze tra ipchains e ipfwadm). Que
è valido solo per pacchetti che attraversano la catena forward.
L'obiettivo finale speciale è RETURN che è identico all'uscita immediata dalla caten
Impostare la tattica [*] nel seguito).
Qualsiasi altro obiettivo indica una catena definita dall'utente (come descritto in Op
intere catene [*] nel seguito). Il pacchetto inizierà ad attraversare le regole in quella
quella catena non decide il destino del pacchetto, allora, una volta che è terminata la
della catena, si riprende dalla regola successiva nella catena corrente.
È ora di un altro po' di arte ASCII. Si considerino due catene (sciocche): input (la
predefinita) e Test (una catena definita dall'utente).
`input' `Test'
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− −−−−−−−−−−−−−−−−−−−−−−−−−−−
| Regola1: −p ICMP −j REJECT | | Regola1: −s 192.168.1.1
|−−−−−−−−−−−−−−−−−−−−−−−−−−−−| |−−−−−−−−−−−−−−−−−−−−−−−−−−
| Regola2: −p TCP −j Test | | Regola2: −d 192.168.1.1
|−−−−−−−−−−−−−−−−−−−−−−−−−−−−| −−−−−−−−−−−−−−−−−−−−−−−−−−−
| Regola3: −p UDP −j DENY |
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
v ___________________________
`input' | / `Test' v
−−−−−−−−−−−−−−−−−−−−−−−−−−|−−/ −−−−−−−−−−−−−−−−−−−−−−−−−|−
| Regola1 | /| | Regola1 |
|−−−−−−−−−−−−−−−−−−−−−−−−−|/−| |−−−−−−−−−−−−−−−−−−−−−−−−|−
| Regola2 / | | Regola2 |
|−−−−−−−−−−−−−−−−−−−−−−−−−−−−| −−−−−−−−−−−−−−−−−−−−−−−−−v−
| Regola3 /−−+___________________________/
−−−−−−−−−−−−−−−−−−−−−−−−−−|−−−
v
Si veda la sezione [*] (Come organizzare le proprie regole di firewall) per alcuni me
usare efficacemente le catene definite dall'utente.
Questo è un effetto collaterale che può avere una regola che viene soddisfatta: usand
`−l' si può far sì che il pacchetto che la soddisfa sia registrato. Solitamente questa co
vuole per i pacchetti di routine, ma è una caratteristica utile se si vogliono cercare e
eccezionali.
Nei sistema Linux standard, questo output del kernel è catturato da klogd (il demon
registrazione del kernel) che lo passa poi al syslogd (il demone di registrazione di si
file `/etc/syslog.conf' controlla il comportamento di syslogd, specificando una destin
ogni `facility' (nel nostro caso la facility è ``kernel'') e `livello' (per ipchains, il livell
``info'').
kern.* −/var/log/kern.log
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none −/var/log/messages
Nell'intestazione IP ci sono quattro bit raramente usati, detti bit Type of Service (TO
servizio). Influenzano il modo in cui sono trattati i pacchetti; i quattro bit sono ``Mi
Delay'' (ritardo minimo), ``Maximum Throughput'' (massima velocità di trasmission
``Maximum Reliability'' (massima affidabilità) e ``Minimum Cost'' (minimo costo).
di questi bit è permesso di essere impostato. Rob van Nieuwkerk, l'autore del codice
``maltrattamento'' TOS, ne parla in questi termini:
L'opzione `−t' accetta altri due parametri aggiuntivi, entrambi in esadecimale. Quest
permettono di far giochetti complessi con i bit TOS: con la prima maschera è fatto l
TOS correnti del pacchetto, e poi del risultato viene fatto lo XOR con la seconda. Se
confuso, allora si usi semplicemente la tabella seguente:
Quindi, per vedere i massimi benefici dalla manipolazione dei TOS nella connessio
modem, si usi `ifconfig $1 txqueuelen' nel proprio script /etc/ppp/ip−up. Il numero d
dipende dalla velocità del modem e dalla dimesione del buffer nel modem; Andi ci
ancora la direzione da seguire:
Marcare un pacchetto
Suvvia creiamo una nuova catena! Poiché sono un tipo con un sacco di immaginazio
chiamerò test.
# ipchains −N test
#
Tutto qua. Ora le si possono mettere dentro le regole come spiegato in precedenza.
# ipchains −X test
#
Perché `−X'? Beh, tutte le altre lettere buone erano già occupate.
Ci sono un paio di restrizioni sulla cancellazione di una catena: deve essere vuota (s
Operazione con intere catene [*] nel seguito) e non deve essere l'obiettivo di nessun
Non è possibile cancellare nessuna delle tre catene predefinite.
C'è un modo semplice per svuotare una catena di tutte le regole, usando il comando
# ipchains −F forward
#
Si possono elencare tutte le regole in una catena usando il comando `−L' (list).
# ipchains −L input
Chain input (refcnt = 1): (policy ACCEPT)
target prot opt source destination por
ACCEPT icmp −−−−− anywhere anywhere any
# ipchains −L test
Chain test (refcnt = 0):
target prot opt source destination por
DENY icmp −−−−− localnet/24 anywhere any
#
Il valore di `refcmt' mostrato per test è il numero di regole che hanno test come
obiettivo. Deve essere zero (e la catena essere vuota) prima che si possa cancellarla.
Se è omesso il nome della catena, sono elencate tutte le catene, anche quelle vuote.
Ci sono tre opzioni che possono accompagnare `−L'. L'opzione `−n' (numeric) è mo
quanto previene ipchains dal tentativo di ricercare gli indirizzi IP, che (se si usa
come fanno molti) causerà parecchio ritardo se il proprio DNS non è configurato co
o si sono filtrate tutte le richieste DNS. Inoltre fa sì che le porte siano mostrate com
piuttosto che con i loro nomi.
L'opzione `−v' mostra tutti i dettagli delle regole, come i contatori di pacchetti e byt
maschere TOS, l'interfaccia e la marcatura dei pacchetti. Diversamente questi valori
omessi. Per esempio:
# ipchains −v −L input
Chain input (refcnt = 1): (policy ACCEPT)
pkts bytes target prot opt tosa tosx ifname mark
10 840 ACCEPT icmp −−−−− 0xFF 0x00 lo
Si noti che i contatori di pacchetti e byte sono mostrati usando i suffissi `K', `M' o `G
rispettivamente per 1000, 1000000 e 1000000000. Usando l'opzione `−x' (espandi i
verranno mostrati i numeri interi, senza preoccuparsi di quanto grandi siano.
Azzerare i contatori
È utile poter azzerare i contatori. Ciò può essere fatto con l'opzione `−Z' (zero count
esempio:
# ipchains −v −L input
Chain input (refcnt = 1): (policy ACCEPT)
pkts bytes target prot opt tosa tosx ifname mark
10 840 ACCEPT icmp −−−−− 0xFF 0x00 lo
source destination ports
anywhere anywhere any
# ipchains −Z input
# ipchains −v −L input
Chain input (refcnt = 1): (policy ACCEPT)
pkts bytes target prot opt tosa tosx ifname mark
0 0 ACCEPT icmp −−−−− 0xFF 0x00 lo
source destination ports
anywhere anywhere any
#
Il problema con questo approccio è che talvolta serve sapere il valore dei contatori u
prima di azzerarli. Nell'esempio precedente, tra i comandi `−L' e `−Z' potrebbero es
degli altri pacchetti. Per questa ragione, si possono usare `−L' and `−Z' assieme, per
contatori mentre li si legge. Sfortunatamente, se si fa così, non si può operare su una
catena: si devono mostrare e azzerare tutte le catene in una volta.
# ipchains −L −v −Z
Chain input (policy ACCEPT):
pkts bytes target prot opt tosa tosx ifname mark
10 840 ACCEPT icmp −−−−− 0xFF 0x00 lo
Impostare la tattica
Si è visto cosa succede quando un pacchetto raggiunge la fine di una catena predefin
si è discusso come un pacchetto cammina attraverso una catena in Specificare un ob
In questo caso, la tattica (policy) di una catena determina il destino del pacchetto. S
catene predefinite (input, output e forward) hanno delle tattiche, poiché se u
cade fuori dalla fine di una catena definita dall'utente, la traversata riprende nelle ca
precedente.
La tattica può essere una qualsiasi dei primi quattro obiettivi speciali: ACCEPT, DEN
o MASQ. MASQ è valida solamente per la catena `forward'.
Inoltre è importante notare che un obiettivo RETURN in una regola in una delle cate
predefinite è utile per stabilire esplicitamente la tattica di una catena quando un pacc
soddisfa una regola.
Ci sono diversi parametri per l'IP Masquerading con i quali si può giocare. Sono ing
ipchains perché non valeva la pena scrivere uno strumento separato (anche se qu
cambierà).
Il comando per il masquerading IP è `−M', e può essere combinato con `−L' per mos
l'elenco delle connessioni attualmente mascherate, o con `−S' per impostare i param
masquerading.
Il comando `−L' può essere accompagnato da `−n' (mostra i numeri invece dei nomi
delle porte) o `−v' (mostra i delta nelle sequenze di numeri per le connessioni masch
caso importi qualcosa).
Il comando `−S' dovrebbe essere seguito da tre valori di timeout in secondi: per le s
per le sessioni TCP dopo un pacchetto FYN e per i pacchetti UDP. Se non si vuole c
uno di questi tre valori, semplicemente si specifichi `0' come valore.
Il valore più comune da cambiare è il primo, per FTP (si veda Incubi da FTP [*] più
Controllare un pacchetto
Talvolta si vuole vedere cosa succede quando un certo pacchetto entra nella propria
ad esempio per fare il debug delle catene firewall. ipchains ha il comando `−C' p
permetterlo, che usa le stesse routine che usa il kernel per la diagnosi dei pacchetti r
I dettagli del `pacchetto' sono specificati usando le stessa sintassi usata per specifica
firewall. In particolare, sono obbligatori un protocollo (`−p'), un indirizzo di proven
un indirizzo di destinazione (`−d') e un'interfaccia (`−i'). Se il protocollo è TCP o UD
devono essere specificati un unico indirizzo di provenienza e un unico indirizzo di d
mentre devono essere specificati un tipo e un codice ICMP per il protocollo ICMP (
non sia specificata l'opzione `−f' per indicare una regola sui frammenti, nel qual cas
opzioni sono illegali).
Se il protocollo è TCP (e non è specificata l'opzione `−f' ), può essere specificata l'o
per indicare che il pacchetto di test avrà il bit SYN impostato.
Ecco un esempio di verifica di un pacchetto SYN TCP dalla porta 60000 di 192.168
porta www di 192.168.1.2, in arrivo sull'interfaccia eth0 e che entra nella catena `in
è la classica inizializzazione di una connessione WWW):
packet accepted
#
Talvolta una unica riga di comando può aver effetto su più regole. Ciò capita in due
La prima: se si può specifica un nome di host che viene risolto (usando il DNS) in d
indirizzi IP, ipchains si comporterà come se si fossero digitati più comandi, uno
combinazione di indirizzi.
Quindi se il nome di host `www.foo.com' viene risolto in tre indirizzi IP, e il nome d
`www.bar.com' viene risolto in due indirizzi IP, allora il comando `ipchains −A inpu
−s www.bar.com −d www.foo.com' aggiungerà sei regole alla catena input.
Un altro modo per far sì che ipchains effettui azioni multiple è di usare l'opzione
(bidirezionale). Questa opzione fa sì che ipchains si comporti come se si fosse d
volte il comando, la seconda volta scambiando gli argomenti di `−s' e `−d'. Quindi p
l'inoltro sia da che per 192.168.1.1, si potrebbe fare quanto segue:
Personalmente, non gradisco molto l'opzione `−b'; se si vuole qualcosa di più utile s
ipchains−save ([*]) più avanti.
L'opzione `−b' può essere usata con i comandi di inserimento (`−I'), cancellazione (`
non le varianti che accettano un numero di regola), aggiunta (`−A') e verifica (`−C')
Un'altra opzione utile è `−v' (verbose) che mostra esattamente quel che ipchains
con il comando dato. È utile se si ha a che fare con comandi che possono evere effe
regole. Per esempio, controlliamo il comportamento dei frammenti tra 192.168.1.1 e
192.168.1.2.
Un utile esempio
Ho una connessione PPP in dialup (−i ppp0). Mi scarico le news (−p TCP −s
news.virtual.net.au nntp) e la posta (−p TCP −s mail.virtual.n
pop−3) ogni volta che mi connetto. Uso il metodo FTP di Debian per aggiornare re
la mia macchina (−p TCP −y −s ftp.debian.org.au ftp−data). Navig
attraverso il proxy del mio ISP mentre tutta la roba precedente è in funzione (−p T
proxy.virtual.net.au 8080), ma odio le pubblicità da doubleclick.net nel
Archive (−p TCP −y −d 199.95.207.0/24 e −p TCP −y −d
199.95.208.0/24).
Non mi preoccupo della gente che prova a fare ftp nella mia macchina mentre sono
TCP −d $LOCALIP ftp), ma non voglio che nessuno da fuori pretenda di avere
indirizzo IP della mia rete interna (−s 192.168.1.0/24). Ciò è comunemente d
spoofing, e c'è un modo migliore per proteggersi nei kernel 2.1 e superiori: si veda C
proteggersi dall'IP spoofing? ([*]).
Non voglio che nessun processo locale (per esempio Netscape, lynx ecc.) si connett
doubleclick.net:
Ora voglio impostare le priorità in diversi pacchetti in uscita (non ne vedo l'utilità d
pacchetti in ingresso). Poiché ho parecchie di questo regole, ha senso metterle tutte
catena, chiamata ppp−out.
# ipchains −N ppp−out
# ipchains −A output −i ppp0 −j ppp−out
#
Ci sono alcune restrizioni sui pacchetti in ingresso dall'interfaccia ppp0: creo una ca
chiamata `ppp−in':
# ipchains −N ppp−in
# ipchains −A input −i ppp0 −j ppp−in
#
Permetto l'ingresso solo di pacchetti UDP per il DNS (eseguo un caching nameserve
tutte le richieste a 203.29.16.1, quindi mi aspetto risposte DNS solo da loro), ftp ent
ritorno di dati ftp (che dovrebbero andare solo verso una porta sotto la 1023, non ve
X11 attorno a 6000).
cm229 −j ACCEPT cm
ora, la mia tattica di default per la catena input è DENY, quindi qualsiasi altra cosa
scartata:
NOTA: non imposterei le mie catene in questo ordine, in quanto i pacchetti potrebb
mentre le imposto. La cosa più sicura è di impostare per prima cosa la tattica a DEN
inserire le regole. Naturalmente, se le proprie regole richiedono ricerche DNS per ri
nomi di host, potrebbero esserci problemi.
Usare ipchains−save
Impostare le catene firewall proprio nel modo in cui le si vuole, e poi provare a rico
comandi usati in modo da porterlo fare anche la volta successiva è una cosa penosa.
ipchains−save può salvare una catena o tutte le catene (se non è specificato un
catena). La sola opzione attualmente permessa è `−v' che stampa le regole (in stderr
salva. Per le catene input, output e forward è salvata anche la tattica.
Usare ipchains−restore
Per esempio:
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Pacchetti ICMP
I pacchetti ICMP sono usati (tra le altre cose) per indicare fallimenti negli altri proto
particolare i pacchetti `destination−unreachable' (destinazione irraggiungibile). Bloc
non si riceveranno mai gli errori `Host unreachable' o `No route to host'; qualsiasi co
una riposta che non arriverà mai. Ciò è irritante, ma raramente fatale.
Un problema peggiore è la regola dei pacchetti ICMP nel MTU discovery. Tutte le b
quella di Linux) usano MTU discovery per provare a capire quale sia il pacchetto pi
destinazione senza essere frammentato (la frammentazione abbassa le prestazioni, s
occasionalmente persi dei frammenti). MTU discovery lavora inviando pacchetti co
inviando poi pacchetti più piccoli se riceve un pacchetto ICMP che indica ``Fragme
(`fragmentation−needed'). Questo è un pacchetto tipo `destination−unreachable', e s
non riduce l'MTU e le prestazioni saranno abissali o non esistenti.
Si noti che è comune bloccare tutti i messaggi redirect ICMP (tipo 5); possono esser
l'instradamento (sebbene gli stack IP buoni hanno delle protezioni), e quindi sono sp
Miscellanea 277
Linux HOWTO − Networking − Sommario
Ciò può essere una trappola perché il DNS `praticamente funzionerà' se si disabilita
se lo si fa possono capitare strani lunghi ritardi e altri occasionali problemi DNS.
Se le proprie interrogazioni DNS sono sempre dirette alla stessa fonte esterna (sia d
nameserver in /etc/resolv.conf oppure usando un caching nameserver in
permettere solo le connessioni TCP alla porta domain di quel nameserver dalla por
un caching nameserver) o da una porta più alta (> 1023) se si sta usando /etc/res
Incubi da FTP
FTP presenta un classico problema del filtraggio dei pacchetti. FTP ha due modalit
modalità attiva e quella più recente è detta modalità passiva. I Web browser solita
mentre i programmi per FTP a riga di comando solitamente usano la modalità attiva
In modalità attiva, quando il sito remoto vuole inviare un file (oppure anche il risult
una connessione TCP verso la macchina locale. Ciò significa che non si possono fil
rompere l'FTP attivo.
Sebbene i programmi exploit che ho visto usano tutti ICMP, non c'è ragione per non
un protocollo sconosciuto) per questi attacchi, e quindi bloccare i frammenti ICMP
temporanea.
# ipchains −D input 1
# ipchains −D output 1
# ipchains −D forward 1
#
Se le proprie modifiche sono ristrette a una sola catena, si potrebbe creare una nuov
sostituire (`−R') la regola che punta alla vecchia catena con quella che punta a quell
vecchia catena. Questo rimpiazzo sarà atomico.
Il miglior modo per proteggersi dall'IP spoofing è chiamato Source Address Verific
provenienza), ed è fatto dal codice di instradamento e non dal firewall. Si cerchi il f
/proc/sys/net/ipv4/conf/all/rp_filter. Se esiste, allora attivare il S
avvio è la giusta soluzione. Per farlo, si inseriscano le righe seguenti da qualche par
inizializzazione, prima che sia inizializzata qualsiasi interfaccia di rete:
Se non si può fare così, si possono inserire manualmente delle regole per proteggere
conoscenza su qualsiasi interfaccia. I kernel 2.1 automaticamente rifiutano i pacche
Per esempio, facciamo il caso che ci siano tre interfacce: eth0, eth1 e ppp0. Pos
conoscere l'indirizzo e la netmask delle interfacce. Diciamo che eth0 sia attaccata
255.255.255.0, eth1 sia attaccata alla rete 10.0.0.0 con netmask 255.0.0.0 e che pp
permesso qualsiasi indirizzo tranne quelli riservati come indirizzi IP privati). Inserir
Questo approccio non è buono quanto l'approccio con il Source Address Verificatio
devono cambiare le regole firewall.
Se si usa un kernel della serie 2.0, si può voler proteggere anche l'interfacia loopbac
Progetti avanzati
Ho scritto una libreria (`libfw') che funziona nello spazio utente, inclusa nei sorgent
Chains 1.3 e superiori di copiare un pacchetto nello spazio utente (usando l'opzione
IP_FIREWALL_NETLINK).
Il valore marcato può essere usato per specificare il paramentro Quality of Service p
fare l'inoltro di porta dei pacchetti. Non li ho mai usati, ma se si vuole scrivere qualc
Usando questa libreria possono essere implementate nello spazio utente cose come l
termine dynamic firewalling). Un'altra idea interessante è il controllo dei pacchetti s
in un demone nello spazio utente. Questo dovrebbe essere abbastanza facile.
Attualmente c'è poca documentazione, ma ecco qui un post nella mailing list nel qu
> Credo che faccia esattamente quello che voglio: installare un reg
> temporanea di "arretramento" ("backward" rule) per permettere
> l'ingresso dei pacchetti come fossero una risposta a una richiest
> in uscita.
Michael Hasenstein della SuSE ha scritto una patch per il kernel che aggiunge a ipc
ftp. Attualmente può essere trovata a
http://www.csn.tu−chemnitz.de/ mha/patch.ftp−data−2.gzhttp://www.csn.tu−chemn
Estensioni future
Il firewalling e il NAT sono in fase di riprogetto per il 2.3. I piani e le discussioni so
liste netdev e ipchains−dev. Queste estensioni dovrebbero chiarire parecchie questio
il firewalling e il masquerading non dovrebbero essere così difficili), e permetterann
maggiormente flessibile.
[Precedente] [Sommario]
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Italian crackdown
Problemi comuni
Open Sources
ipchains −L si pianta!
MediaMorfosi
GTK+/GNOME Probabilmente si stanno bloccando le ricerche DNS; alla fine andrà in timeout. Si pr
sviluppo applicazioni a passare l'opzione `−n' a ipchains, che sopprime la risoluzione dei nomi.
Linux HOWTO: Installazione e configurazione
Masquerading/Forwarding non funziona!
Risorse
Ci si assicuri che sia abilitato l'inoltro dei pacchetti (nei kernel recenti è disabilitato
Feedback
default, il che significa che i pacchetti non proveranno mai ad attraversare la catena
`forward'). Si può venirne a capo digitando (come root):
Se funziona, lo si può mettere da qualche parte nei propri script di avvio così che sia
abilitato ogni volta; ovviamente è meglio impostare il proprio firewall prima di lanc
questo comando, altrimenti c'è l'opportunità che scappino un po' di pacchetti.
Si noti che REDIR (sebbene sia nella catena input) non ha effetto sulle connessioni
un processo locale.
Ciò è stato corretto nei kernel recenti e nella patch per il 2.0.34 presente sul sito web
Può essere pure corretto a mano nei sorgenti del kernel modificando la riga 63 (più
meno) di include/linux/ip_fw.h:
2.1.112.
xosview si è rotto!
Si aggiorni alla versione 1.6.0 o superiore, che non richiede nessuna regola firewall
i kernel 2.1.x. Sembra che anche la release 1.6.1 abbia questo problema; lo si segnal
all'autore (non è un mio errore!).
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
La situazione
• Rete interna con il masquerading (con diversi sistemi operativi) che chiame
``GOOD''.
• Server esposti in una rete separata (chiamata ``DMZ'' per Demilitarized Zon
Zona Demilitarizzata).
• Connessione PPP a Internet (detta ``BAD'').
Scopi
Macchina per il filtraggio dei pacchetti:
Accesso DNS
Rende ping e DNS più utili.
All'interno di DMZ:
Mail server
Name Server
Server Web
Rete interna:
Solitamente ciò è fatto negli script di boot. Ci si assicuri che i passi precede
fatti prima che vengano configurate le interfacce, per prevenire l'infiltrazion
pacchetti prima di aver impostato le regole.
# insmod ip_masq_ftp
#
ipchains −N good−dmz
ipchains −N bad−dmz
ipchains −N good−bad
ipchains −N dmz−good
ipchains −N dmz−bad
ipchains −N bad−good
Una cosa comune da fare è di accettare (ACCEPT) errori ICMP standard, e quindi s
una catena solo per loro.
ipchains −N icmp−acc
Si noti che si registra qualsiasi cosa che non soddisfa una di queste regole (ovviame
non dovrebbe mai succedere).
I pacchetti che siano degli errori ICMP sono accettati, altrimenti il controllo passerà
catena chiamante.
cm229 ACCEPT cm
Si potrebbe fare il masquerading dalla rete interna nella DMZ, ma qui non si farà. P
nessuno nella rete interna dovrebbe provare a fare cose brutte, registriamo qualsiasi
pacchetto che venga proibito.
• Restrizioni di DMZ:
♦ Mail server
◊ SMTP verso l'esterno
◊ Accetta SMTP da interno ed esterno
◊ Accetta POP−3 dall'interno
♦ Name server
◊ Invia DNS verso l'esterno
◊ Accetta DNS da interno, esterno e dalla macchina per il fi
dei pacchetti
♦ Web server
• Restrizioni di DMZ:
♦ Mail server
◊ SMTP verso l'esterno
◊ Accetta SMTP da interno ed esterno
◊ Accetta POP−3 dall'interno
♦ Name server
◊ Invia DNS verso l'esterno
◊ Accetta DNS da interno, esterno e dalla macchina per il fi
dei pacchetti
♦ Web server
◊ Accetta HTTP da interno e esterno
◊ Accesso rsync dall'interno
• Non si permette niente (non mascherato) dalla rete esterna verso quella inte
• Se si vuole usare il filtraggio dei pacchetti sui pacchetti in ingresso alla mac
stessa, è necessario fare il filtraggio sulla catena input. Si crei una catena pe
interfaccia di destinazione:
ipchains −N bad−if
ipchains −N dmz−if
ipchains −N good−if
• Creare dei salti a queste:
Interfaccia di DMZ
Per finire
• Cancellare le regole di bloccaggio:
ipchains −D input 1
ipchains −D forward 1
ipchains −D output 1
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
===================================================================
| ipfwadm | ipchains | Note
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
| −A [both] | −N acct | Crea una catena `acct'
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
| −t | −t |
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
| −v | −v |
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
| −x | −x |
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
| −y | −y | Non funziona finché non
| | | si specifica anche −p tc
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
(Si noti che questi non sono equivalenti specificando l'interfaccia tramite l'indirizzo
il nome di interfaccia. In questa macchina 10.1.2.1 corrisponde a eth0).
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Glossario
Abstract:
Colonizzare la noosfera
Modifiche dalla versione precedente
Il calderone magico
Cambio di autore Sentiti ringraziamenti a Terry Dawson per
avermi ceduto questo documento e congratulazioni per essere
Libri:
diventato padre :−).
Italian crackdown
Aggiunte Aggiunta una breve spiegazione di IPX: un
Open Sources
tentativo di risposta alle numerose confuse domande poste
MediaMorfosi sulle liste di discussione.
GTK+/GNOME
sviluppo applicazioni Correzioni/ggiornamenti Nuova versione di ncpfs che
supporta login NDS. Si tratta di beta test e potrebbe essere
Linux HOWTO: Installazione e configurazione
proibita nel proprio paese in seguito all'uso di una tecnologia
Risorse
coperta da registrazione.
Introduzione
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.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Avvertenza 300
Libri: Documentazione
Italian crackdown
Questo documento presume che si sappia compilare un kernel Linux con le opzioni
Open Sources e che si conoscano i tool di rete basilari come ifconfig e route. Per maggiori i
MediaMorfosi
rimanda al documento NET−3−HOWTO, che descrive proprio questi argomenti.
GTK+/GNOME Altri documenti HOWTO, che potrebbero essere utili sono i seguenti.
sviluppo applicazioni
Risorse internazionali
L'ultima versione rilasciata di questo documento può sempre essere ottenuta tramite
ftp:/sunsite.unc.edu/pub/Linux/docs/HOWTO/IPX−HOWTO>/ o:
ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/other−formats
Risorse italiane
Questo documento e altri correlati sono disponibili presso i siti Ftp (ftp.pluto.linux.i
PLUTO (http://www.pluto.linux.it).
Feedback
Si prega di inviare direttamente all'autore ogni commento (in inglese, NdT), aggiorn
suggerimento, all'indirizzo <kevin@pricetrak.com>. Prima verrà ricevuta un
prima sarà possibile aggiornare e correggere questo documento. Se dovessero esserc
favore scrivere direttamente all'autore in quanto molto raramente legge i gruppi di d
Documentazione 301
Linux HOWTO − Networking − Sommario
Mailing list
Esiste una mailing list per la discussione dei diversi pacchetti di software Linux IPX
documento. È possibile iscriversi inviando un messaggio a: listserv@sh.cvut.cz con
linware'' nel corpo del messaggio. Per comunicare con la lista si deve scrivere a:
linware@sh.cvut.cz. L'autore consulta regolarmente questa lista.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
client
Macchina o programma che inizia un'azione o una
connessione allo scopo di ottenere l'utilizzo di servizi
o di dati.
server
Macchina o programma che accetta connessioni in
entrata da macchine remote ed è in grado di fornire a
esse servizi o dati.
Bindery
Il bindery è un database specializzato in grado di
memorizzare su un fileserver Novell informazioni
riguardo la configurazione della rete. I client di rete
possono interrogare il bindery per ottenere
informazioni circa i servizi disponibili,
l'instradamento (routing) e altre informazioni utente.
Ethernet_II
È 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.
802.3
802.2
È un protocollo I.E.E.E. che definisce un
insieme di procedure di Controllo Logico dei
Link (Logical Link Control). 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.
SNAP
acronimo di Sub Network Access Protocol.
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
IPX
Internet Packet eXchange: 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.
RIP
Routing Information Protocol: protocollo utilizzato
per propagare automaticamente gli instradamenti
(route) di rete in una rete IPX. È funzionalmente
simile al RIP utilizzato in TCP/IP.
NCP
NetWare Core Protocol: 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.
SAP
Service Advertisement Protocol: protocollo progettato
da Novell Corporation per pubblicizzare i servizi di
rete in un ambiente NetWare(tm).
Indirizzo hardware
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.
instradamento (route)
È il percorso seguito dai pacchetti attraverso la rete
per raggiungere la propria destinazione.
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
/proc/net/ipx_interface
Contiene informazioni circa le interfacce IPX
configurate sulla macchina. Tali interfacce potrebbero
essere state configurate manualmente, oppure rilevate
e configurate automaticamente.
/proc/net/ipx_route
Contiene una lista di percorsi esistenti nella tabella di
instradamento IPX. Potrebbero essere stati aggiunti
manualmente, oppure automaticamente tramite un
demone di instradamento IPX.
/proc/net/ipx
Contiene una lista di socket IPX attualmente aperti
per un utilizzo sulla macchina.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
# ifconfig eth0 up
ipx_configure
Abilita o disabilita la configurazione automatica delle
interfacce e l'impostazione dell'interfaccia primaria.
−auto_interface
consente di impostare se i dispositivi di rete
debbano essere configurati automaticamente come
dispositivi IPX oppure no.
−auto_primary
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_internal_net
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_route
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:
Glossario
Libri: Linux fornisce supporto per entrambi i protocolli e si può facilmente fare in modo
che funzioni come un router completamente conforme a Novell.
Italian crackdown
Open Sources 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
MediaMorfosi
IPX. Linux ha bisogno di un programma per implementare RIP e SAP di Novell
GTK+/GNOME per assicurare che la tabella di instradamento IPX sia compilata correttamente e
sviluppo applicazioni aggiornata periodicamente al fine di riflettere eventuali cambiamenti dello stato
Linux HOWTO: Installazione e configurazione della rete.
I passi da seguire per configurare una macchina Linux affinché si comporti come
router sono:
...
...
Full internal IPX network (CONFIG_IPX_INTERN) [N/y/?] y
...
...
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
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 ncpfs è in grado di lavorare con file server Novell a partire dalla
versione 3.x, mentre non funziona con Novell 2.x. Il client ncpfs funziona anche co
prodotti strettamente compatibili con Novell, ma sfortunatamente alcuni, pur
dichiarandosi compatibili, non lo sono a sufficienza. Per utilizzare ncpfs con Novel
4.x, è preferibile configurare il fileserver per operare in modalità di emulazione
bindery. Il supporto NDS è una aggiunta piuttosto recente alla versione beta di ncpf
e per di più in certi paesi è proibito a causa dell'inclusione di tecnologia protetta da
brevetto.
Il pacchetto ncpfs 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.
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.13 basta
assicurarsi di aver risposto "Y" alla domanda The IPX protocol, com
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
...
...
# cd /usr/src
# tar xvfz ncpfs−2.0.10.tgz
# cd ncpfs
# make
# make install
# insmod ncpfs.o
# slist
Si noti l'utilizzo dell'opzione −n per indicare che il login non richiede alcun
password. Stesso login con password secret avrebbe forma:
#
# Avvio del filesystem NCP
/sbin/insmod /lib/modules/1.2.13/fs/ncpfs.o
$ ncpmount /home/terry/docs
Se anche degli utenti non root devono essere autorizzati a utilizzare questo
meccanismo, allora il comando npcmount deve essere Set Userid Root. N
consegue che potrebbe essere necessario attribuirgli le autorizzazioni:
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.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Italian crackdown
Configurazione della macchina Linux com
Open Sources
server NCP
MediaMorfosi
Sono disponibili due pacchetti che consentono a Linux di fornire le funzionalità di u
GTK+/GNOME server Novell. Entrambi permettono di condividere file sulla propria macchina Linu
sviluppo applicazioni
utenti che utilizzano il software client NetWare di Novell. Gli utenti possono fare in
Linux HOWTO: Installazione e configurazione che dei file system appaiano come dischi locali sulle proprie macchine, proprio com
farebbero con un reale file server Novell. Utilizzandoli entrambi, è possibile renders
Risorse di quale dei due meglio soddisfa le proprie esigenze.
Feedback
Il pacchetto mars_nwe
Martin Stover (mstover@freeway.de) ha sviluppato mars_nwe per consentire a Lin
fornire ai client NetWare sia servizi di file, che servizi di stampa.
Capacità di mars_nwe
mars_nwe implementa un sottoinsieme del più completo NCP Novell per servizi 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 conti
diminuzione man mano che vengono rilasciate nuove versioni.
...
...
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 messa
potrebbe essere leggermente diverso.
# cd /usr/src
# tar xvfz mars_nwe−0.99.pl10.tgz
# make
# make install
# VOLUMI (max. 5)
# Solo il volume SYS è obbligatorio. La directory contenente il vol
# 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 richie
# 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 fs 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 <Nome del Volume> <Percorso del Volume> <Opzioni>
2 LINUX_FS01
3 0x49a01010 1
# DISPOSITIVI DI RETE
# Questa riga configura la propria rete IPX. Se la propria rete IPX
# è già stata configurata, questo inserimento è superfluo. Corrispo
# all'utilizzo di ipx_configure/ipx_interface prima di attivare
# il server. Sintassi:
# 4 <Numero di Rete IPX > <nome del device> <frametype> [<tic
# Frame types: ethernet_ii, 802.2, 802.3, S
4 0x39a01010 eth0 802.3 1
5 0
# VERSIONE NETWARE
# Sintassi:
# 6 <versione>
# 0 = 2.15, 1 = 3.11
6 1
7 1
10 200
11 201
# ACCOUNT UTENTE
13 MARTIN martin
13 TERRY terry
15 0 duzzenmatta
# CONTROLLO
# se si imposta questo flag mars_nwe si assicurerà automaticamente
# dell'esistenza di certe directory.
# Sintassi:
# 16 <flag>
# <flag> può essere 0 per no, o 1 per sì.
16 0
# CODE DI STAMPA
# Questo associa le stampanti NetWare alle stampanti Unix. Le direc
# per le code devono essere create manualmente prima di tentare
# la stampa. Le directory per le code NON sono code lpd.
# Sintassi:
# 21 <nome della coda> <directory della coda> <unix_print_cmd
# FLAG DI DEBUG
# Normalmente non sono necessari, ma possono essere utili se si sta
# eseguendo il debug di un problema.
# Sintassi:
# <debug_item> <debug_flag>
#
# 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
200 1
201 /tmp/nw.log
202 1
210 10
211 60
300 5
301 /tmp/nw.routes
302 1
# TEMPO DI GUARDIA
# Imposta il tempo per messaggi di guardia in grado di assicurare c
# la rete sia ancora viva.
# Sintassi:
# 310 <valore>
# <valore> = 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 <nomefile>
400 /etc/nwserv.stations
401 2
# nwserv
Il pacchetto lwared
Ales Dryak (A.Dryak@sh.cvut.cz) ha sviluppato lwared per consentire a Linux di
come fileserver basato su NCP.
Capacità di lwared
Il pacchetto lwared può essere compilato per qualsiasi kernel successivo al 1.2.0,
è consigliata la versione 1.2.13 poiché in tal modo non sono necessari patch per il k
Alcune delle funzionalità IPX sono cambiate con kernel di versione 1.3.*: questo si
che sono necessari patch specifici per fare in modo che lwared funzioni correttam
Esistono patch appropriati per i nuovi kernel, pertanto se si deve utilizzare un kerne
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 sit
La versione al momento in cui questo documento viene scritto è:
lwared−0.95.tar.gz.
Compilazione di lwared
# cd /usr/src
# tar xvpfz lwared−0.95.tar.gz
# make patch
...
...
Assume subnets are local (CONFIG_INET_SNARL) [y]
Disable NAGLE algorithm (normally enabled) (CONFIG_TCP_NAGLE
The IPX protocol (CONFIG_IPX) [n] y
*
* SCSI support
...
...
# 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
che, effettuando la compilazione con gcc 2.6.3 sia necessario modificare la
#include <net/route.h>
con
#include <net/if_route.h>
# ipxripd /var/adm/ipxrip
# ipxsapd /var/adm/ipxsap
/etc/lwpasswd
In questo file vengono memorizzate le informazioni di account dell
Il programma lwpasswd è utilizzato per mantenerlo aggiornato. L
forma più semplice del file /etc/lwpasswd è:
ales:
terryd:
guest:
utenti LinWare devono avere un account per Linux quindi ogni uten
presente nel file /etc/lwpasswd deve apparire anche in
/etc/passwd; l'utente root è l'unico in grado di modificare le p
di un altro utente LinWare come di seguito indicato:
# lwpasswd rodg
Changing password for RODG
Enter new password:
Re−type new password:
Password changed.
/etc/lwvtab
Si tratta delle tabelle relative al volume LinWare e in esse sono
memorizzate le informazioni su directory da rendere disponibili agl
LinWare (la natura del file è simile a quella di /etc/exports di
Un semplice esempio del suo formato è:
SYS /lwfs/sys
DATA /lwfs/data
HOME /home
# lwared
Se il server è stato avviato come mostrato, il nome del server LinWare dipe
dalla risposta dell'hostname Linux. Se si desidera un nome diverso, è possi
indicarlo esplicitamente. Ad esempio, il comando:
# lwared −nlinux00
A questo punto dovrebbe essere possibile lavorare con il nuovo disco propr
con qualsiasi altro disco. Le abilitazioni ai file corrisponderanno a quelle
dell'account a Linux parallelo al proprio login LinWare.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
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.
Glossario
Linux−FAQ
Italian crackdown
Prerequisiti
Open Sources
Il comando da utilizzare dipende da come si desidera che funzioni, tuttavia nella sua
più semplice il comando sarà del tipo:
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Comandi utente
ncopy
Network Copy − copia file in modo efficiente tramite
l'utilizzo di una funzione NetWare in luogo di
eseguire una copia attraverso la rete.
nprint
Network Print − stampa un file indirizzato a una coda
di stampa Netware di un server Netware.
nsend
Network Send − invia messaggi ad altri utenti su un
server Netware.
nwbols
List Bindery Objects − elenca informazioni di bindery
di un server Netware.
nwboprops
List Properties of a Bindery Object − elenca le
proprietà di un oggetto bindery Netware.
nwbpset
Set Bindery Property − imposta le proprietà di un
oggetto bindery Netware.
nwbpvalues
Print Netware Bindery Objects Property Contents −
stampa il contenuto di un oggetto bindery Netware.
nwfsinfo
nwpasswd
Netware Password − modifica la password di utenti
Netware.
nwrights
Netware Rights − visualizza i diritti associati a un
determinato file o directory.
nwuserlist
Userlist − fornisce l'elenco di utenti collegati a un file
server Netware.
pqlist
Print Queue List − visualizza il contenuto di una coda
di rete Netware.
slist
Server List − visualizza un elenco di file server
Netware conosciuti.
nwborm
Remove Bindery Object − cancella un oggetto bindary
Netware.
nwbpadd
Add Bindery Property − imposta il valore di una
proprietà esistente di un oggetto bindary Netware.
nwbpcreate
Create Bindery Property − crea una nuova proprietà
per un oggetto bindary Netware esistente.
nwbprm
Remove Bindery Property − elimina una proprietà di
un oggetto bindary Netware.
nwgrant
Grant Trustee Rights − assegna diritti di
amministrazione a una directory su un file server
Netware.
nwrevoke
Revoke Trustee Rights − rimuove diritti di
amministrazione da una directory su un fileserver
Netware.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
IPX_CHANGE = 1
USE_MS_DNS = 1
al file:
/usr/src/linux/pppd−2.2.0f/pppd/Makefile.linux.
IPX_CHANGE
configura il supporto IPX all'interno di PPP.
USE_MS_DNS
abilita le macchine Microsoft Windows 95 a eseguire Name
Lookups.
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.
Primi passi
Progettazione
Nel seguito si suppone che questo sia stato fatto, e che vengano usati
due dispositivi seriali (modem). Gli indirizzi assegnati in questo
esempio sono:
ipx−network 0xABCDEF00
ipx−node 2:0
ipxcp−accept−remote
ipx−network 0xABCDEF01
ipx−node 3:0
ipxcp−accept−remote
Progettazione 340
Linux HOWTO − Networking − Sommario
ipxcp−accept−network
ipxcp−accept−remote
ipxcp−accept−local
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Compilare ipxtunnel
È possibile eseguire la compilazione di ipxtunnel tramite i comandi:
# cd /usr/src
# tar xvfz .../ipxtunnel.tgz
# cd ipxtunnel
# make
Configurazione di ipxtunnel
La configurazione di ipxtunnel è molto semplice. Si supponga che
la macchina di un amico sia gau.somewhere.com e che la propria
macchina sia denominata gim.sw.edu. 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.
#
# /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
Glossario
Linux−FAQ
Documenti:
Glossario
Linux−FAQ
Documenti:
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
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:
IPX−HOWTO
(http://www.pluto.linux.it/ildp/HOWTO/IPX−HOWTO.htmltraduzione
italiana), guida al supporto software del protocollo IPX per Linux.
Copyright (c) 1995 Terry Dawson.
Copyright 350
Linux HOWTO − Networking − Sommario
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
<kevin@pricetrak.com>
Abstract:
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Questo documento assume che sappiate già come installare TCP/IP sul vostro
server Linux e come collegarlo fisicamente alla vostra LAN usando una
scheda di rete Ethernet. Si presuppone che abbiate inoltre le conoscenze
basilari dei sistemi Netware, WinNT e Mac. La configurazione del server
Netware è stata illustrata usando come base la versione 3.1x. Potete anche
usare INETCFG per ottenere lo stesso risultato. Dal lato client, la discussione
riguarda Windows 3.1x, Windows for Workgroups, Windows 95, WinNT e
Apple PowerMac.
Negli esempi useremo gli indirizzi delle rete private (RFC−1918) 172.16.0.0 e
172.17.0.0. Potete scegliere altri indirizzi a seconda delle vostre esigenze.
Cosa serve
Prima di tentare di installare, dovete procurarvi il seguente software.
Introduzione 354
Linux HOWTO − Networking − Sommario
Critiche e commenti
Se avete delle domande o commenti su questo documento, potete contattare
via E−mail Pramod Karnad, all'indirizzo karnad@indiamail.com.
Suggerimenti, critiche e posta sono sempre benvenuti. Se trovate degli errori
in questo documento, fatemelo sapere in modo di correggerli in una versione
successiva. Grazie.
Glossario
Linux−FAQ
Documenti:
Italian crackdown
Preparativi per il prelievo del software
Open Sources Il server della NCSA vi guiderà attraverso i passi delle diverse opzioni di
MediaMorfosi configurazione, e preparerà i vari file per Voi. Ma prima di tentare il
prelievo di HTTPd preparatevi a rispondere alle seguenti domande
GTK+/GNOME
sviluppo applicazioni
linux:~$ uname −a
linux:~$ uname −a
Linux linux 2.0.29 #4 Tue Sep 13 04:05:51 CDT 1994 i586
linux:~$
Questo specifica come verrà eseguito il server HTTPd sul vostro sistema. Il
metodo consigliato è ``standalone''. In questo modo il demone HTTP sarà
costantemente in esecuzione. Se scegliete di caricare HTTPd sotto
#`¨inetd#`¨, l'eseguibile del server verrà ricaricato in memoria a ogni
richiesta, il che può rallentare il vostro sistema.
Se non avete i diritti di root, usate semplicemente il nome del vostro gruppo
primario. Per trovare il nome del gruppo, usate il comando groups.
Compilazione di HTTPd
La compilazione è semplice, basta digitare make linux al prompt dei
comandi dalla cartella radice del server. Nota: Gli utenti di versioni
pre−ELF di Linux dovranno rimuovere il commento dalla linea #define
NO_PASS nel file portability.h e impostare DBM_LIBS= −ldbm
nel Makefile prima di compilare HTTPd.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Trying 172.16.0.1...
Connected to linux.mydomain.
Escape character is '^]'.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Userò W/S2 per illustrare come configurare i client. Per configurare W/S1 occorre s
cambiare l'indirizzo IP da 172.17.0.5 a 172.16.0.5 e ignorare tutti i riferimenti al
gateway/router.
Se non avete un router potete saltare la seguente sezione e procedere con i paragrafi
Il server Linux deve essere configurato per riconoscere il router e quindi permettere
workstation 2 di raggiungere il server Web. Per questo occorre effettuare il login su
Linux come root, e quindi digitare
Per usare il gateway automaticamente ogni volta che viene riavviato il server Linux
il file /etc/rc.d/rc.inet1 e modificate la linea contenente la definizione del
gateway impostandola a GATEWAY = "172.16.0.254". Controllate che la line
definisce il gateway non sia commentata.
ALTERNATIVA: potete aggiungere degli instradamenti alle reti dall'altra parte del
Potrebbe essere fatto come segue
Per aggiungere questo instradamento ogni volta che riavviate Linux, aggiungete il
comando al file /etc/rc.d/rc.local.
A seconda della configurazione del vostro sistema potrebbe essere necessario specif
slot oppure il numero della scheda durante il caricamento del driver NE2000 (eg: lo
NE2000 slot=3 frame=.....).
Windows 3.x
Se state usando Win3.1 o WFWG potete installare il client Netware (VLMs) ed alcu
aggiuntivi che sono forniti sul dischetto di TCP/IP, vale a dire TCPIP.exe, VTCPIP.
WINSOCK.dll e WLIBSOCK.dll.
Notate che il file WINSOCK.dll è diverso da quelli forniti con Win95 e Trumpet. In
il Client Netware con il supporto per Windows. Copiate VTCPIP.386, WINSOCK.d
WLIBSOCK.dll sotto la cartella SYSTEM e TCPIP.exe sotto la cartella NWCLIEN
Quindi modificate il file STARTNET.bat nella cartella NWCLIENT come segue:
lsl
ne2000 −−−> il driver per la vostra scheda di rete
c:\windows\odihlp.exe −−−−> se state usando WFWG
ipxodi
tcpip −−−> aggiungete questa linea
nwip −−−> se state usando Netware/IP
vlm
Create una sottocartella, diciamo NETTCP e copiate lì dentro i file HOSTS, NETWO
PROTOCOLS e SERVICES da /etc presente sul vostro server Linux oppure la ca
SYS:ETC sul vostro server Netware. Editate la copia del file HOSTS e aggiungete
linea per il vostro nuovo server Linux. Questo rende possibile identificare il vostro s
Linux come http://linux.mydomain/ invece di http://172.16.0.1/
vostro browser WWW.
127.0.0.1 localhost
172.16.0.1 linux.mydomain
FRAME Ethernet_II
Protocol TCPIP
PATH TCP_CFG C:\NET\TCP
ip_address 172.17.0.5
ip_netmask 255.255.255.0
ip_router 172.17.0.254 −−−> aggiungete l'indirizzo del vos
−−−> gateway solo se dovete usarlo
−−−> raggiungere il vostro server H
Link Support
MemPool 6192 −−−> il minimo è 1024. Provate altri valori
Buffers 10 1580 −−−> anche questo può essere tarato
;−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
; Potete aver bisogno di aggiungere linee come queste se state
; usando Netware/IP
NWIP
NWIP_DOMAIN_NAME mydomain
NSQ_BROADCAST ON
NWIP1_1 COMPATIBILITY OFF
AUTORETRIES 1
AUTORETRY SECS 10
Editate il file SYSTEM.ini sotto la cartella WINDOWS e aggiungete una linea per
VTCPIP.386
[386Enh]
.....
network=*vnetbios, vipx.386, vnetware.386, VTCPIP.386
.....
Riavviate il PC, eseguite STARTNET.bat e quindi potete usare il vostro browser fav
per accedere le vostre pagine Web. Non avete bisogno di effettuare il login su Netw
nemmeno di eseguire TCPMAN (nel caso usiate il Trumpet Winsock).
Windows 95
Questa sezione spiega come installare il client a 32 bit sotto Win95. Come prima co
bisogna installare quanto segue:
Windows 95 363
Linux HOWTO − Networking − Sommario
L'indirizzo del gateway dovrebbe adesso comparire nella finestra dei gateway instal
Adesso cliccate su OK.
127.0.0.1 localhost
172.16.0.1 linux.mydomain
172.16.0.2 netware.mydomain
172.16.0.3 winNT.mydomain
172.16.0.5 ws_1
Questa sezione spiega come installare il client a 32 bit sotto WFWG. Per cominciar
potete prelevare il driver TCP/IP per Windows dal sito Microsoft. La versione corre
3.11b ed è disponibile da ftp://ftp.microsoft.com come tcp32b.exe. Accertatevi
caricato Win32s prima di tentare di caricare il driver TCP/IP−32bit.
Dopo aver decompresso i file di TCP/IP su una cartella temporanea (diciamo C:TE
verificate che sotto la cartella WINDOWSSYSTEM non esista una copia del file
OEMSETUP.INF. Se c'è, rinominatela. Quindi copiate il file OEMSETUP.INF file
cartella TEMP sulla cartella WINDOWSSYSTEM. Se in precedenza avevate caricato
qualsiasi altro stack TCP/IP sul vostro calcolatore, rimuoveteli prima di proseguire.
Cliccate OK. Vi sarà chiesto di riavviare il computer. Dopo il riavvio, sarà possibile
il browser per collegarsi al server HTTP.
Windows 95
Questa sezione spiega come installare il client Microsoft a 32 bit sotto Win95. Prim
necessario installare quanto segue:
Per configurare TCP/IP, cliccate su TCP/IP, cliccate su Proprietà, cliccate sulla sche
``Indirizzo IP''. Impostate il vostro indirizzo IP nella casella 'Specifica l'indirizzo IP
172.17.0.5. Impostate Subnet mask a 255.255.255.0.
Selezionate la scheda Gateway. Impostate l'indirizzo del vostro gateway (router) nel
casella 'Nuovo gateway' a 172.17.0.254. Cliccate il pulsante Aggiungi. Adesso l'ind
del gateway dovrebbe apparire nell'elenco dei gateway installati. Adesso cliccate OK
Windows NT
Questa sezione spiega come installare il client TCP/IP per WinNT 4.0. Avviate il Pa
di controllo/Rete. Selezionate la scheda `Schede di rete'. Cliccate su Aggiungi per
aggiungere una nuova scheda di rete (se non avete una).
Vi sarà chiesto di configurare lo stack del protocollo TCP/IP. Potete sempre riconfig
selezionando il protocollo TCP/IP e cliccando il pulsante ``Proprietà''.
Cliccate su OK. Il computer richiederà il riavvio. Adesso potete usare qualsiasi brow
collegarvi al vostro server HTTP.
Windows NT 366
Linux HOWTO − Networking − Sommario
linux.mydomain A 172.16.0.1
netware.mydomain A 172.16.0.2
winNT.mydomain A 172.16.0.3
ws_1 A 172.16.0.5
MacTCP
Questa sezione spiega come installare MacTCP. Come prima cosa dovete prelevare
MacTCP dal sito Apple, oppure installarli dall'Internet Connection CD. Per configu
MacTCP, cliccate su Apple Menu/ Control Panels/ TCP/IP. Sullo schermo modifica
l'impostazione 'Connect via:' a 'Ethernet'
Cliccate su OK. Adesso dovreste essere in grado di collegarvi al server HTTP con il
browser.
Il calderone magico Questi filesystem possono essere compilati insieme al kernel di Linux oppure aggiu
moduli, a seconda dalla versione di Linux. Se non avete molta familiarità nella
Libri: compilazione del kernel, fate riferimento ai documenti Kernel HOWTO
http://sunsite.unc.edu/mdw/HOWTO/Kernel−HOWTO.html e Module HOWTO
Italian crackdown
http://sunsite.unc.edu/mdw/HOWTO/Module−HOWTO.html per compilare il kerne
Open Sources moduli.
MediaMorfosi
GTK+/GNOME
NCPFS
sviluppo applicazioni
Installazione
per espandere i file sotto la loro propria cartella. In questo caso avrete una cartella
ncpfs−2.0.10. Posizionatevi su questa cartella ncpfs prima di proseguire con
l'installazione. Leggete il file README e modificate il Makefile se necessario.
L'installazione di ncpfs dipende dalla versione del kernel che state usando. Per i ker
dovete soltanto digitare 'make'. Successivamente, digitando 'make install' si installer
eseguibili e le pagine del manuale.
Se state usando il kernel 1.3.71 o più recente, potreste aver bisogno di ricompilare il
In questi casi, la porzione kernel di ncpfd è già inclusa nell'albero radice dei sorgent
controllare se il kernel deve essere ricompilato digitate
cat /proc/filesystems
Se ncpfs non compare, potete sia ricompilare il kernel che aggiungere ncpfs come m
Per ricompilare il kernel digitate 'make config' e alla domanda sul
semplicemente rispondete 'y'. Probabilmente non avrete bisogno della rete interna c
che vi verrà chiesta in seguito. Una volta che il kernel è stato correttamente installat
riavviate, controllate /proc/filesystems e se tutto è in ordine continuate con
l'installazione delle ncpfs utilities. Ritornate alla cartella che contiene i file ncpfs sca
digitate 'make'. Dopo che la compilazione è finita, digitate 'make install' per installa
eseguibili e le pagine del manuale.
Montare NCPFS
slist
Dovreste essere in grado di vedere un elenco di server Netware. Adesso siete pronti
condividere i file del server Netware.
Supponete che abbiamo bisogno di accedere a dei file HTML nalla cartella
homehtmldocs del volume VOL1: sul server MYDOM_NW. Vi suggerisco di cr
nuovo utente, diciamo 'EXPORT' con password 'EXP123' su questo server, al quale
appropriati diritti d'accesso a questa cartella usando SYSCON oppure NWADMIN.
Sul server Linux create una nuova cartella /mnt/MYDOM_NW. Quindi digitate il co
ls /mnt/MYDOM_NW/vol1/home/htmldocs
SMBFS
Per condividere file sul server Windows avrete bisogno del supporto per SMB (smb
Installazione
per espandere i file dentro la propria cartella. In questo caso avrete una cartella
smbfs−2.0.1. Posizionatevi su questa cartella prima di proseguire con l'installaz
Leggete il file README e modificate il Makefile se necessario.
L'installazione di smbfs dipende dalla versione del kernel che state usando. Per i ker
dovete soltanto digitare 'make'. Successivamente, digitando 'make install' si installer
eseguibili e le pagine del manuale.
Se state usando il kernel 2.0 o più recente, potreste aver bisogno di ricompilare il ke
questi casi, la porzione kernel di ncpfd è già inclusa nell'albero radice dei sorgenti. P
controllare se il kernel deve essere ricompilato digitate
cat /proc/filesystems
Se smbfs non compare, potete sia ricompilare il kernel che aggiungere smbfs come
Per ricompilare il kernel dovreste digitare 'make config' e quando vi viene chiesto se
desiderate aggiungere il supporto per il filesystem SMB semplicemente rispondete d
Una volta che il kernel è correttamente installato, riavviate, verificate
/proc/filesystems e se tutto è in ordine procedete con l'installazione delle ut
smbfs. Ritornate alla cartella che contiene i file di smbfs che avete scaricato, e digit
'make'. Dopo che la compilazione è finita, digitate 'make install' per installare le var
e le pagine del manuale.
Montare SMBFS
SMBFS 370
Linux HOWTO − Networking − Sommario
Digitando il comando
ls /mnt/MYDOM_NT
NFS
Prima di tutto, occorre un kernel con il filesystem NFS sia compilato che disponibil
modulo.
Supponete di avere un host Unix sul quale gira NFS con il nome MYDOM_UNIX e
indirizzo IP uguale a 172.16.0.4. Potete verificare quali sono le cartelle che sono esp
(condivise) da questo host digitando il comando
showmount −e 172.16.0.4
Una volta che conoscete le cartella esportate, potete montarle con un adeguato coma
mount. Vi suggerisco di creare una cartella sotto `/mnt', diciamo 'MYDOM_UNIX'
usarla come punto di montaggio.
I valori per rsize e wsize possono aver bisogno di essere modificati a seconda del vo
ambiente.
Glossario
Linux−FAQ
NFS 371
Documenti: Accesso al sito Web
Open Source Definition
Adesso che avete configurato il server HTTP, i client, e connesso il
GNU General Public License server Linux ad altri server, potete fare alcuni piccoli cambiamenti al
La cattedrale e il bazaar
server Linux per permettere l'accesso ai file system direttamente dal
browser.
Colonizzare la noosfera
Collegamento a Internet
A questo punto potete collegare la vostra intranet a Internet per avere
accesso a E−mail e tutte le buone cose che potete trovare là fuori.
Spiegazioni più dettagliate per stabilire il collegamento con il vostro
Internet Provider possono essere trovate sui documenti ISP Hookup
HOWTO (in Inglese) da
http://sunsite.unc.edu/mdw/HOWTO/ISP−Hookup−HOWTO.html e
Diald mini HOWTO su
http://sunsite.unc.edu/mdw/HOWTO/mini/Diald.
Altri utilizzi
Un server HTTP può essere usato in un ufficio per dare accesso
trasparente alle informazioni disponibili presso diversi server, su
diverse postazioni e cartelle. I dati possono essere semplici documenti
Word, fogli elettronici Lotus o complesse basi di dati.
♦ Accesso Web −
http://cscsun1.larc.nasa.gov/~beowulf/db/web_access.html
♦ Gateway CGI −
http://www.w3.org/hypertext/WWW/RDBGate/Overview.html
• Pagine istituzionali/dipartimentali/individuali.
• Posta elettronica.
• Interfaccia utente.
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Glossario
Linux−FAQ
Documenti:
Colonizzare la noosfera
Ringraziamenti
Il calderone magico Ringrazio il personale della NCSA per avermi fornito
un'ottima documentazione, David Anderson e tutti gli altri che
Libri: hanno provato questo HOWTO ed inviato i loro commenti. I
Italian crackdown
dettagli su Netware/IP sono una cortesia di Romel Flores
(rom@mnl.sequel.net).
Open Sources
MediaMorfosi Copyright
GTK+/GNOME
sviluppo applicazioni This document is copyrighted © 1996,1997 Pramod Karnad
Linux HOWTO: Installazione e configurazione and distributed under the following terms:
tipo di distribuzione
• Tutte le traduzioni, prodotti derivati e aggiuntivi che
contengano qualsiasi documento Linux HOWTO
dovranno essere coperti da questo copyright. Cioè,
non potete produrre un documento derivato da un
HOWTO e imporre restrizioni aggiuntive sulla
distribuzione. Eccezioni a queste regole possono
essere concesse sotto certe condizioni; siete pregati di
contattare il coordinatore dei Linux HOWTO
all'indirizzo sottostante.
• Se avete delle domande, siete pregati di contattare
Tim Bynum, coordinatore dei Linux HOWTO,
linux−howto@sunsite.unc.edu
Abstract:
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Abstract: 378
Libri: Introduzione
Italian crackdown
Questa descrizione è stata fatta per rispondere alcune delle domande di coloro che in
Open Sources usare Linux per collegarsi ai rispettivi ISP (Internet Service Provider) tramite colleg
MediaMorfosi
Per aiutare anche i meno esperti, si è tentato di coprire la maggior parte dei problem
GTK+/GNOME creerà inevitabilmente un certo grado di sovrapposizione con altri documenti Howto
sviluppo applicazioni
LDP. Questi documenti dovrebbero essere consultati per un maggiore approfondime
Linux HOWTO: Installazione e configurazione
La maggior parte della documentazione esistente è diretta a utenti con una certa esp
Risorse principianti avranno spesso problemi ad individuare le informazioni significative.
Feedback
Per semplificare, negli esempi che seguiranno, verranno usate le seguenti informazi
Copyright
Copyright (c) 1996,1997,1998 by Egil Kvaleberg. Questo documento può essere dis
condizioni stabilite dalla licenza LDP da http://sunsite.unc.edu/LDP/COPYRIGHT.
Disconoscimento
L'autore non si assume nessuna responsabilità sul contenuto di questo documento. U
e tutto quanto a vostro proprio rischio.
Una delle molte possibili configurazioni verrà descritta. Nel mondo Linux, normalm
modi di ottenere una cosa. I paragrafi contenenti suggerimenti alternativi sono contr
ALTERNATIVA: Tenete anche in considerazione che i riferimenti FTP spesso cam
arrivano nuove versioni.
Saranno descritti soltanto programmi che sotto certe condizioni (per quanto ne so Io
o valutati per scopi privati. La maggior parte dei programmi sono disponibili con i r
condizioni GNU o simile. GNU
Introduzione 379
Linux HOWTO − Networking − Sommario
Traduzioni
Oltre a questa, sono disponibili traduzioni di questo documento nelle seguenti lingu
Norvegese: http://www.kvaleberg.com/no−linux.html
L'ultima versione (in inglese) di Linux ISP Hookup HOWTO sarà periodicamente in
comp.os.linux.answers, ed è anche disponibile sui vari siti FTP dedicati a Linux, co
sunsite.unc.edu.
Commenti
Ogni commento, segnalazione di errore, informazioni aggiuntive e critiche di ogni t
indirizzati a:
egil@kvaleberg.no
http://www.kvaleberg.com/
[Precedente] [Sommario] [
Traduzioni 380
Linux HOWTO − Networking − Sommario
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
La configurazione basilare
La configurazione del sistema da usare in rete dovrebbe essere fatta da root.
Prima di continuare, assicuratevi che il file /etc/hosts.deny /etc/hosts.deny contenga
la seguente linea:
ALL: ALL
ALL: LOCAL
Oppure:
ALL: 127.0.0.1
Notate che quanto segue è valido solo per un collegamento PPP con indirizzo IP
dinamico. Nel caso abbiate una connessione fissa, ci saranno alcune differenze.
È carino avere un nome associato al sistema, un nome che l'utente può scegliere a
piacere. Scrivete questo nome nel file /etc/HOSTNAME /etc/HOSTNAME:
roderick
search .
nameserver 193.212.1.0
Il name server name server deve essere specificato con un indirizzo IP numerico, e
sarà diverso per ogni ISP. Se necessario, potete avere fino a tre server, uno per
linea. I server verranno interrogati nella sequenza in cui sono elencati.
search acme.xz
search
127.0.0.1 localhost
0.0.0.0 roderick
loopback 127.0.0.0
localnet 0.0.0.0
loopback localnet
acme.xz
dirk * PrettySecret
TIMEOUT 5
"" ATZ
OK ATDT12345678
ABORT "NO CARRIER"
ABORT BUSY
ABORT "NO DIALTONE"
ABORT WAITING
TIMEOUT 45
CONNECT ""
TIMEOUT 5
"name:" ppp
sostituire la stringa di inizializzazione del modem ATZ con qualcosa di più adatto al
modem che stanno utilizzando. L'ultima linea indica che ci si aspetta un prompt che
finisce per name:, e che la risposta dovrebbe essere ppp quando arriva. Altri
sistemi possono richiedere altre procedure di login.
tail /var/adm/messages
dmesg
dmesg
Mentre PPP è su, avrete accesso diretto a Internet e potete usare programmi come
ftp, ncftp, rlogin, telnet, finger ecc. Tutti questi programmi sono parte del software
standard di rete.
/usr/lib/ppp/README.linux
/usr/lib/ppp/README.linux−chat
ALL: LOCAL
Un piccolo particolare: esiste una certa confusione sui nomi dei protocolli POP.
Una definizione in /etc/services /etc/services compatibile con praticamente tutto è:
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
Linux HOWTO: Installazione e configurazione Se pensate che il testo è la cosa più importante potreste usare il browser Lynx. È dis
Risorse ftp://sunsite.unc.edu/pub/Linux/system/Network/info−systems/lynx−2.3.bin2.tar.gz
Feedback Se avete installato X potete anche usare uno dei vari browser grafici. Chimera può e
a:
ftp://sunsite.unc.edu/pub/Linux/system/Network/info−systems/chimera−1.65.bin.EL
http://www.unlv.edu/chimera/
Mosaic
ftp://sunsite.unc.edu/pub/Linux/system/Network/info−systems/Mosaic−2.7b1−aout.
ftp://ftp.NCSA.uiuc.edu/Web/Mosaic/Unix/binaries/2.6
ftp://sunsite.unc.edu/pub/Linux/system/Network/info−systems/netscape−v11b3.tar.g
ftp://ftp.cs.uit.no/pub/www/netscape
Glossario
Linux−FAQ
Documenti:
Italian crackdown Sendmail si basa sulla configurazione che trova in /etc/sendmail.cf /etc/sendmail.cf.
Un esempio adatto per gli utenti di un Internet Provider può essere trovato a:
Open Sources
ftp://ftp.sol.no/user/egilk/sendmail.cf. Questo esempio è basato su procmail procma
MediaMorfosi come agente di consegna, ma può essere modificato facilmente per usare deliver
GTK+/GNOME deliver.
sviluppo applicazioni
DM mascheramento Questo suppone che il nome utente in locale è lo stesso che ave
presso l'Internet Provider. Se avete un nome differente, basta specificare il nome
completo:
DMdick@acme.xz
La ricezione della posta elettronica può essere effettuata con il protocollo POP3, che
può essere lanciato ogni volta che si stabilisce la connessione. Uno script per testare
questo è
sendmail −q
popclient −3 −v mail.acme.xz −u dirk −p "PrettySecret" \
−k −o /usr/spool/mail/dirk
popclient Questo script può essere lanciato dopo che la connessione PPP è stata
attivata. Ricordatevi che questo script è solo di prova, quindi conviene assicurarsi ch
la mailbox non venga toccata durante la sua esecuzione. L'opzione −k, che sta per
kept, indica che la posta rimane disponibile nella mailbox del vostro Internet Provid
e della quale voi ne ricevete una copia. Certamente, conviene disabilitare questa
State attenti che la password verrà mostrata sulla linea di comando. Notate anche ch
popclient sta diventando obsoleto, e che dovreste considerare invece l'uso di fetchm
fetchmail.
Una versione migliore e più sicura di questo script può essere prelevata da:
ftp://ftp.sol.no/user/egilk/pop−script.tar.gz
Questa versione dello script richiede che venga isntallato anche procmail procmail,
questo è qualcosa di cui non vi pentirete mai. È già compreso nelle maggiori
distribuzioni, altrimenti potete prelevarlo da:
ftp://sunsite.unc.edu/pub/Linux/system/Mail/mailhandlers/procmail−3.10−2.tar.gz
Procmail è uno strumento semplice e flessibile che può gestire la posta elettronica in
ingresso in base ad una grande varietà di criteri. Inoltre, è in grado di effettuare cert
operazioni automaticamente come per esempio messaggi di risposta durante le
vacanze.
Notate che quando usate procmail direttamente come in questo caso la situazione è
leggermente diversa da come viene descritta nella documentazione di procmail. Il
.forward non è richiesto, e non avete neanche bisogno di .procmailrc. Quest'ultimo
necessario solo se volete ordinare la posta.
Come interfaccia utente per leggere e spedire posta elettronica potete adottare
programmi come pine pine oppure elm elm.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
Per iniziare a leggere le news, il più delle volte l'unica cosa necessaria in
termini di configurazione è impostare NNTPSERVER (di solito una volta e
tutte nel file .profile .profile):
export NNTPSERVER=news.acme.xz
Per avere l'indirizzo del mittente (campo From), alcuni programmi possono
richiedere:
export NNTP_INEWS_DOMAIN=acme.xz
NNTP_INEWS_DOMAIN
È cruciale che tutta la gestione delle news venga fatta dall'utente news, e che
tutti i file di configurazione si trovino nella cartella /usr/lib/news /usr/lib/news.
Se avete già effettuato il login come root, potete digitare su news; cd.
News 390
Linux HOWTO − Networking − Sommario
ME:all/all::
acme/acme.xz:all,!junk/all:FL:
mkdir /var/spool/news/out.going/acme
News 391
Linux HOWTO − Networking − Sommario
Occorre anche effettuare un po' di pulizia in caso di riavvio del sistema. Come
utente root, aggiungete la seguente linea al file /etc/rc.d/rc.local:
su news −c /usr/lib/newsbin/maint/newsboot
make
su
make install
exit
Con le impostazioni appena descritte, tutto quello che resta da fare è creare i
gruppi che desiderate leggere usando il comando addgroup addgroup.
Per scaricare degli articoli, l'utente news deve eseguire i seguenti comandi (si
assume che il collegamento tramite PPP o simile è già su):
newsrun
newsx acme news.acme.xz
newsrun
newsrun
News 392
Linux HOWTO − Networking − Sommario
comp.os.linux tale@uunet.com yv
all any nq
Per quanto riguarda C News, tutta la manutenzione delle news dovrebbe essere
realmente eseguita dall'utente news.
cd /usr/lib/leafnode
tar −xzvf leafnode−0.8.tgz
cd leafnode−0.8
make
su
make install
Mentre siete ancora nei panni di root, modificate la linea che controlla NNTP
nel file /etc/inetd.conf /etc/inetd.conf:
Attivatelo con:
server = news.acme.xz
texpire
Anche lo scambio delle news viene fatto dall'utente news con il seguente
comando (assumendo che PPP è attivo):
/usr/local/sbin/fetch
fetch
export NNTPSERVER=localhost
Questo sarebbe tutto quanto serve. Il primo fetch trasferirà l'elenco dei
newsgroup disponibili. In seguito, leafnode prenderà nota dei gruppi che
vengono richiesti dagli utenti, e si adatterà a questo la volta successiva che
viene attivato.
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
/usr/sbin/pppd
Dopo aver verificato il funzionamento di questi script, si devono scrivere altri script
eseguiranno le diverse operazioni. Lo script per prelevare la posta è già stato descrit
precedentemente, ed assumeremo che si trova nel file /home/dirk/pop.
Uno script per lo scambio della posta può essere messo in /root/mail:
#! /bin/sh
#
# scambia posta elettronica
# 10 minuti di timeout:
TIMEOUT=600
DT=10
# lancia sendmail:
sendmail −q &
# preleva la posta:
su dirk −c /home/dirk/pop
exit 0
Lo script per lo scambio delle news può essere messo nel file /usr/lib/news/news:
#!/bin/sh
#
# scambio delle news
# viene eseguita come utente news:
cd /usr/lib/news
#scambia le news:
/usr/lib/newsbin/newsx acme news.acme.xz
Adesso manca soltanto uno script per mettere insieme i diversi pezzi, e che può esse
messo nel file /root/news+mail:
#!/bin/sh
#
# scambio della posta e delle news
# viene eseguito come utente root
#
if ! /usr/lib/ppp/ppp−on; then
exit 1
fi
trap "/usr/lib/ppp/ppp−off" 1 2 3 15
#chiude il collegamento
/usr/lib/ppp/ppp−off
exit 0
#!/bin/sh
#
# scambio della posta e delle news, solo se ci sono messaggi in usc
# (C News spool)
if [ −s /var/spool/news/out.going/acme/togo ] ||
! ( mailq | grep −q "Mail queue is empty"); then
/root/news+mail
fi
L'unica cosa che manca è specificare quando dovrebbe accadere tutto ciò. Questo vi
fatto usando il comando crontab −e crontab come root. Assumendo che intend
effettuare sempre lo scambio della posta e delle news alle 07:00 del mattino, e
successivamente ogni 4 ore ma solo se ci sono messaggi da spedire
00 7 * * * /root/news+mail
00 11,15,19,23 * * * /root/news+mail.cond
In questo sito potete anche trovare altre variazioni sul tema dei collegamenti PPP.
Glossario
Linux−FAQ
Documenti:
Colonizzare la noosfera
Altre cose che dovrei sapere?
Il calderone magico • I diversi messaggi di errore nel sistema vengono
normalmente gestiti tramite la posta interna. Per
Libri: assicurarsi che questi messaggi siano letti, dovreste
Italian crackdown
creare un file /etc/aliases /etc/aliases. Ricordatevi del
comando newaliases ogni volta che modificate
Open Sources questo file. Un esempio che dovrebbe coprire la
MediaMorfosi maggior parte delle eventualità è:
GTK+/GNOME
PostMaster: root
sviluppo applicazioni
ftp: root
Linux HOWTO: Installazione e configurazione news: root
usenet: root
Risorse FaxMaster: root
fax: root
WebMaster: root
Feedback MAILER.DAEMON: root
PostMaster
Glossario
Il calderone magico
ftp://ftp.demon.co.uk/pub/unix/linux/Demon/slack3.0.help.tgz
Libri: Netcom
GTK+/GNOME http://www.kvaleberg.com/no−isp.html
sviluppo applicazioni
Risorse http://www−leland.stanford.edu/~wkn/Linux/network/network.html
Feedback MCI
http://www.kvaleberg.com/linux−mci.html
SISCOM
http://www.siscom.net/support/linux_setup.htm
Se avete delle informazioni su un Internet Provider non elencato qui, siete pregati d
man pppd
Potete anche trovare della documentazione su alcuni programmi sotto la cartella /us
anche se non sempre è bene strutturata.
Red Hat ha una mailing list sull'argomento PPP. Per abbonarsi occorre inviare un m
redhat−ppp−list−request con il subject
subscribe
Ringraziamenti
Le informazioni raccolte in questo documento provengono da diverse fonti. Ringraz
persone che direttamente o indirettamente hanno contribuito:
Ringraziamenti 401
Linux HOWTO − Networking − Sommario
Glossario
Linux−FAQ
Documenti:
La cattedrale e il bazaar
Colonizzare la noosfera
Il calderone magico
Libri:
Italian crackdown
Open Sources
MediaMorfosi
GTK+/GNOME
sviluppo applicazioni
Risorse
Feedback
● Home
● Chi siamo
● Catalogo libri
● Contatti
● Feed
● Help
La referenza: Per una maggiore trasparenza sulle leggi italiane legate alla Rete Video
Registrazione/Accesso La Tua Spesa
● Linux-Unix
● Mac Os
● Windows
● Università
● Ebook
● OpenPress
● |
Cerca
● Linguaggi e Programmazione
● Telefonia e Wireless
● Sistemi operativi
● Editoria digitale
● Diritto e tecnologie
● Computer formazione e lavoro
● Web e Internet
● Free Software
● Mondo e Tecnologia
● Economia
● Discipline aziendali
● Matematica e Statistica
● Ingegneria
● Informatica
● Scienze umane
Metallica e la filosofia
di William Irwin
Una filosofia radicata nella contemporaneità e nella quotidianità, che riscopre le idee e i testi dei grandi
del passato attraverso la riflessione sui problemi e le parole di oggi.
● ECDL
● Pratiche Filosofiche
● Urra
Newsletter gratuita
Inserisci il tuo indirizzo e-mail:
Net TV
di Tommaso Tessarolo
NET TV: nel prossimo futuro assisteremo a una vera rivoluzione delle regole del fare e del fruire della
TV, con la possibilità per tutti di entrare in gioco.
Open Source non significa solamente accesso al codice sorgente. I termini di distribuzione di un
programma open-source devono rispettare i criteri seguenti.
1. Libera ridistribuzione
La licenza non può limitare nessuna delle parti nella vendita o nella fornitura di software come
componente di una distribuzione di software aggregati, contenente programmi provenienti da fonti
diverse. La licenza non può richiedere il pagamento di una royalty o di diritti per tale rivendita.
2. Codice sorgente
Il programma deve includere il codice sorgente, e deve consentire la distribuzione sia sotto forma di
codice sorgente sia in forma compilata. Nei casi in cui un prodotto non venga distribuito con il codice
sorgente, deve esserci la possibilità, ben pubblicata, di scaricare il codice sorgente via Internet senza
costi aggiuntivi. Il codice sorgente deve essere la forma privilegiata in cui in programmatore
modificherà il programma. Codice sorgente deliberatamente nascosto non è ammesso. Forme mediate,
come l'output di un preprocessore non sono ammesse.
3. Prodotti derivati
La licenza deve consentire l'attuazione di modifiche e di prodotti derivati, consentendo inoltre la loro
distribuzione sotto gli stessi termini di licenza del software originale.
La licenza può imporre limitazioni sulla distribuzione del codice sorgente in forma modificata solamente
se la licenza consente la distribuzione di file “patch” insieme al codice sorgente con lo scopo di
modificare il programma durante l'esecuzione del build. La licenza deve consentire esplicitamente la
distribuzione di software realizzato a partire dal codice sorgente modificato. La licenza può richiedere
che i prodotti derivati portino un nome o un numero di versione diverso dal software originale.
La licenza non deve porre discriminazioni verso qualsiasi persona o gruppo di persone.
La licenza non deve porre limitazioni sull'uso del programma in un particolare campo di applicazione.
Per esempio, non può impedire l'uso del programma in una azienda o per la ricerca genetica.
I diritti allegati al programma devono applicarsi a tutti coloro a cui viene ridistribuito il programma,
I diritti allegati al programma non devono dipendere dal fatto che il programma faccia parte di una
distribuzione particolare. Se il programma viene estratto da tale distribuzione e usato o distribuito nei
termini della licenza del programma, tutte le parti a cui il programma viene ridistribuito devono avere gli
stessi diritti garantiti in occasione della distribuzione originale del software.
La licenza non deve porre limitazioni su altro software che venga distribuito insieme con il software in
licenza. Per esempio, la licenza non deve asserire che tutti gli altri programmi distribuiti sullo stesso
supporto devono essere software open source.
Qualsiasi programma che faccia uso di licenze certificate come conformi alla Open Source Definition
può utilizzare il marchio registrato Open Source, e il codice sorgente può essere dichiarato
esplicitamente di pubblico dominio. Nessun altro programma o licenza è certificato per fare uso del
marchio registrato Open Source.
(Le informazioni seguenti non sono parte della Open Source Definition e possono subire variazioni nel
corso del tempo).
La GNU GPL, la LGPL, la licenza BSD, la licenza X Consortium, l'Artistic, la MPL e la QPL sono
esempi di licenze che consideriamo conformi alla Open Source Definition. Per sottoporre a
certificazione una licenza, scrivere a certification@opensource.org. Incoraggiamo caldamente l'utilizzo
di licenze già certificate dall'elenco precedente, dal momento questo consente l'uso del marchio Open
Source senza bisogno di sottoporre a revisione la licenza. Si prega di riportare eventuali abusi del
marchio Open Source a: mark-misuse@opensource.org.
1.0 Identica a DFSG tranne per l'aggiunta di MPL e QPL alla clausola 10.
1.3 Modificato il titolo della clausola 10 e separato l'elenco delle licenze, con l'aggiunta di materiale
sulle procedure.
1.4 Esplicitata l'esigenza del codice sorgente per il software di pubblico dominio.
Bruce Perens scrisse la prima bozza di questo documento come “The Debian Free Software Guidelines”,
perfezionandola mediante i commenti degli sviluppatori Debian in una conferenza in posta elettronica
durata un mese nel giugno 1997. Rimosse quindi i riferimenti specifici a Debian per creare la “Open
Soure Definition”.
1. Mac OS X Leopard
2. ECDL Il manuale con Atlas Syllabus 5.0
3. ECDL Mettiti alla prova... reloaded
4. Photoshop CS3 Guida completa
5. Introduzione all'analisi qualitativa delle equazioni differenziali ordinarie
6. Sviluppare applicazioni web con PHP e MySQL
7. iPhone
8. AutoCAD 2009
9. Algebra lineare
10. Sviluppare applicazioni web con Rails
Ultimi articoli
● Home
● Chi siamo
● Catalogo libri
● Contatti
● Feed
● Help
La referenza: Per una maggiore trasparenza sulle leggi italiane legate alla Rete Video
Registrazione/Accesso La Tua Spesa
● Linux-Unix
● Mac Os
● Windows
● Università
● Ebook
● OpenPress
● |
Cerca
● Linguaggi e Programmazione
● Telefonia e Wireless
● Sistemi operativi
● Editoria digitale
● Diritto e tecnologie
● Computer formazione e lavoro
● Web e Internet
● Free Software
● Mondo e Tecnologia
● Economia
● Discipline aziendali
● Matematica e Statistica
● Ingegneria
● Informatica
● Scienze umane
Metallica e la filosofia
di William Irwin
Una filosofia radicata nella contemporaneità e nella quotidianità, che riscopre le idee e i testi dei grandi
del passato attraverso la riflessione sui problemi e le parole di oggi.
● ECDL
● Pratiche Filosofiche
● Urra
Newsletter gratuita
Inserisci il tuo indirizzo e-mail:
Net TV
di Tommaso Tessarolo
NET TV: nel prossimo futuro assisteremo a una vera rivoluzione delle regole del fare e del fruire della
TV, con la possibilità per tutti di entrare in gioco.
Licenza GPL
.
GNU
Questa è una traduzione italiana non ufficiale della Licenza Pubblica Generale GNU. Non è pubblicata
dalla Free Software Foundation e non ha valore legale nell'esprimere i termini di distribuzione del
software che usa la licenza GPL. Solo la versione originale in inglese della licenza ha valore legale. Ad
ogni modo, speriamo che questa traduzione aiuti le persone di lingua italiano a capire meglio il
significato della licenza GPL.
This is an unofficial translation of the GNU General Public License into Italian. It was not published by
the Free Software Foundation, and does not legally state the distribution terms for software that uses the
GNU GPL – only the original English text of the GNU GPL does that. However, we hope that this
translation will help Italian speakers understand the GNU GPL better.
Copyright © 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA
Traduzione curata dal gruppo Pluto e da ILS, ultimo aggiornamento, 30 luglio 1998.
Tutti possono copiare e distribuire copie letterali di questo documento di licenza, ma non è lecito
modificarlo.
Preambolo
Le licenze per la maggioranza dei programmi hanno lo scopo di togliere all'utente la libertà di
condividerlo e di modificarlo. Al contrario, la Licenza Pubblica Generica GNU è intesa a garantire la
libertà di condividere e modificare il free software, al fine di assicurare che i programmi siano “liberi”
per tutti i loro utenti. Questa Licenza si applica alla maggioranza dei programmi della Free Software
Foundation e ad ogni altro programma i cui autori hanno scelto questa Licenza. Alcuni altri programmi
della Free Software Foundation sono invece coperti dalla Licenza Pubblica Generica per Librerie.
Chiunque può usare questa Licenza per i propri programmi.
Quando si parla di “free software”, ci si riferisce alla libertà, non al prezzo. Le nostre Licenze (la GPL e
la LGPL) sono progettate per assicurarsi che ciascuno abbia la libertà di distribuire copie del free
software (e farsi pagare per questo, se vuole), che ciascuno riceva il codice sorgente o che lo possa
ottenere se lo desidera, che ciascuno possa modificare il programma o usarne delle parti in nuovi
programmi “liberi” e che ciascuno sappia di potere fare queste cose.
Per proteggere i diritti dell'utente, abbiamo bisogno di creare delle restrizioni che vietino a chiunque di
negare questi diritti o di chiedere di rinunciarvi. Queste restrizioni si traducono in certe responsabilità
per chi distribuisce copie del software e per chi lo modifica.
Per esempio, chi distribuisce copie di un Programma coperto da GPL, sia gratis sia in cambio di un
compenso, deve dare ai destinatari tutti i diritti che ha ricevuto. Deve anche assicurarsi che i destinatari
ricevano o possano ricevere il codice sorgente. E deve mostrar loro queste condizioni di Licenza, in
modo che conoscano i loro diritti.
Proteggiamo i diritti dell'utente in due modi: (1) proteggendo il software con un copyright, e (2)
offrendo una Licenza che offre il permesso legale di copiare, distribuire e/o modificare il Programma.
Infine, per proteggere ogni autore e noi stessi, vogliamo assicurarci che ognuno capisca che non ci sono
garanzie per i programmi coperti da GPL. Se il Programma viene modificato da qualcun altro e
ridistribuito, vogliamo che gli acquirenti sappiano che ciò che hanno non è l'originale, in modo che ogni
problema introdotto da altri non si rifletta sulla reputazione degli autori originari.
Infine, ogni programma libero è costantemente minacciato dai brevetti sui programmi. Vogliamo evitare
il pericolo che chi ridistribuisce un Programma libero ottenga brevetti personali, rendendo perciò il
Programma una cosa di sua proprietà. Per prevenire questo, abbiamo chiarito che ogni prodotto
brevettato debba essere distribuito per il libero uso da parte di chiunque, o non distribuito affatto.
0. Questa Licenza si applica a ogni Programma o altra opera che contenga una nota da parte del
detentore del copyright che dica che tale opera puo` distribuita sotto i termini di questa Licenza
Pubblica Generica. Il termine “Programma” nel seguito indica ognuno di questi programmi o
lavori, e l'espressione “lavoro basato sul Programma” indica sia il Programma sia ogni opera
considerata “derivata” in base alla legge sul Copyright: cioe` un lavoro contenente il programma
o una porzione di esso, sia letteralmente sia modificato e/o tradotto in un'altra lingua; da qui in
avanti, la traduzione è in ogni caso considerata una “modifica”. Vengono ora elencati i diritti dei
detentori di licenza.
Attività diverse dalla copiatura, distribuzione e modifica non sono coperte da questa Licenza e
sono al di fuori della sua influenza. L'atto di eseguire il programma non viene limitato, e l'output
del programma è coperto da questa Licenza solo se il suo contenuto costituisce un lavoro basato
sul Programma (indipendentemente dal fatto che sia stato creato eseguendo il Programma). In
base alla natura del Programma il suo output puo` essere o meno coperto da questa Licenza.
1. È lecito copiare e distribuire copie letterali del codice sorgente del Programma così come viene
ricevuto, con qualsiasi mezzo, a condizione che venga riprodotta chiaramente su ogni copia una
appropriata nota di copyright e di assenza di garanzia; che si mantengano intatti tutti i riferimenti
a questa Licenza e all'assenza di ogni garanzia; che si dia a ogni altro destinatario del Programma
una copia di questa Licenza insieme al Programma.
È possibile richiedere un pagamento per il trasferimento fisico di una copia del Programma, è
anche possibile a propria discrezione richiedere un pagamento in cambio di una copertura
assicurativa.
2. È lecito modificare la propria copia o copie del Programma, o parte di esso, creando perciò un
lavoro basato sul Programma, e copiare o distribuire queste modifiche e questi lavori sotto i
termini del precedente punto 1, a patto che anche tutte queste condizioni vengano soddisfatte:
a. Bisogna indicare chiaramente nei file che si tratta di copie modificate e la data di ogni
modifica.
b. Bisogna fare in modo che ogni lavoro distribuito o pubblicato, che in parte o nella sua
totalità derivi dal Programma o da parti di esso, sia globalmente utilizzabile da terze parti
secondo le condizioni di questa licenza.
c. Se di solito il programma modificato legge comandi interattivamente quando eseguito,
bisogna fare in modo che all'inizio dell'esecuzione interattiva usuale, stampi un messaggio
contenente una appropriata nota di copyright e di assenza di garanzia (oppure che
specifichi il tipo di garanzia che si offre). Il messaggio deve inoltre specificare agli utenti
che possono ridistribuire il programma nelle condizioni qui descritte e deve indicare come
reperire questa licenza. Se però il programma di partenza è interattivo ma normalmente
non stampa tale messaggio, non occorre che un lavoro derivato lo stampi.
Questi requisiti si applicano al lavoro modificato nel suo complesso. Se sussistono parti
identificabili del lavoro modificato che non siano derivate dal Programma e che possono essere
ragionevolmente considerate lavori indipendenti, allora questa Licenza e i suoi termini non si
applicano a queste parti quando vengono distribuite separatamente. Se però queste parti vengono
distribuite all'interno di un prodotto che è un lavoro basato sul Programma, la distribuzione di
questo prodotto nel suo complesso deve avvenire nei termini di questa Licenza, le cui norme nei
confronti di altri utenti si estendono a tutto il prodotto, e quindi ad ogni sua parte, chiunque ne sia
l'autore.
Sia chiaro che non è nelle intenzioni di questa sezione accampare diritti su lavori scritti
interamente da altri, l'intento è piuttosto quello di esercitare il diritto di controllare la
distribuzione di lavori derivati o dal Programma o contenenti esso.
Inoltre, se il Programma o un lavoro derivato da esso viene aggregato ad un altro lavoro non
derivato dal Programma su di un mezzo di immagazzinamento o di distribuzione, il lavoro non
derivato non deve essere coperto da questa licenza.
3. è lecito copiare e distribuire il Programma (o un lavoro basato su di esso, come espresso al punto
2) sotto forma di codice oggetto o eseguibile sotto i termini dei precedenti punti 1 e 2, a patto che
si applichi una delle seguenti condizioni:
a. Il Programma sia corredato dal codice sorgente completo, in una forma leggibile dal
calcolatore e tale sorgente deve essere fornito secondo le regole dei precedenti punti 1 e 2
Se la distribuzione dell'eseguibile o del codice oggetto è effettuata indicando un luogo dal quale
sia possibile copiarlo, permettere la copia del codice sorgente dallo stesso luogo è considerata
una valida forma di distribuzione del codice sorgente, anche se copiare il sorgente è facoltativo
per l'acquirente.
4. Non è lecito copiare, modificare, sublicenziare, o distribuire il Programma in modi diversi da
quelli espressamente previsti da questa Licenza. Ogni tentativo di copiare, modificare,
sublicenziare o distribuire il Programma non è autorizzato, e farà terminare automaticamente i
diritti garantiti da questa Licenza. D'altra parte ogni acquirente che abbia ricevuto copie, o diritti,
coperti da questa Licenza da parte di persone che violano la Licenza come qui indicato non
vedranno invalidare la loro Licenza, purché si comportino conformemente ad essa.
5. L'acquirente non è obbligato ad accettare questa Licenza, poiché non l'ha firmata. D'altra parte
nessun altro documento garantisce il permesso di modificare o distribuire il Programma o i lavori
derivati da esso. Queste azioni sono proibite dalla legge per chi non accetta questa Licenza;
perciò, modificando o distribuendo il Programma o un lavoro basato sul programma, si indica nel
fare ciò l'accettazione di questa Licenza e quindi di tutti i suoi termini e le condizioni poste sulla
copia, la distribuzione e la modifica del Programma o di lavori basati su di esso.
6. Ogni volta che il Programma o un lavoro basato su di esso vengono distribuiti, l'acquirente riceve
automaticamente una licenza d'uso da parte del licenziatario originale. Tale licenza regola la
copia, la distribuzione e la modifica del Programma secondo questi termini e queste condizioni.
Non è lecito imporre restrizioni ulteriori all'acquirente nel suo esercizio dei diritti qui garantiti.
Chi distribuisce programmi coperti da questa Licenza non è comunque responsabile per la
conformità alla Licenza da parte di terze parti.
7. Se, come conseguenza del giudizio di una corte, o di una imputazione per la violazione di un
brevetto o per ogni altra ragione (anche non relativa a questioni di brevetti), vengono imposte
condizioni che contraddicono le condizioni di questa licenza, che queste condizioni siano dettate
dalla corte, da accordi tra le parti o altro, queste condizioni non esimono nessuno
dall'osservazione di questa Licenza. Se non è possibile distribuire un prodotto in un modo che
soddisfi simultaneamente gli obblighi dettati da questa Licenza e altri obblighi pertinenti, il
prodotto non puo` essere affatto distribuito. Per esempio, se un brevetto non permettesse a tutti
quelli che lo ricevono di ridistribuire il Programma senza obbligare al pagamento di diritti, allora
l'unico modo per soddisfare contemporaneamente il brevetto e questa Licenza è di non distribuire
affatto il Programma.
Se parti di questo punto sono ritenute non valide o inapplicabili per qualsiasi circostanza, deve
comunque essere applicata l'idea espressa da questo punto; in ogni altra circostanza invece deve
essere applicato il punto 7 nel suo complesso.
Non è nello scopo di questo punto indurre gli utenti ad infrangere alcun brevetto ne` ogni altra
rivendicazione di diritti di proprietà, né di contestare la validità di alcuna di queste
rivendicazioni; lo scopo di questo punto è solo quello di proteggere l'integrità del sistema di
distribuzione dei programmi liberi, che viene realizzato tramite l'uso della licenza pubblica.
Molte persone hanno contribuito generosamente alla vasta gamma di programmi distribuiti
attraverso questo sistema, basandosi sull'applicazione fedele di tale sistema. L'autore/donatore
può decidere di sua volontà se preferisce distribuire il software avvalendosi di altri sistemi, e
l'acquirente non può imporre la scelta del sistema di distribuzione.
Questo punto serve a rendere il più chiaro possibile ciò che crediamo sia una conseguenza del
resto di questa Licenza.
8. Se in alcuni paesi la distribuzione e/o l'uso del Programma sono limitati da brevetto o dall'uso di
interfacce coperte da copyright, il detentore del copyright originale che pone il Programma sotto
questa Licenza può aggiungere limiti geografici espliciti alla distribuzione, per escludere questi
paesi dalla distribuzione stessa, in modo che il programma possa essere distribuito solo nei paesi
non esclusi da questa regola. In questo caso i limiti geografici sono inclusi in questa Licenza e ne
fanno parte a tutti gli effetti.
9. All'occorrenza la Free Software Foundation può pubblicare revisioni o nuove versioni di questa
Licenza Pubblica Generica. Tali nuove versioni saranno simili a questa nello spirito, ma potranno
differire nei dettagli al fine di coprire nuovi problemi e nuove situazioni.
Se si sviluppa un nuovo programma e lo si vuole rendere della maggiore utilità possibile per il pubblico,
la cosa migliore da fare è rendere tale programma free software, cosicché ciascuno possa ridistribuirlo e
modificarlo sotto questi termini.
Per fare questo, si inserisca nel programma la seguente nota. La cosa migliore da fare è mettere la nota
all'inizio di ogni file sorgente, per chiarire nel modo più efficiente possibile l'assenza di garanzia; ogni
file dovrebbe contenere almeno la nota di copyright e l'indicazione di dove trovare l'intera nota.
<una riga per dire in breve il nome del programma e cosa fa> Copyright (C) 19aa <nome dell'autore>
Questo programma è free software; è lecito redistribuirlo e/o modificarlo secondo i termini della Licenza
Pubblica Generica GNU come è pubblicata dalla Free Software Foundation; o la versione 2 della licenza
o (a propria scelta) una versione successiva.
Questo programma è distribuito nella speranza che sia utile, ma SENZA ALCUNA GARANZIA; senza
neppure la garanzia implicita di NEGOZIABILITÀ o di APPLICABILITÀ PER UN PARTICOLARE
SCOPO. Si veda la Licenza Pubblica Generica GNU per avere maggiori dettagli.
Ognuno dovrebbe avere ricevuto una copia della Licenza Pubblica Generica GNU insieme a questo
programma; in caso contrario, si scriva alla Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
MA 02139, Stati Uniti.
Si aggiungano anche informazioni su come si può essere contattati tramite posta elettronica e cartacea.
Se il programma è interattivo, si faccia in modo che stampi una breve nota simile a questa quando viene
usato interattivamente:
Orcaloca versione 69, Copyright (C) 19aa <nome dell'autore> Orcaloca non ha ALCUNA GARANZIA;
per i dettagli si digiti “show g”. Questo è free software, e ognuno è libero di ridistribuirlo sotto certe
condizioni; si digiti “show c” per dettagli.
Gli ipotetici comandi “show g” e “show c” mostreranno le parti appropriate della Licenza Pubblica
Generica. Chiaramente, i comandi usati possono essere chiamati diversamente da “show g” e “show c” e
possono anche essere selezionati con il mouse o attraverso un menu`; in qualunque modo pertinente al
programma.
Se necessario, si dovrebbe anche far firmare al proprio datore di lavoro (se si lavora come
programmatore) o alla propria scuola, se si e` studente, una “rinuncia al copyright” per il programma.
Ecco un esempio con nomi fittizi:
Yoyodinamica SPA rinuncia con questo documento ad ogni interesse al copyright del programma
“Orcaloca” (che svolge dei passi di compilazione) scritto da Giovanni Smanettone.
I programmi coperti da questa Licenza Pubblica Generica non possono essere incorporati all'interno di
programmi proprietari. Se il proprio programma è una libreria di funzioni, può essere più utile
permettere di collegare applicazioni proprietarie alla libreria. Se si ha questa intenzione consigliamo di
usare la Licenza Generica Pubblica GNU per Librerie (LGPL) al posto di questa Licenza.
1. Mac OS X Leopard
2. ECDL Il manuale con Atlas Syllabus 5.0
3. ECDL Mettiti alla prova... reloaded
4. Photoshop CS3 Guida completa
5. Introduzione all'analisi qualitativa delle equazioni differenziali ordinarie
6. Sviluppare applicazioni web con PHP e MySQL
7. iPhone
8. AutoCAD 2009
9. Algebra lineare
10. Sviluppare applicazioni web con Rails
Ultimi articoli
● Home
● Chi siamo
● Catalogo libri
● Contatti
● Feed
● Help
La referenza: Per una maggiore trasparenza sulle leggi italiane legate alla Rete Video
Registrazione/Accesso La Tua Spesa
● Linux-Unix
● Mac Os
● Windows
● Università
● Ebook
● OpenPress
● |
Cerca
● Linguaggi e Programmazione
● Telefonia e Wireless
● Sistemi operativi
● Editoria digitale
● Diritto e tecnologie
● Computer formazione e lavoro
● Web e Internet
● Free Software
● Mondo e Tecnologia
● Economia
● Discipline aziendali
● Matematica e Statistica
● Ingegneria
● Informatica
● Scienze umane
Metallica e la filosofia
di William Irwin
Una filosofia radicata nella contemporaneità e nella quotidianità, che riscopre le idee e i testi dei grandi
del passato attraverso la riflessione sui problemi e le parole di oggi.
● ECDL
● Pratiche Filosofiche
● Urra
Newsletter gratuita
Inserisci il tuo indirizzo e-mail:
Net TV
di Tommaso Tessarolo
NET TV: nel prossimo futuro assisteremo a una vera rivoluzione delle regole del fare e del fruire della
TV, con la possibilità per tutti di entrare in gioco.
Windows
.
Ultima uscita
http://www.apogeonline.com/categorie/Windows (3 of 11)31/08/2010 13.56.30
Windows | Apogeonline
Visual Basic 10
di Enrico Amedeo
Pagine: 216
Formato: 12 X 19,5
ISBN: 88-503-2942-3
Collana: Pocket
Un piccolo tascabile per scoprire il linguaggio Visual Basic ed entrare nel mondo della programmazione
Microsoft .NET. Scritto da un programmatore per programmatori, alle prime armi e non.
Windows 7
di Paolo Poli
Pagine: 72
Scheda informativa
Lavorare e divertirsi con Windows 7: 72 pagine ricche di immagini per scoprire in modo immediato
tutte le potenzialità del sistema operativo Microsoft.
Windows 7
di Riccardo Meggiato
Pagine: 360
Scheda informativa
Riccardo Meggiato racconta Windows 7 aiutando il lettore a esplorarne gli aspetti più curiosi, le
funzionalità più efficaci e gli strumenti più evoluti per il lavoro e il divertimento
Windows 7
http://www.apogeonline.com/categorie/Windows (5 of 11)31/08/2010 13.56.30
Windows | Apogeonline
di Marco Ferrero
Pagine: 264
Scheda informativa
Torna il tascabile di Apogeo sul grande sistema operativo di casa Microsoft: Windows 7. 264 pagine per
scoprire il modo "Seven" di usare il PC.
L'investigatore informatico 2
di Riccardo Meggiato
Pagine: 192
Scheda informativa
Un libro di informatica atipico: un racconto nel mondo delle investigazioni informatiche. Perché
l'informatica, anche quella più difficile, si può imparare con facilità e persino divertendosi.
L'investigatore informatico è qui per questo...
Pagine: 256
Scheda informativa
Una guida passo passo alle funzionalità avanzate di Excel, indispensabili per chi, in azienda o per studio,
si trova a costruire modelli complessi o ad analizzare grandi quantità di dati
Windows XP in sicurezza
di Mario Pascucci
Pagine: 200
Scheda informativa
Il rilascio di Vista non ha ancora mandato in pensione Windows XP. Consapevole di questo Mario
Pascucci, con l'aiuto di NoBug, ha deciso di offrire ai lettori di Apogeo un ebook, dove l'esperienza del
professionista è messa a disposizione dell'utente
Se una buona metà degli italiani non usa la Rete un motivo ci sarà. Non è che se li vogliamo a bordo
dobbiamo ripensare a un'internet meno intelligente e ricca?
La vignetta della settimana. Un autore al mese, quattro strip per raccontare la tecnologia. Il terzo
appuntamento con Simone Terenziani e il suo omino naif alle prese con la tecnologia
Davvero basta un javascript su una pagina web per scoprire la nostra storia di navigazione? E davvero
sono disponibili statistiche sul profilo demografico dei diversi siti? Quale affidabilità hanno questi
sistemi? Siamo andati in cerca di risposte
Quel che si dice in Rete. Microsoft lancia un esperimento a metà tra psicologia e marketing per
dimostrare che Vista, in fondo, non è così male. Ma le critiche, soprattutto riguardo all'etica, non tardano
ad arrivare
L'Asus Eee Pc ha aperto un segmento in cui ora produttori di computer e componenti fanno a gara nel
lanciare nuove soluzioni. Sono gli Ultra Mobile Pc, prodotti di nicchia su misura per chi necessita di
prestazioni essenziali e massima portabilità
L'addio di Bill
di Federico Fasce
Quel che si dice in Rete. Bill Gates lascia definitivamente il comando di Microsoft. E la Rete ne ricorda
successi e fallimenti, mentre Steve Ballmer si commuove. Ma il momento per Redmond non è
Quinta di copertina: come la Rete sta cambiando la nostra esperienza cognitiva (in peggio?) - quindi
Firefox Davide contro Explorer Golia, internet e politica e le start-up tecnologiche
Quinta di copertina: tutto gira intorno a Mountain View - Yahoo! resiste a Microsoft, fa arrabbiare gli
azionisti e fa accordi con Google sulla pubblicità, mentre Firefox prospera e Jobs naviga in solitaria
Si aprono i lucchetti
di Federico Fasce
Quel che si dice in Rete. L'apertura è la nuova strada. La Girl Geek Dinner a Milano. Bastano 1.000 fan.
Explore 8, è la volta buona per gli standard?
● Home
● Chi siamo
● Catalogo libri
● Contatti
● Feed
● Help
La referenza: Per una maggiore trasparenza sulle leggi italiane legate alla Rete Video
Registrazione/Accesso La Tua Spesa
● Linux-Unix
● Mac Os
● Windows
● Università
● Ebook
● OpenPress
● |
Cerca
● Linguaggi e Programmazione
● Telefonia e Wireless
● Sistemi operativi
● Editoria digitale
● Diritto e tecnologie
● Computer formazione e lavoro
● Web e Internet
● Free Software
● Mondo e Tecnologia
● Economia
● Discipline aziendali
● Matematica e Statistica
● Ingegneria
● Informatica
● Scienze umane
Metallica e la filosofia
di William Irwin
Una filosofia radicata nella contemporaneità e nella quotidianità, che riscopre le idee e i testi dei grandi
del passato attraverso la riflessione sui problemi e le parole di oggi.
● ECDL
● Pratiche Filosofiche
● Urra
Newsletter gratuita
Inserisci il tuo indirizzo e-mail:
Net TV
di Tommaso Tessarolo
NET TV: nel prossimo futuro assisteremo a una vera rivoluzione delle regole del fare e del fruire della
TV, con la possibilità per tutti di entrare in gioco.
Linux-Unix
.
Ultima uscita
http://www.apogeonline.com/categorie/Linux-Unix (3 of 9)31/08/2010 13.57.27
Linux-Unix | Apogeonline
Android
di Massimo Carli
Pagine: 576
Formato: 16,8 X 24
ISBN: 88-503-2921-0
La guida alla programmazione per Android, il sistema operativo open source per dispositivi mobili
basato su Linux e garantito da Google
Linux Ubuntu
Pagine: 416
Scheda informativa
Dall'esperienza di membri autorevoli del progetto Ubuntu, un manuaale dedicato a chi vuole scoprire e
imparare a usare questa distribuzione Linux che, per potenza e semplicità, non fa certo rimpiangere i
concorrenti Windows e Mac.
Linux Ubuntu
di B. Mako Hill, J. Bacon, C. Burger, J. Jesse, I. Krsti•
Pagine: 240
Scheda informativa
Seconda edizione del manuale tascabile dedicato a Ubuntu, la vera grande alternativa su base GNU/
Linux nel panorama dei sistemi operativi. Per conoscerne le potenzialità e cominciare a utilizzarlo.
Pagine: 432
Scheda informativa
Terza edizione, ampliata e aggiornata, del fortunato manuale di Silvio Zanzi dedicato a chi guarda con
interesse alle soluzioni professionali offerte dal mondo Linux. Tutto quello che serve e solo quello che
serve per rendere più competitiva un'azienza
Pagine: 416
Scheda informativa
Questo volume, il manuale ufficiale del progetto Ubuntu, è dedicato a chi vuole scoprire e imparare a
usare questa distribuzione Linux che, in virtù della sua potenza e semplicità, sta conquistando una base
di consensi sempre più ampia.
La vignetta della settimana. Un autore al mese, quattro strip per raccontare la tecnologia. Il terzo
appuntamento con Simone Terenziani e il suo omino naif alle prese con la tecnologia
La vignetta della settimana. Un autore al mese, quattro strip per raccontare la tecnologia. Il secondo
appuntamento con il bianco tecnologico e sorridente di Giulia Sagramola
L'Asus Eee Pc ha aperto un segmento in cui ora produttori di computer e componenti fanno a gara nel
lanciare nuove soluzioni. Sono gli Ultra Mobile Pc, prodotti di nicchia su misura per chi necessita di
prestazioni essenziali e massima portabilità
Dopo OpenMoko, si attende l'arrivo di Android (Google) e Ubuntu Mobile. Un segmento che potrebbe
puntare al 30% del mercato nel giro di qualche anno
Che Linux stesse guadagnando consensi era risaputo, ma che arrivasse a confrontarsi con Windows e
Mac sul loro stesso territorio è una novità a modo suo sorprendente
Internet è un elettrodomestico
di Antonio Sofi
Quinta di copertina: internet è ormai nelle case e nelle cose di tutti i giorni (ma attenzione: si può
rompere!) - quindi portabilità dei social network glocali, Linux e Yahoo!
Quello dei sistemi operativi aperti in dispositivi mobili di ultima generazione è un mercato in crescita.
L'esperienza di OpenMoko
Un pacchetto di applicazioni basato sul codice libero sfida i giganti delle suite per la collaborazione e la
messaggistica aziendale
Dalla comunità Linux, un sistema operativo creato per facilitare al massimo l’uso del Pc anche agli over
50
La città Linux, il paradiso dei cellulari: la Corea investe forte per diventare un leader mondiale nell'high
tech. E noi, che cosa faremo da grandi?
.
Pagina dei risultati: 1 234567