Avanti Indietro Indice

3. Configurare la rete

Bene, a questo punto Linux è già installato sul gateway. È possibile che una delle schede di rete sia già configurata, e che la connessione ad Internet sia già impostata. Comunque sia, ripercorriamo la configurazione dall'inizio, assumendo che non sia stato configurato niente.

Si effettui l'accesso come root. Tutte le istruzioni fornite in questo documento presumono che si sia riconosciuti dal sistema come root.

Il kernel di Linux si riferisce alle due schede ethernet come eth0 e eth1, per cui è in questo modo che da ora in poi ci si riferirà ad esse. Il problema è riconoscerle. Ecco una maniera "semplice" per capirlo, che sicuramente funziona almeno il 50% delle volte: si metta il computer su un tavolo con la scheda madre orizzonatale ed il pannello posteriore di fronte (come si farebbe se si volesse aprirlo per farci qualche lavoro). La scheda più a sinistra è l'eth0 -- si può etichettarla in qualche modo. Adesso, si annoti su un foglio il costruttore ed il modello sia dell'eth0 che dell'eth1.

Bene, vediamo se l'eth0 e l'eth1 sono state riconosciute automaticamente dal kernel. Si digiti ifconfig eth0 e ifconfig eth1. In entrambi i casi, se il kernel ha riconosciuto la scheda, si dovrebbe vedere qualcosa tipo questo (considerando che i numeri e chissà cos'altro potrebbero essere differenti):

eth0   Link encap: Ethernet   HWaddr 00:60:67:4A:02:0A   
       inet addr:0.0.0.0  Bcast:0.0.0.0  Mask:255.255.255.255 
       UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
       RX packets:466 errors:0 dropped:0 overruns:0 frame:0 
       TX packets:448 errors:0 dropped:0 overruns:0 carrier:0 
       collisions:85 txqueuelen:100  
       Interrupt:10 Base address:0xe400 
 

Se il kernel non riconosce la scheda di rete si vedrà qualcosa tipo questo:

eth0: error fetching interface information: Device not found.  

3.1 Configurare un driver di rete

Se entrambe le schede sono state riconosciute, si può saltare alla prossima sezione. Altrimenti, si legga questa sezione.

Quindi una o entrambe le schede non sono state riconosciute dal kernel. Questo non è un problema, davvero. Quello che stiamo per andare a fare è di dire al kernel più esplicitamente come trovare le schede. Ci sono un sacco di metodi e "trucchi", e non saranno trattati tutti. Si ricordi: quando le cose si fanno dure, i duri si rivolgono all' Ethernet HOWTO. Ecco dei consigli riassuntivi:

Ora, poiché si conoscono sia la marca che il modello dell'eth0 e dell'eth1 si può visitare la pagina di compatibilità dell' Ethernet HOWTO e cercare la scheda. Si prenda nota del driver consigliato e di qualsiasi informazione a proposito di opzioni particolari che potrebbe richiedere la scheda.

È il momento di modificare un file di configurazione! Il file che modificheremo è /etc/conf.modules. Si apra il file nell'editor di testo preferito. Poiché ci sono così tante possibilità e combinazioni di cose che si possono trovare in questo file, sarà presentata come esempio la configurazione del mio gateway. Esso ha una scheda PCI 10/100Mb basata sul chip VIA Rhine, ed un clone di una scheda ISA 10Mb NE2000. Si usa quella a 100Mb per la rete interna e la scheda a 10Mb per la connessione esterna. Il file /etc/conf.modules è il seguente:

alias parport_lowlevel parport_pc
alias eth0 ne
options ne io=0x300 irq=10
alias eth1 via-rhine

Il file conf.modules è configurato come segue:

Ci si assicuri di avere la voce alias nel file conf.modules per entrambe le proprie schede, e le righe corrette per le opzioni riguardanti tutte le schede ISA. Si potrebbero avere già delle righe in conf.modules per ogni scheda ethernet configurata durante l'installazione.

Quando il file conf.modules è stato modificato, si provi a digitare ifconfig eth0 e ifconfig eth1. Si dovrebbe ricevere qualche errore se sono modificati gli indirizzi di I/O e gli IRQ senza un manuale del fabbricante.

Due schede di rete identiche

Dunque, si è stati molto molto astuti, comprando due schede di rete identiche per il proprio gateway Linux, ed ora non si riesce a farle funzionare insieme? Non bisogna preoccuparsi, per farle coesistere è solo una questione di usare la sintassi corretta nel file /etc/conf.modules. Supponendo che gli indirizzi e i numeri di IRQ siano già stati recuperati e presumendo che le schede in questione siano cloni NE2000 (una scelta comune) identici, il file /etc/conf.modules dovrebbe somigliare a questo:

alias eth0 ne
alias eth1 ne
options ne io=0x330,0x360 irq=7,9

Le opzioni di indirizzamento sono state scritte sulla stessa riga, ed il primo numero per ogni tipo di indirizzamento è relativo all'eth0, mentre il secondo numero è per l'eth1.

3.2 Configurare la rete interna

La "rete interna" è la rete su cui parlano tutti i computer di casa o dell'ufficio. La "rete esterna" è la spaventosa Internet dall'altro lato della macchina Linux. Nel complesso, la rete interna sarà completamente isolata dalla rete esterna madiante la macchina Linux, la quale opererà come un firewall con livello di sicurezza intermedio.

Il dispositivo di rete

Dal momento che i driver sono funzionanti ed il sistema è in grado di vedere sia l'eth0 che l'eth1 con il comando ifconfig, è il momento di configurare la rete casalinga interna. Si suppone che la rete interna sia collegata all'eth1 e quella esterna all'eth0.

La rete interna sarà una rete privata e perciò avrà un indirizzo IP speciale riservato per il networking interno: 192.168.1.0. Questa è una "rete privata di classe C", nel caso si vogliano impressionare i propri amici.

Prima di tutto dobbiamo assicurarci che la rete sia attivata. Si modifichi il file /etc/sysconfig/network e ci si assicuri che esistano le seguenti righe:

NETWORKING=yes
FORWARD_IPV4=yes

La prima riga dice a Linux che vogliamo che i dispositivi di rete vengano attivati al momento dell'avvio del sistema. La seconda riga dice a Linux di abilitare l'IP forwarding. Questo sarà richiesto quando andremo a configurare il masquerading nella Sezione 4.

Nota di Redhat 6.2: Per supportare correttamente l'IP forwarding e il masquerading, Red Hat 6.2 richiede delle modifiche al file /etc/sysctl.conf. Assicurarsi che le seguenti righe esistano e che siano impostate con i valori corretti:

net.ipv4.ip_forward = 1
net.ipv4.ip_always_defrag = 1

In Red Hat e nelle distribuzioni da essa derivate tutte le impostazioni delle interfacce di rete sono contenute in dei file che si trovano nella directory /etc/sysconfig/network-scripts. In questa directory, si crei il file ifcfg-eth1 con al suo interno le seguenti righe:

DEVICE=eth1
IPADDR=192.168.1.1
ONBOOT=yes

Queste impostazioni dicono agli script di rete di configurare eth1 al momento del boot e di assegnargli un particolare indirizzo IP. Attivare la propria rete con le nuove impostazioni per mezzo del seguente comando: /etc/rc.d/init.d/network restart

Il server DHCP

Un server DHCP configurerà automaticamente i dispositivi della rete casalinga interna con indirizzi IP. Questo è molto utile se si hanno dei computer portatili: si potranno semplicemente collegarli alla rete e saranno immediatamente configurati nel modo corretto. Se non si desidera impostare un server DHCP sulla rete interna, si può saltare questa sezione.

Prima di tutto si deve essere sicuri di avere installato il server DHCP. Per far questo si monti il CD di Linux e si installi l'RPM relativo al dhcp. Quindi si modifichi il file /etc/dhcpd.conf con le seguenti righe (e solo queste):

subnet 192.168.1.0 netmask 255.255.255.0 {  
  range 192.168.1.2 192.168.1.60; 
  default-lease-time 86400; 
  max-lease-time 86400; 
  option routers 192.168.1.1; 
  option ip-forwarding off; 
  option broadcast-address 192.168.1.255; 
  option subnet-mask 255.255.255.0; 
} 
 

Se si ha intenzione di impostare la macchina Linux per funzionare da caching domain name server, si inserisca la seguente opzione:

option domain-name-servers 192.168.1.1;  
 

Se si conosce l'indirizzo del server DNS esterno e non si ha intenzione di usare la macchina Linux come server DNS, inserire la seguente opzione, dove x.x.x.x e y.y.y.y sono gli indirizzi IP dei server DNS esterni:

option domain-name-servers x.x.x.x, y.y.y.y;  
 

Se si utilizzerà Samba come servizio di file sharing sulla macchina Linux per i computer Windows, si aggiungano le seguenti opzioni per usare la macchina Linux come server WINS e browsing server di default:

option netbios-name-servers 192.168.1.1;   
option netbios-dd-server 192.168.1.1;  
option netbios-node-type 8;  
option netbios-scope ""; 
 

La configurazione di Samba e del WINS va al di là dello scopo di questo documento. Per informazioni a riguardo, si inizi col vedere il SMB HOWTO e si proceda da lì.

Ci sono ancora un po' di passi da fare. Quindi, si modifichi il file /etc/rc.d/init.d/dhcpd ricercando la seguente riga:

/sbin/route add -host 255.255.255.255 dev eth1  
 

I client DHCP su cui gira Windows hanno bisogno di un particolare indirizzo di broadcast nelle risposte DHCP, e questo comando forza lo stack TCP/IP di Linux a produrlo. Se la riga precedente non c'è, la si aggiunga. Se invece si trova una riga analoga a quella precedente, ci si assicuri che il dispositivo a cui essa si riferisce sia eth1.

Il prossimo passo consiste nel modificare il file /etc/rc.d/init.d/dhcpd per usare l'eth1 come il dispositivo di default. Sostituire la riga:

daemon /usr/sbin/dhcpd  
 

con:

daemon /usr/sbin/dhcpd eth1  
 

Adesso siamo pronti per avviare il server DHCP con il comando: /etc/rc.d/init.d/dhcpd start.

Quindi, dobbiamo accertarci che il server DHCP si avvii all'avvio del sistema. Alcuni pacchetti RPM del server DHCP non includono le direttive per garantire che il server parta ogni volta, così ci assicureremo che parta invocando il comando chkconfig dhcpd on.

Questo comando fa sì che RedHat aggiunga lo script di avvio del DHCP nelle directory dei vari runlevel sotto /etc/rc.d. Nei runlevel 3 e 5 (multiuser console e multiuser X) il server DHCP viene avviato. Nei runlevel 0, 1 e 6 (shutdown, single user e reboot) il server DHCP viene disattivato.

I computer client

Se si è impostato il DHCP, la configurazione dei computer client è molto semplice: si abiliti semplicemente la configurazione tramite DHCP. Per i computer Windows, questo vuol dire aprire il "Pannello di Controllo", quindi cliccare sull'opzione "Rete", cercare il protocollo "TCP/IP" e continuare con "Configura". Spuntare l'opzione che dice "Configura l'indirizzo TCP/IP automaticamente", applicare le modifiche e riavviare.

Prima di riavviare, si può digitare (sul gateway) il seguente comando: tail -f /var/log/messages. Questo visualizzerà il log di sistema di Linux continuamente. Se tutto è andato bene, quando il computer Windows verrà riavviato, si vedrà la sua richiesta di un indirizzo IP e la risposta da parte del server DHCP. Per interrompere il comando tail -f, premere Control-C.

Se non si è impostato il DHCP, la configurazione è comunque piuttosto semplice. Si apra l'opzione "Rete" dal "Pannello di Controllo", e si scelga di configurare il protocollo TCP/IP. Si può assegnare ai computer client qualsiasi indirizzo nella rete 192.168.1.0 eccetto 192.168.1.0 (l'indirizzo di rete), 192.168.1.255 (l'indirizzo di broadcast) o 192.168.1.1 (il server Linux). Si ricordi di non assegnare mai lo stesso indirizzo IP a due computer. Si imposti l'indirizzo del "Gateway" a 192.168.1.1, cosicché il traffico in uscita sia indirizzato attraverso il gateway Linux.

L' IP Masquerading HOWTO contiene informazioni molto dettagliate sulla configurazione dei client nella sezione relativa alla configurazione.

In generale, per configurare un computer client, si abilita la configurazione tramite DHCP, oppure si assegna manualmente un indirizzo della rete 192.168.1.X con il gateway 192.168.1.1. Si faccia in modo che anche il server DNS sia 192.168.1.1 se si è attivato un caching DNS server (v. più avanti) oppure si imposti il DNS con gli indirizzi forniti dal provider.

Il server DNS

Far funzionare la macchina Linux da caching DNS server migliorerà (leggermente) la velocità di navigazione, perché gli indirizzi DNS comunemente usati saranno salvati nella rete interna e non sarà necessario andarli a richiedere su Internet.

Se si è interessati a creare un DNS pienamente funzionante, c'è una grande quantità di cose (complesse) da imparare. È disponibile un DNS HOWTO, e il libro DNS and BIND è un buon riferimento cartaceo (ed anche molto completo).

Per fare in modo che le macchine client ottengano un vantaggio dal caching server, devono essere configurate per usare il gateway Linux come server DNS primario. Le direttive sul DHCP fornite nella sezione 3.2.2 sono un modo per farlo. Se i client sono configurati manualmente, si può cambiare la configurazione relativa al DNS negli stessi file usati per impostare l'indirizzo IP della macchina.

Per installare il server DNS, si installi l'RPM bind, quindi l'RPM caching-nameserver. A questo punto, è quasi tutto pronto.

Appena installato, il caching server funzionerà bene, ma se si conoscono gli indirizzi IP dei DNS del provider Internet si possono migliorare leggermente le prestazioni modificando il file /etc/named.conf e aggiungendo la riga seguente subito dopo quella contenente la direttiva directory (dove x.x.x.x e y.y.y.y sono gli indirizzi IP del server DNS primario e secondario):

forwarders { x.x.x.x; y.y.y.y; };   
 

Questa modifica fa in modo che il server DNS interno interroghi i server DNS del provider prima di attraversare Internet alla ricerca di un dato indirizzo. I server dei provider hanno spesso una cache di informazioni DNS molto ricca e possono offrire più velocemente una risposta rispetto a quanto possa fare il server DNS interno.

Il demone named ha avuto qualche problema di sicurezza negli ultimi 12 mesi, perciò è molto importante utilizzare l'ultima versione, e fare qualche cambiamento alle impostazioni di default per aumentare la sicurezza.

  1. Si controlli la versione di bind e ci si assicuri che sia almeno la 8.2.2. Controllare l'ultima versione sul sito Red Hat Updates oppure Mandrake Updates.
  2. Si restringa l'accesso al name server interno solo alla rete locale aggiungendo la riga allow-query { 192.168.1/24; 127.0.0.1/32; }; nel file /etc/named.conf subito dopo la direttiva forwarders.
  3. Si eviti di far girare il name server con i privilegi di root. Se il server girasse con tali privilegi, un exploit del server concederebbe all'intruso i privilegi di root. Facendo girare il server con i diritti di un utente con delle restrizioni, come nobody, si possono diminuire i rischi dovuti ad un eventuale exploit. Per far girare il name server come nobody, si modifichi il file /etc/rc.d/init.d/named cambiando la riga daemon named in daemon named -u nobody -g nobody.

Per assicurarsi che il server DNS parta al momento del boot, digitare: chkconfig named on. Di nuovo, questo assicura che il servizio venga attivato al boot per i runlevel usuali (3 e 5).

Bene, adesso si può avviare il server DNS: /etc/rc.d/init.d/named start

Verificare la rete interna

Finché non configuriamo la rete esterna, il servizio DNS non funzionerà (visto che deve comunicare con altri server DNS su Internet), ma possiamo provare la connettività interna di base con il programma ping.

Su uno dei computer client, si apra un terminale (MSDOS), e si digiti ping 192.168.1.1. Questo spedirà pacchetti verso la macchina Linux ad intervalli regolari, e la macchina Linux risponderà con altri i pacchetti. Se le cose stanno funzionando nel modo giusto, si dovrebbero vedere i tempi di ritorno dei pacchetti.

3.3 Configurare la rete esterna

Ora siamo pronti per configurare la rete esterna. Talvolta può essere difficoltoso, a seconda di quanto il provider supporta Linux. Se si hanno delle difficoltà, c'è un ADSL mini-HOWTO che descrive più dettagliatamente gli aspetti dell'ADSL. Se riesco a trovare un HOWTO sui modem, inserirò il link.

Il problema principale della maggior parte delle connessioni è quello di ottenere un indirizzo IP. Alcuni provider Internet assegnano indirizzi IP statici agli abbonati ADSL, e in questo caso la configurazione è semplice. Però, la maggior parte dei provider si sono spostati verso la configurazione dinamica mediante (indovinato) il DHCP. Questo vuol dire che il computer Linux fungerà da server DHCP sull'interfaccia eth1, e da client DHCP sull'interfaccia eth0.

Inoltre, molti provider hanno iniziato a fornire i loro servizi in modi specializzati e non standard presumendo che i loro clienti stiano usando Windows. Alcuni di questi casi saranno discussi alla fine della sezione 3.3.2.

Con un IP statico

Se il provider Internet fornisce un indirizzo IP statico, siamo in una botte di ferro. Prima di tutto, si crei un nuovo file di configurazione relativo ad un'interfaccia, /etc/sysconfig/network-scripts/ifcfg-eth0 contenente le seguenti righe:

DEVICE=eth0  
IPADDR=x.x.x.x 
NETMASK=y.y.y.y 
ONBOOT=yes 
 

Sostituire x.x.x.x e y.y.y.y con i valori forniti dal provider Internet. Adesso si modifichi il file /etc/resolv.conf e si inseriscano le seguenti informazioni:

search dominio_del_provider  
nameserver n.n.n.n 
nameserver m.m.m.m 
 

Il dominio_del_provider dovrebbe essere fornito dal provider Internet. Quindi si inserisca l'indirizzo IP del DNS primario e quello del DNS secondario al posto di n.n.n.n e m.m.m.m. Se la macchina Linux è stata impostata per funzionare da server DNS, si può aggiungere la riga nameserver 127.0.0.1 prima delle altre direttive nameserver. Ciò farà sì che venga usato il caching server prima di inoltrare richieste all'esterno per richiedere informazioni concernenti il DNS.

Con il DHCP

Se il provider Internet usa la configurazione dinamica mediante DHCP, si deve creare un nuovo file di configurazione per la relativa interfaccia, /etc/sysconfig/network-scripts/ifcfg-eth0 ed inserirvi le righe seguenti:

DEVICE=eth0   
BOOTPROTO=dhcp  
ONBOOT=yes 
 

Ci si assicuri che il demone dhcpcd client sia installato sul sistema: inserire il CD di Linux ed installa il pacchetto RPM dhcpcd.

È il momento di verificare la configurazione di rete del sistema. Si può usare semplicemente il comando /etc/rc.d/init.d/network restart. Quindi si verifichi la connessione esterna eseguendo ping verso un computer su Internet, tipo www.yahoo.com, e si controlli che qualcosa ritorni indietro.

Stranezze ed anomalie

La situazione reale può differire dalle semplicistiche situazioni qui descritte. Ecco qualche breve nota sulle varie difficoltà riscontrabili ed i link alle risorse più autorevoli per procedere alla loro risoluzione. Si ringrazia John Mellor per aver fornito i link e per avermi spinto ad aggiungere questa sezione.

PPP Over Ethernet (PPPoE)

Molti provider ADSL (Bell Atlantic, per esempio) stanno attualmente insistendo che il loro nuovi utenti debbano utilizzare, per connettersi al servizio, il protocollo "PPP over Ethernet" (PPPoE). A tal fine, forniscono un programma client per Windows: non molto utile per gli utenti Linux. Fortunatamente, PPPoE è un protocollo semplice e sono in corso molti sforzi per il supporto sotto Linux.

Semplici trucchi per il DHCP

Una delle abitudini preferite che hanno i provider è quella di legare il servizio ad un solo hostname, o comunque a una sola interfaccia di rete. Probabilmente questo è per prevenire che si possano collegare più computer alla stessa porta ethernet utilizzando un hub (naturalmente, usando Linux e il Masquerading si può ottenere lo stesso effetto con una maggiore sicurezza e la compagnia telefonica non ha modo di saperlo!).

Se il provider ci ha assegnato un hostname ed ha insistito affinché si impostasse la macchina Windows con questo nome, al fine di usare il loro servizio, allora bisogna assicursi che la macchina Linux invii questo hostname quando fa una richiesta al DHCP per ottenere un indirizzo IP.

Il client DHCP di Red Hat viene chiamato quando si imposta il BOOTPROTO con dhcp nel file di configurazione dell'interfaccia, ma viene chiamato senza riferimenti ad un hostname. Per chiamare il programma con un hostname, in Red Hat 6.1, si modifichi il file /etc/sysconfig/network, cambiando la riga:

HOSTNAME=

In modo che risulti come questa:

HOSTNAME=nome_assegnato_dal_provider

In alcune varianti di Red Hat potrebbe non funzionare. Se non funziona, controllare lo script /sbin/ifup e guardando se le chiamate a dhcpcd e pump includono il parametro -h $HOSTNAME. Se non lo fanno, lo si aggiunga, in modo che esse risultino analoghe a /sbin/dhcpcd -i $DEVICE -h $HOSTNAME e /sbin/pump -i $DEVICE -h $HOSTNAME.

Road Runner

Il servizio Road Runner ha un processo di login particolare che deve essere eseguito prima che il server possa essere utilizzato. Fortunatamente è disponibile un dettagliato http://usmcug.usm.maine.edu/~kpesce/rr}{Linux Road Runner HOWTO}.

Uno sguardo alle impostazioni di rete

Ora si ammiri il proprio lavoro. Si digiti ifconfig per vedere la configurazione di tutti i dispositivi di rete. Sul gateway dovrebbe risultare qualcosa di analogo a:

eth0  Link encap:Ethernet  HWaddr 00:60:67:4A:02:0A   
      inet addr:24.65.182.43  Bcast:24.65.182.255  Mask:255.255.255.0  
      UP BROADCAST RUNNING MULTICAST  MTU:1500 Metric:1  
      RX packets:487167 errors:0 dropped:0 overruns:0 frame:0  
      TX packets:467064 errors:0 dropped:0 overruns:0 carrier:0  
      collisions:89 txqueuelen:100  
      Interrupt:10 Base address:0xe400 
eth1  Link encap:Ethernet  HWaddr 00:80:C8:D3:30:2C  
      inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0  
      UP BROADCAST RUNNING MULTICAST  MTU:1500 Metric:1  
      RX packets:284112 errors:0 dropped:0 overruns:0 frame:1  
      TX packets:311533 errors:0 dropped:0 overruns:0 carrier:0  
      collisions:37938 txqueuelen:100  
      Interrupt:5 Base address:0xe800 
lo    Link encap:Local Loopback  
      inet addr:127.0.0.1  Mask:255.0.0.0  
      UP LOOPBACK RUNNING  MTU:3924  Metric:1  
      RX packets:12598 errors:0 dropped:0 overruns:0 frame:0  
      TX packets:12598 errors:0 dropped:0 overruns:0 carrier:0  
      collisions:0 txqueuelen:0 
 

Si noti che l'interfaccia eth0 ha un indirizzo IP esterno di fantasia, e l'eth1 ha un indirizzo interno privato.

Si dia un'occhiata alla tabella di routing digitando il comando route. Sul gateway dovrebbe risultare qualcosa di analogo a:

  Kernel IP routing table   
  Destination     Gateway      Genmask         Flags Metric Ref Use Iface  
  255.255.255.255 *            255.255.255.255 UH    0      0     0 eth1  
  192.168.1.0     *            255.255.255.0   U     0      0     0 eth1  
  24.65.182.0     *            255.255.255.0   U     0      0     0 eth0  
  127.0.0.0       *            255.0.0.0       U     0      0     0 lo  
  default         24.65.182.1  0.0.0.0         UG    0      0     0 eth0 
 

Quindi, abbiamo verificato che la rete esterna è configurata, la rete interna è configurata, il dispositivo locale è configurato, l'indirizzo speciale di broadcast 255.255.255.255 è configurato, e la route di default è configurata per puntare al gateway di default del provider. Perfetto!

Ora si hanno la rete interna e quella esterna. Tutto quello che rimane da fare consiste nell'aprire la porta fra le due. Quindi, per prima cosa dobbiamo assicurarci che nessun "mostro" possa entrare dall'esterno.

3.4 Sicurezza

Uno degli inconvenienti nello stare connessi a Internet in modo permanente tramite l'ADSL o via modem è che il computer è esposto a potenziali minacce alla sicurezza per 24 ore al giorno, 7 giorni alla settimana. Utilizzare Linux come gateway riduce i rischi, perché esso nasconde gli altri computer: per quanto riguarda Internet, solo la macchina Linux è disponibile per le connessioni. Questo vuol dire che la rete interna è sicura quanto la macchina Linux, così a questo punto saranno firniti dei consigli basilari per rendere la macchina Linux più sicura.

Per prima cosa, si devono chiudere fuori tutti i tipi cattivi. Per fare questo, si modifichi il file /etc/hosts.deny in modo che somigli a questo:

#   
# hosts.deny  This file describes the names of the hosts which are  
#             *not* allowed to use the local INET services, as decided  
#             by the '/usr/sbin/tcpd' server.  
#  
#            The portmap line is redundant, but it is left to remind you that  
#        the new secure portmap uses hosts.deny and hosts.allow. In particular  
#             you should know that NFS uses portmap!  
ALL: ALL  
 

Questo indica ai "TCP wrappers" -- che controllano il 95% delle connessioni in entrata -- di negare tutte le connessioni provenienti da qualsiasi computer. Questa è una regola piuttosto buona! Ma, ma ti impedirà anche di accedere alla macchina Linux dall'interno della rete casalinga, che è una seccatura, così faremo un'eccezione: si modifichi il file /etc/hosts.allow in modo che somigli a questo:

#   
# hosts.allow  This file describes the names of the hosts which are  
#              allowed to use the local INET services, as decided  
#              by the '/usr/sbin/tcpd' server.  
#  
ALL: 127.0.0.1  
ALL: 192.168.1. 
 

Questo indica ai "TCP wrappers" di permettere connessioni a tutti i servizi dal dispositivo di loopback (127.0.0.1) e dalla rete casalinga (192.168.1.).

Adesso sono stati chiusi fuori i mostri, con un potente lucchetto. Se si vogliono attivare barriere e sistemi di allarme, si dovrà essere un po' più sofisticati. Il Security HOWTO è un buon posto per iiziare se si desidera imparare qualcosa di più su come mettere in sicurezza la macchina Linux.


Avanti Indietro Indice