di Eric SEIGNE Notizie sull'autore: Eric lavora per il mondo del software libero. Il suo lavoro di ogni giorno è costituito dalla programmazione di applicazioni dedicate all'accesso a basi di dati da web, con strumenti come PostGreSQL, MySQL e PHP3. Contenuto: |
Sommario:
Questo articolo spiega come configurare con facilità il DHCP per una rete.
Il fine di questo articolo è di ottenere:
Il nostro primo passo è creare un file di configurazione vuoto che sia in grado
di accettare tutti i client sulla rete.
Sto usando qui la configurazione di rete dello Slash Party #2, per il quale ho provato
a configurare propriamente un server Linux.
<file dhcpd.conf> default-lease-time 86400; max-lease-time 604800; get-lease-hostnames true; option subnet-mask 255.255.255.0; option domain-name "slach2-100.party"; option domain-name-servers 192.168.12.1; option interface-mtu 1500; subnet 192.168.12.0 netmask 255.255.255.0 # default gateway option routers 192.168.12.1; option broadcast-address 192.168.12.255; range 192.168.12.50 192.168.12.200; </file> |
Dopo che il server DHCP è stato attivato (usando "dhcp start" o un comado analogo,
in accordo alla vostra distribuzione di Linux), potete far partire le postazioni client sulla rete.
Queste dovrebbero essere state configurate in modo da ottenere automaticamente un indirizzo IP.
Non appena un client richiede un indirizzo al server DHCP, viene aggiunto un blocco simile
al seguente nel file dhcpd.leases:
<bloc attributed to a dhcp client> lease 192.168.12.58 starts 2 1999/08/24 06:28:48; ends 3 1999/08/25 06:28:48; hardware ethernet 00:10:5a:2e:56:a7; uid 01:00:10:5a:2e:56:a7; client-hostname "KLUSTER"; </bloc> |
Quindi, non appena tutti i client hanno ottenuto un indirizzo IP dal server, il file dhcpd.leases avrà un aspetto simile a questo:
<file dhcpd.leases> lease 192.168.12.58 starts 2 1999/08/24 06:28:48; ends 3 1999/08/25 06:28:48; hardware ethernet 00:10:5a:2e:56:a7; uid 01:00:10:5a:2e:56:a7; client-hostname "KLUSTER"; lease 192.168.12.53 starts 2 1999/08/24 05:42:22; ends 3 1999/08/25 05:42:22; hardware ethernet 00:80:ad:97:e1:76; uid 01:00:80:ad:97:e1:76; client-hostname "ceddz"; lease 192.168.12.54 starts 2 1999/08/24 03:07:26; ends 3 1999/08/25 03:07:26; hardware ethernet 00:80:ad:97:e1:7d; uid 01:00:80:ad:97:e1:7d; client-hostname "SDS"; lease 192.168.12.67 starts 2 1999/08/24 02:52:19; ends 3 1999/08/25 02:52:19; hardware ethernet 00:50:04:45:e1:65; uid 01:00:50:04:45:e1:65; client-hostname "HOMER"; lease 192.168.12.64 starts 2 1999/08/24 01:26:05; ends 3 1999/08/25 01:26:05; hardware ethernet 00:80:ad:97:e2:1c; uid 01:00:80:ad:97:e2:1c; client-hostname "chAwArmA"; lease 192.168.12.59 starts 2 1999/08/24 01:14:06; ends 3 1999/08/25 01:14:06; hardware ethernet 00:00:21:2c:30:e7; uid 01:00:00:21:2c:30:e7; client-hostname "WOOKIE"; </file> |
A questo punto è necessario convertire il nostro DHCP "aperto" in uno statico e più sicuro. Questo viene fatto usando il dhcp.lease che abbiamo appena creato, convertendolo in quello che io chiamo un dhcp statico.
Quali sono le differenze tra un DHCP statico e uno aperto? Per quanto mi riguarda, un DHCP aperto permette ad ogni computer connesso alla rete di ottenere un indirizzo IP e dei parametri di rete usabili. Questo rappresenta un grosso buco di sicurezza, in quanto qualsiasi pirata non autorizzato potrebbe connettersi fisicamente alla rete e ottenere parametri di rete validi :( Per ostacolare un attaco simile, io uso il DHCP statico. Ogni indirizzo IP viene dato solo ai client con il Mac corrispondente a quello della scheda Ethernet associata. Pertanto è facile individuare un'intrusione.
<file dhcpd.conf> default-lease-time 86400; max-lease-time 604800; get-lease-hostnames true; option subnet-mask 255.255.255.0; option domain-name "slach2-100.party"; option domain-name-servers 192.168.12.1; option lpr-servers 192.168.12.1; option interface-mtu 1500; subnet 192.168.12.0 netmask 255.255.255.0 # default gateway option routers 192.168.12.1; option broadcast-address 192.168.12.255; # Those not in the dhcp # will get ip between .10 et .50 range 192.168.12.10 192.168.12.50; host hardware ethernet 00:10:5a:2e:56:a7; fixed-address "kluster.slach2-100.party"; host hardware ethernet 00:80:ad:97:e1:76; fixed-address "ceddz.slach2-100.party"; host hardware ethernet 00:80:ad:97:e1:7d; fixed-address "sds.slach2-100.party"; host hardware ethernet 00:40:95:49:0b:a5; fixed-address "saigneur.slach2-100.party"; host hardware ethernet 00:50:04:45:e1:65; fixed-address "homer.slach2-100.party"; </file> |
ATTENZIONE: Se non avete un server DNS attivo, il file dhcp.conf deve usare indirizzi IP numerici e non nomi di macchine.
<extracted from dhcpd.conf whithout dns> host hardware ethernet 00:40:95:49:0b:a5; fixed-address "192.168.12.57"; host hardware ethernet 00:50:04:45:e1:65; fixed-address "192.168.12.67"; </extract> |
Ho scritto un piccolo script Perl che converte il file dhcpd.leases in un file di configurazione per dhcp statico.
Perché fermarci a questo punto quando allo stesso tempo potremmo configurare il server DNS?
Lo stesso script Perl, con l'opzione -dns, creerà i file named.$domaine.ajouter e named.$domaine.rev.ajouter che dovreste controllare prima di aggiungerli ai file di risoluzione e di risoluzione inversa del vostro DNS.
E' inoltre necessario aggiungere al file named.conf i parametri del vostro dominio. Per esempio:
<add to file named.conf> zone "slach2-100.party" type master; file "named.slach2-100"; ; zone "12.168.192.in-addr.arpa" type master; file "named.slach2-100.rev"; ; </add> |
Congratulazioni, adesso avete una configurazione funzionante del dhcp e del dns.
Allo stesso prezzo (ancora più bello quando è gratis :), la configurazione delle "Risorse di Rete" per le macchine windows. Ecco qui la storia con un piccolo disegno e le spiegazioni:
Allo Slach 2 (un demo party), installai due reti, una a 10 Mbit e l'altra a 100 Mbit (a quel tempo per utenti privilegiati...). Il problema principale era: entrambi i network non riuscivano a "vedersi" tramite le "Risorse di Rete" di windows.
La soluzione è WINS. WINS consente di dichiarare, sulla rete, un server che tiene una lista di collegamenti tra IP e "nomi di domini diversi". E' una sorta di controllore per le reti R1 e R2.
E' quindi necessario configurare un server WINS e i client in maniera che lo usino, e creare un gateway IP tra queste due reti.
WINS è ben supportato da Samba :)
Schema:
------------------- I I I Network R1 I I I I 192.168.0.0 I I 255.255.255.0 I -------+----------- | -----|----- eth0: 192.168.0.1 Linux Server eth1: 192.168.100.1 -----|----- | -------+----------- I I I Network R2 I I I I 192.168.100.0 I I 255.255.255.0 I ------------------- |
dhcpd.conf va modificato per auto-configurare i client in modo da usare il nostro server wins :). Senza dhcp, sarebbe stato necessario configurare singolarmente tutti i client per attivare il loro accesso al server wins!
ATTENZIONE: NON DIMENTICATE DI AGGIUNGERE LE LINEE SEGUENTI AL VOSTRO DHCPD.CONF PER FAR USARE IL WINS SERVER AI CLIENT
<file dhcpd.conf> [...] option routers 192.168.0.1; option netbios-name-servers 192.168.0.1; option netbios-dd-server 192.168.0.1; option netbios-node-type 8; [...] </file> |
Per avere un WINS server funzionante, ho un server Samba attivo, configurato come segue:
<file smb.conf> ; validated with samba 2.0.5 [global] workgroup = rycks.com server string = Linux Box comment = Linux Box netbios name = pantoufle volume = pantoufle guest only = yes guest account = nobody log file = /var/log/samba-log.%m max log size = 50 share modes = yes security = share socket options = TCP_NODELAY os level = 33 ; Configured as network master domain master = yes local master = yes preferred master = yes ; Activate wins support wins support = yes wins proxy = yes ; FTP sharing [ftp] path = /home/ftp/pub public = yes printable = no guest ok = yes </file> |
Se sono state fatte delle modifiche, è necessario riavviare i server dhc, samba e
dns. Riavviate anche i client dhcp così che acquisiscano la nuova configurazione.
Controllate i gruppi nelle "altre" reti nelle "Risorse di rete".
Dato il solito tempo necessario a windows per vedere le nuove macchine nelle "risorse
di rete", suggerisco di ricercare un computer per nome. Provate a cercare un computer
sulla rete su cui siete, e poi uno sull'altra rete.
Se potete "vedere" le macchine da fuori ma non potete accedervi, vi occorre
configurare il gateway in modo che agisca da vero gateway tra le due reti.
Per maggiori informazioni su queto argomento date un'occhiata a ipchains.
Di solito è necessario usare qualcosa di simile a:
#Reset chains ipchains -F #Activate masquerading #to check according to default etc. ipchains -A forward -i eth0 -j MASQ |
Attenzione che, se il server dhcp è usato in due aree allo stesso tempo, ci sarà solo un file dns in uscita dal programma... Sarà quindi necessario riordinare il file a mano.
Spero che questo documento vi sia utile. Contattatemi pure per commenti o domande.
Per un approfondimento delle varie parti, consultare:
Gli aggiornamenti sono frequenti, controllate l'indirizzo seguente per l'ultima versione in francese sul sito: http://www.rycks.com/erics/linux/
|
Pagine web mantenute dal Team degli Editori di LinuxFocus
© Eric SEIGNE LinuxFocus.org 2000 Clicca qui per segnalare un errore o per inviare un commento a Linuxfocus |
Informazioni sulla traduzione:
|
2000-05-10, generated by lfparser version 1.5