Old:Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Configurazioni Preliminari: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 3: Riga 3:
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Configurazioni Preliminari|Configurazione DHCP e DNS]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Configurazioni Preliminari|Configurazione DHCP e DNS]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server LDAP Server|Installazione e Configurazione LDAP Server]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server LDAP Server|Installazione e Configurazione LDAP Server]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Autenticazione LDAP|Installazione e Configurazione Autenticazione LDAP]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server TLS e SSL|Configurazione cittografia TLS]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server TLS e SSL|Configurazione cittografia TLS]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Samba PDC|Installazione e Configurazione Samba PDC]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Samba PDC|Installazione e Configurazione Samba PDC]]
Riga 9: Riga 10:
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Aggiungere gli utenti di dominio|Aggiungere gli utenti di dominio]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Aggiungere gli utenti di dominio|Aggiungere gli utenti di dominio]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Testare la rete|Testare la rete]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Testare la rete|Testare la rete]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Implementazioni|Implementazioni]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Interfaccia grafica phpldapadmin|Installazione e configurazione PHPLDAPADMIN]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Interfaccia grafica phpldapadmin|Installazione e configurazione PHPLDAPADMIN]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Configurare Client linux|Configurazione Client Linux]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Comandi Utili|Comandi Utili e altro]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Comandi Utili|Comandi Utili e altro]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Approfondimenti|Approfondimenti]]
#[[Samba e OpenLDAP: creare un controller di dominio con Ubuntu Server Approfondimenti|Approfondimenti]]

Versione delle 03:04, 22 nov 2010

Template:Sommario

Configurazioni preliminari

Al fine di non incappare in errori e al fine di velocizzare la ricerca dei nomi e ip è necessario installare e configurare bind9. Per poter assegnare gli indirizzi IP ai client di una rete è necessario configurare il DHCP server. Ricordo che si deve impostare l'interfaccia eth1 con ip statico 192.168.2.1 altrimenti il dhcp server non funzionerà. Per chi ha Ubuntu si deve prima disinstallare apparmor, questo servizio è una vera scocciatura ed inutile per un server:

#apt-get purge apparmor 

Installazione del demone name service caching daemon (nscd)

Poichè il nostro server LDAP sarà consultato in maniera continuativa, potrebbe essere una buona idea installare un servizio di cache per alcuni dati degli utenti. In questo modo i dati contenuti in cache saranno forniti senza eseguire un accesso al database LDAP, velocizzando di conseguenza i tempi di risposta del server. Il demone nscd (name service caching daemon) esegue esattamente questa cosa:

# apt-get install nscd

La configurazione di default è più che sufficiente per i nostri scopi.
Questo potrebbe inoltre essere un buon momento per riavviare il demone di Samba:

# /etc/init.d/samba restart

Configurazione DHCP

Un server DHCP può fornire anche altre proprietà di configurazione come:

  • Nome dell'host
  • Nome del dominio
  • Gateway predefinito
  • Server NTP (Network Time Protocol)
  • Server di stampa

Il vantaggio di utilizzare DHCP è che i cambiamenti apportati alla rete, per esempio una modifica dell'indirizzo del server DNS, devono essere apportati solamente al server DHCP, mentre tutti gli host della rete vengono riconfigurati quando i client DHCP interrogano il server DHCP. Come ulteriore vantaggio, risulta anche molto semplice integrare nuovi computer nella rete, senza la necessità di controllare la disponibilità di un indirizzo IP. I conflitti nell'allocazione degli indirizzi IP sono quindi notevolmente ridotti.

Installare il DHCP server:

#apt-get install dhcp3-server 

Per abbreviare non spiegherò i parametri configurati, ma andrò direttamente alla configurazione di esempio. La configurazione contempla un DHCP server dinamico.

#vim /etc/dhcp3/dhcpd.conf

editare come esempio:

include "/etc/dhcp3/rndc.key";

