Vous êtes sur la page 1sur 7

Configurar Directorio Activo (Active Directory) en GNU/Linux CentOS 6.

3
con Samba 4.0.1
ConsultoriaAdd comments

Existi un tiempo en el que poner un servidor de dominio en Windows era algo muy sencillo, emular un Windows NT4
era la cosa ms simple del mundo y firmar computadoras con Windows 95 , Windows 98 y Windows ME era simple
rpido y fcil. Si no queras pagar las licencias impuestas siempre podas instalar un GNU/Linux con Samba y evitar
usar tecnologas de SERVER Microsoft.
Ocurri que por el 2000 Microsoft cambio las reglas del juego, con el Windows XP y Windows 2000 Server se hizo una
integracin llamada Directorio Activo, donde ya no solo era un servidor controlador de dominio, sino un sistema
formado por el PDC, Listas en directorios (Protocolo Ligero de Acceso a Directorios) Aka LDAP y para rematar un DNS
Server. Son ms cosas pero esas 3 bsicas forman en si el Directorio Activo y en los primeros das era horrible
homologar un GNU/Linux a un Servidor Windows 2000, 2003 y 2008 para entrar al mundo del Active Directory. No
porque no se pueda, si no por que intentarlo es abrumador llevar a cabo todas las configuraciones necesarias.
Afortunadamente la versin 4.0.0 de Samba hace que esto sea un poco mas sencillo y ahora si me da un artculo para
dar los pasos necesarios para convertir tu equipo GNU/Linux en un servidor de dominio con rol de PDC/AD aka
(Controlador Primario de Dominio con Directorio Activo)
Los siguientes pasos los hice con un CentOS 6.3 a 64 bits y SAMBA 4.0.1 descargado de su sitio oficial en cdigo
fuente para su compilacin en el equipo.
1.0 Instalar GNU/Linux 6.3 a 64bits
2.0 Preparar el sistema.
2.1 Deshabilitar SELinux, desactivar los firewall y quitar toda regla iptables filter
2.2 Instalar los paquetes y herramientas necesarias con yum, con darle copiar y pegar a la siguiente lnea bastara.
yum -y install gcc make wget python-devel gnutls-devel openssl-devel libacl-devel krb5-server krb5-libs krb5workstation bind bind-libs bind-utils
2.3 Descargar Samba 4.0.X o superior, al momento de redactor este articulo estaba la versin 4.0.1 y la obtuve del
siguiente URL
http://www.samba.org/samba/ftp/stable/samba-4.0.1.tar.gz
2.3.1 Preparar el Makefile para compilarlo usando configure y la bandera enable-selftest.
./configure enable-selftest
Nota que no doy prefix, dejo que se instale en su ruta por default.
2.4 Crear el smb.conf usando el comando samba-tool, se encuentra /usr/local/samba/bin/ que es el lugar donde estarn
los binarios de SAMBA despus de la compilacin e instalacin. En este articulo usare lastdragon como dominio de red
y lastdragon.net dominio de directorio activo.
La lnea a usar es:
/usr/local/samba/bin/samba-tool domain provision realm=lastdragon.net domain=lastdragon adminpass
C@ntrasea1# server-role=dc dns-backend=BIND9_DLZ

Nota que el parmetro de adminpass es seguido por la contrasea de administrador entre apostrofes, esta contrasea
se le asignara al usuario Administrator, usuario que usaras para unir las maquinas con Windows al dominio, la
contrasea debe tener obligatoriamente una mayscula, un numero, un smbolo y al menos 6 caracteres de largo. El
nombre de dominio debe ser diferente al HOSTNAME (Nombre) de tu maquina GNU/Linux. Cuando este comando
termine de ejecutarse creara el archivo smb.conf en la ruta /usr/local/samba/etc/.
El smb.conf se crea solo y se auto configura, salvo quieras editarlo para compartir alguna carpeta en red. Si no vas a
compartir nada puedes dejarlo como te lo entrega el samba-tool y ser funcional para el propsito de Active Directory
El contenido del archivo ser muy similar a:
[global]
workgroup = lastdragon
realm = lastdragon.net
netbios name = HOSTNAME
server role = active directory domain controller
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbind, ntp_signd, kcc, dnsupdate
[netlogon]
path = /usr/local/samba/var/locks/sysvol/adevya.com/scripts
read only = No
[sysvol]
path = /usr/local/samba/var/locks/sysvol
read only = No
3.0 Configurando el servicio de DNS Server
3.1 generar la llave
rndc-confgen -a -r /dev/urandom
3.2 editar named.conf en /etc,
El contenido de /etc/named.conf debe ser:
options {
listen-on port 53 { any; };
forwarders {192.168.1.1; };
allow-query { any; };
tkey-gssapi-keytab /usr/local/samba/private/dns.keytab;
};
include /usr/local/samba/private/named.conf;
nota la ip en forwarders escribo la ip de mi GNU/Linux en este caso es 192.168.1.1
3.2.1 Edita el archivo named.conf en /usr/local/samba/private/
El contenido del archivo /usr/local/samba/private/named.conf debe ser:
# This DNS configuration is for BIND 9.8.0 or later with dlz_dlopen support.
#
# This file should be included in your main BIND configuration file
#

