Académique Documents
Professionnel Documents
Culture Documents
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
#
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
#