server-identifier	sole;
ddns-updates		on;
ddns-update-style	interim;
ddns-domainname		"dominio.local";
ddns-rev-domainname	"in-addr.arpa";
ignore			client-updates;

option domain-name "dominio.local";
option domain-name-servers 192.168.2.1;
option netbios-name-servers 192.168.2.1;
option netbios-node-type 8;
option ntp-servers  192.168.2.1;      
option ip-forwarding off;


default-lease-time	2592000;
max-lease-time		3092000;
authoritative;


subnet 192.168.2.0 netmask 255.255.255.0 {
	range 192.168.2.10 192.168.2.255;
	option routers 192.168.2.1;
	option broadcast-address 192.168.2.255;
	allow unknown-clients;
        allow known-clients;
	
	zone 2.168.192.in-addr.arpa. {
	primary 192.168.2.1;
	key "rndc-key";
	}

	zone dominio.local. {
	primary 192.168.2.1;
	key "rndc-key";
	}
}

Riavviamo: /etc/init.d/dhcp3-server restart

La configurazione sopra descritta è un server dhcp dinamico, il quale aggiorna il DNS automaticamente. Come potete notare è stato aggiunta una stringa di path /etc/dhcp3/rndc.key, questa è la chiave creata in sede di configurazione bind ed è stata copiata nella cartella del dhcp. Non descrivo altro sul dhcp e rimando a guide più dettagliate come questa: [1]

Configurazione DNS

Il DNS (Domain Name Service) è un servizio Internet che mappa gli indirizzi IP e i nomi di dominio univoci (FQDN) tra di loro facendo in modo di non dover ricordare gli indirizzi IP. I computer che eseguono DNS sono chiamati server dei nomi. Ubuntu è dotato di BIND (Berkley Internet Naming Daemon), il più diffuso programma usato per mantenere un server dei nomi su Linux. Ci sono diversi metodi per configurare BIND9. Alcune delle configurazioni più comuni consistono in un server dei nomi cache, un server primario e un server secondario.

  • Quando configurato come un server dei nomi cache, BIND9 troverà la risposta alle interrogazioni sui nomi e

la archivierà.

  • Come server primario, BIND9 legge i dati per una zona da un file ed è autoritativo per quella zona.
  • Nella configurazione come server secondario, BIN9 ottiene i dati della zona da un altro server dei nomi

per quella zona.

Installazione:

# apt-get install bind9 dnsutils

La configurazione che descriverò è basata su di un server primario che è autoritativo per quella zona. Descriverò solo la zona che ci servirà per risolvere i nomi dei client perciò non descriverò la zona localhost (che dovrebbe essere configurata di default).

Bind9 divide i files named.conf in tre configurazioni, rispettivamente named.conf.local, named.conf.options, named.conf.default-zones.

Descriverò tutti e tre precisando però che tutte le configurazioni devono essere richiamate da named.conf.

/etc/bind/named.conf.options

options {
	directory "/var/cache/bind";
        allow-transfer {
               127.0.0.1;
               192.168.2.0/24;
        };
        allow-query {
               127.0.0.1;
               192.168.2.0/24;
        };
	forwarders {
		83.103.25.250;
		62.101.93.101;
	};
        auth-nxdomain no;    # conform to RFC1035
	listen-on { any; };
	listen-on-v6 { any; };
};

/etc/bind/named.conf.local

logging {
    channel query.log {      
        file "/var/log/query.log"; 
        severity debug 3; 
    }; 
    category queries { query.log; }; 
};

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

include "/etc/bind/rndc.key";

zone "dominio.local" {
  type master;
  file "/etc/bind/db.dominio.local";
  allow-transfer { 127.0.0.1; 192.168.2.0/24; };
  allow-update { key "rndc-key"; };
  notify yes;
};

zone "2.168.192.in-addr.arpa" {
  type master;
  file "/etc/bind/db.192.168.2";
  allow-transfer { 127.0.0.1; 192.168.2.0/24; }; 
  allow-update { key "rndc-key"; };
  notify yes; 
};