# For example with


# include /usr/local/samba/private/named.conf;
#
# This configures dynamically loadable zones (DLZ) from AD schema
# Uncomment only single database line, depending on your BIND version
#
dlz AD DNS Zone {
# For BIND 9.8.0
database dlopen /usr/local/samba/lib/bind9/dlz_bind9.so;
# For BIND 9.9.0
# database dlopen /usr/local/samba/lib/bind9/dlz_bind9_9.so;
};
3.3 edita resolv.con en /etc
El contenido de /etc/resolv.conf debe ser:
nameserver 127.0.0.1
domain lastdragon.net
Nota la lnea de domain, ah va el dominio de directorio activo que usaras en tu red, yo uso lastdragon.net como lo
especifique en el paso 2.4
4.0 Configurando Kerberos
4.1 Editando el archivo krb5.conf en /etc
El contenido del archivo /etc/krb5.conf debe ser:
/etc/krb5.conf
[libdefaults]
default_realm = LASTDRAGON.NET
dns_lookup_realm = false
dns_lookup_kdc = true
Nota la lnea de default_realm es LASTDRAGON.NET como lo especifique en el paso 2.4 y le hice de nuevo mencin
en el paso 3.3
5.0 Instalar NTP
Si abres tu archivo smb.conf que se genero con samba-tool en la lnea de servicios encontraras una referencia de
ntp_signd, esta caracterstica no la tiene el ntp que incluye la instalacin de CentOS por lo que como en samba; habr
que descargar ntp y compilarlo asegurndonos que tenga signd
Yo descargue la versin ntp-4.2.6p5 con el siguiente URL
http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.6p5.tar.gz
5.1 Compilando ntp
al igual que con SAMBA para preparar el Makefile usamos ./configure pero con la bandera que nos interesa, la de signd
usando la lnea.
./configure enable-ntp-signd

Nota que no uso prefix, permito que se instale en sus directorios por default.
5.2 Configurando NTP el archivo ntp.conf en /etc
El contenido de /etc/ntp.conf debe ser
server 127.127.1.0
fudge 127.127.1.0 stratum 10
server 0.pool.ntp.org iburst prefer
server 1.pool.ntp.org iburst prefer
driftfile /var/lib/ntp/ntp.drift
logfile /var/log/ntp
ntpsigndsocket /usr/local/samba/var/lib/ntp_signd/
restrict default kod nomodify notrap nopeer mssntp
restrict 127.0.0.1
restrict 0.pool.ntp.org mask 255.255.255.255 nomodify notrap nopeer noquery
restrict 1.pool.ntp.org mask 255.255.255.255 nomodify notrap nopeer noquery
6.0 Aplicando los permisos finales a los archives de configuracin con las lneas.
chown named:named /usr/local/samba/private/dns
chown named:named /usr/local/samba/private/dns.keytab
chmod 775 /usr/local/samba/private/dns
Felicidades hasta aqu ya tienes un servidor de directorio activo, pero recuerda que el samba y el ntp fueron
compilados y al no venir en los paquetes RPM de la distribucin no estn aun reconocidos como servicios del sistema y
no arrancaran por si solos, tampoco tendrn un apagado correcto cuando quieras reiniciar o apagar tu servidor. A
continuacin pondr como integrar samba y ntp como servicios en el sistema operativo.
6.1 Crear el archivo samba en /etc/init.d/
El contenido de /etc/init.d/samba debe ser.
#! /bin/bash
#
# samba4 Bring up/down samba4 service
#
# chkconfig: 90 10
# description: Activates/Deactivates all samba4 interfaces configured to \
# start at boot time.
#
### BEGIN INIT INFO
# Provides:
# Should-Start:
# Short-Description: Bring up/down samba4
# Description: Bring up/down samba4
### END INIT INFO
# Source function library.
. /etc/init.d/functions
if [ -f /etc/sysconfig/samba4 ]; then
. /etc/sysconfig/samba4
fi

CWD=$(pwd)
prog=samba4
start() {
# Attach irda device
echo -n $Starting $prog:
/usr/local/samba/sbin/samba
sleep 2
if ps ax | grep -v grep | grep -q /samba/sbin/samba ; then success $samba4 startup; else failure $samba4 startup; fi
echo
}
stop() {
# Stop service.
echo -n $Shutting down $prog:
killall samba
sleep 2
if ps ax | grep -v grep | grep -q /samba/sbin/samba ; then failure $samba4 shutdown; else success $samba4
shutdown; fi
echo
}
status() {
/usr/local/samba/sbin/samba show-build
}
# See how we were called.
case $1 in
start)
start
;;
stop)
stop
;;
status)
status irattach
;;
restart|reload)
stop
start
;;
*)
echo $Usage: $0 {start|stop|restart|status}
exit 1
esac
exit 0
6.2 Crear el archivo ntp en /etc/init.d/
El contenido de /etc/init.d/ntp debe ser
#! /bin/bash
#

# ntp Bring up/down ntp service


#
#chkconfig: 99 30
#description: Bring up/down ntp
#
### BEGIN INIT INFO
# Provides:
# Should-Start:
# Short-Description: Bring up/down ntp
# Description: Bring up/down ntp
### END INIT INFO
# Source function library.
. /etc/init.d/functions
CWD=$(pwd)
NTPD=/usr/local/bin/ntpd
prog=ntp
start() {
# Attach irda device
echo -n $Starting $prog:
$NTPD -p /var/run/ntpd.pid
sleep 2
if ps ax | grep -v grep | grep -q $NTPD ; then success $ntp startup; else failure $ntp startup; fi
echo
}
stop() {
# Stop service.
echo -n $Shutting down $prog:
kill -9 `cat /var/run/ntpd.pid` > /dev/null 2>&1
sleep 2
if ps ax | grep -v grep | grep -q $NTPD ; then failure $ntp shutdown; else success $ntp shutdown; fi
echo
}
# See how we were called.
case $1 in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
;;
*)
echo $Usage: $0 {start|stop|restart}
exit 1
esac
exit 0

6.3 Darles permiso de ejecucin


chmod +x /etc/init.d/ntp
chmod +x /etc/init.d/samba
6.4 Con la siguiente secuencia de arranque puedes activar el servicio
/etc/init.d/named start
/etc/init.d/ntp start
/etc/init.d/samba start
Pero si quieres que inicien sin intervencin cuando inicie tu servidor ejecuta las siguientes lneas.
chkconfig levels 35 samba on
chkconfig levels 35 ntp on
chkconfig levels 35 named on
7.0 Administrando usuarios en el directorio activo.
Puedes usar el comando smbpass, yo uso pdbedit
Con pdbedit L puedes listar todos los usuarios registrados en el directorio, tanto usuarios de computadoras, como
usuarios humanos. Consulta la ayuda de pdbedit para ver cmo crear, editar o borrar usuarios.
Yo prob uniendo a mi dominio una maquina con Windows 7, no tenia mas equipos a la mano, pero si se une una
Windows 7, igual se une un Windows Vista y anteriores. Me falta probar si se une Windows 8 aunque seguramente si
se unir a dominio. El usuario para unir las maquinas a dominio es Administrator, la contrasea es la que se puso en la
lnea de comando del paso 2.4
Aunque parecen muchos pasos, el 90% de la configuracin se resuelve dndole copiar y pegar, solo hay que cambiar
donde escribo lastdragon.net, lastdragon y la clave del Administrator

Vous aimerez peut-être aussi