Ora ci resta da configurare le zone: /etc/bind/db.dominio.local

$ORIGIN .
$TTL 604800
dominio.local	 SOA	server.dominio.local. root.localhost. (
				2010092446 ; serial
				604800     ; refresh (1 week)
				86400      ; retry (1 day)
				2419200    ; expire (4 weeks)
				604800 )    ; minimum (1 week)
;
@		 NS	server.dominio.local.
$ORIGIN dominio.local.
_samba_pdc_domain	 TXT	"DOMINIO"
_samba_pdc_ip_address	 TXT	"192.168.2.1"
_ldap_dc                TXT  "dc=dominio,dc=local"
_ldap_tcp		 SRV	0 0 389 server.dominio.local.
server			 A	192.168.2.1
pc1			 A	192.168.2.179
pc2			 A	192.168.2.73
pc3			 A	192.168.2.95
pc4   		         A	192.168.2.173

Notate che il serial ha il seguente formato (aaaammggss): deve essere cambiato ogni volta che si fanno cambiamenti alla configurazione. (ss=seriale, che avanza di uno ogni volta che si cambia la configurazione, tuttavia prima di cambiarlo si deve prima cambiare la data e se nello stesso giorno non si fanno altri cambiamenti allora rimane inalterato). pc1,pc2,... sono i clients presenti sulla rete e per ogni di esso si deve aggiungere l'IP corrispondente assegnato dal dhcp, che dovrebbe però aggiornarlo automaticamnte essendo dinamico.

Ora vediamo il reverse zone: /etc/bind/db.192.168.2

$ORIGIN .
$TTL 604800
2.168.192.in-addr.arpa	 SOA	server.dominio.local. root.localhost. (
				2010092446 ; serial
				604800     ; refresh (1 week)
				86400      ; retry (1 day)
				2419200    ; expire (4 weeks)
				604800 )    ; minimum (1 week)
;
@			NS	server.dominio.local.
$ORIGIN 2.168.192.in-addr.arpa.
1			PTR	server.dominio.local.
179			PTR	pc1.dominio.local.
73			PTR	pc2.dominio.local.
95			PTR	pc3.dominio.local.
173			PTR	pc4.dominio.local.

Ora configuriamo la chiave: /etc/bind/rndc.key

key "rndc-key" {
	algorithm hmac-md5;
	secret "b/E3LQuAiHs926ucqAP7Mg==";
};

"rndc-key" è il nome della chiave che ritroviamo anche nelle varie zone del file named.conf e nel dhcpd.conf. la chiave è creata con un determinato algoritmo che in questo caso è l'hash md5. Il comando per creare la chiave è:

# dnssec-keygen -a HMAC-MD5 -b 128 -n USER rndc-key

Copiare la chiave generata nel file /etc/bind/rndc.key, se il file non c'è bisogna crearlo. Un esempio di chiave generata è:

rndc-key. IN KEY 0 3 157 '''pfZ3xnS348/f5YRznSxWAg=='''

Quello che inizia per pfZ........ è la chiave.

Impostare i permessi:

chown -R root:bind /etc/bind
chmod -R 664 /etc/bind
chown root:bind /etc/bind/*
chmod 664 /etc/bind/* 

Configuriamo il resolv.conf: /etc/resolv.conf

nameserver 127.0.0.1
nameserver 192.168.2.1
domain dominio.local
search dominio.local

Impostare il blocco scrittura automatica del resolv.conf, altrimenti verrà riscritto:

# chattr +i /etc/resolv.conf

Per sbloccare la scrittura (nel caso voleste editarlo):

# chattr -i /etc/resolv.conf

Riavviamo il tutto: /etc/init.d/bind9 restart

testare il funzionamento:

# nslookup
# < server
Dovrebbe restituirvi l'indirizzo ip e la zona.
#< pc1
Dovrebbe restituirvi indirizzo ip e zone
# < exit
Uscita