2.1 SAMBA 4
Samba es el Active Directory de Linux, es Open Source y te permite compartir tus archivos y documentos en una misma red en una máquina UNIX. Utiliza para ello el protocolo SMB compatible para todos los sistemas operativos de Linux pero además con sistemas Windows o Mac, incluso para el sistema operativo antiguo de Windows MS-DOS.
Samba 4, soporta el inicio de sesión de ‘Active Directory’ y protocolos de clientes de administración compatibles con Windows XP, Windows 7 y Mac OS X.
Soporta la política de grupos.
Tiene un servidor interno de LDAP con semántica AD.
Integra un servidor Kerberos, para permitir Single Sign-On en la red.
Nueva infraestructura de RPC.
Soporte para Python.
2.2. CONTROLADOR ACTIVE DIRECTORY
Sin duda, Active Directory es la característica más atractiva a la hora de decidirnos por Windows Server como servidor de nuestra red local. El conjunto de servicios y utilidades que ofrece para la gestión de usuarios y equipos permite una gestión tremendamente productiva, especialmente si trabajamos con clientes Windows.
Por otro lado Samba, la implementación para el mundo Linux del protocolo CFIS de Windows, permitía hasta la fecha implantar un servidor de dominio NT, que aunque permite la autenticación centralizada, quedaba muchos pasos atrás respecto las funcionalidades de cualquier Windows Server de 2003 hacia adelante. Pero, ahora la nueva versión de Samba, Samba 4, permite implementar un DC (Domain Controller) basado en Active Directory.
3. SISTEMA OPERATIVO
La presente instalación, se la hará en un Sistema Operativo Linux, Distribución Debian, Versión 7 (Wheezy).
4. PAQUETES INSTALADOS
samba4
samba-common
smbclient4
ntp
krb5-client
5. LEVANTAMIENTO Y CONFIGURACIÓN DEL DOMINIO
5.1. INSTALACIÓN DE SAMBA4
En primer lugar configuraremos la red de nuestro servidor PDC, editando el archivo /etc/network/interfaces, y utilizaremos la IP 172.16.5.216 como PDC.
auto eth0
iface eth0 inet static
address 172.16.5.216
netmask 255.255.0.0
gateway 172.16.4.4
dns-nameservers 172.16.5.216 8.8.8.8
dns-search cardcam.com
Nótese que como primer servidor de nombres (DNS principal), se ha establecido al mismo PDC, como secundario elegimos alguno que nos permita acceder a Internet ( podría ser el que provee el ISP o único público de Google en este caso), y que la búsqueda dns se hace sobre el nombre de dominio de ejemplo CARDCAM.COM
A continuación instalaremos el servicio NTP (Network Time Protocol) para asegurar que nuestro equipo siempre tenga la hora correcta (el funcionamiento de Kerberos exige que los equipos estén sincronizados en cuanto la hora). Para instalar el servicio:
# apt-get install ntp
Una vez instalado, configuraremos el servicio para elegir el servidor horario de nuestra preferencia, en nuestro caso, elegimos los servidores ubicados en España. Así mismo, habilitamos el servicio para que nuestra red pueda consultar la hora al servidor (podemos consultar los servidores disponibles en la página de NTP project; para agregar servidores NTP, editar el archivo /etc/ntp.conf
server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst
A continuación procederemos a instalar Samba 4. Aunque se puede descargar como paquete ya construido mediante apt-get, la página de Samba recomienda bajar las fuentes y compilarlas. De hecho, si se intenta bajar el paquete del repositorio da un error a media instalación. En primer lugar, se debe instalar los archivos necesarios o prerequisitos:
# apt-get install build-essential libacl1-dev python-dev libldap2-dev pkg-config gdb libgnutls-dev libreadline-dev libattr1-dev python-dnspython libpopt-dev libbsd-dev attr docbook-xsl libcups2-dev git acl
Una vez finalizada la instalación, verificar que el puerto 9418 que es por el cual se hace la descarga GIT, sea admitido por el Firewall, ya que de no ser así, git dará error; una vez verificado, se bajará la versión más reciente del repositorio GIT, para ello:
# git clone git://git.samba.org/samba.git /usr/src/samba4/
Una vez finalizada la descarga se procede a compilar:
# cd /usr/src/samba4
# ./configure –enable-debug
# make
# make install
Luego, agregue los paths en el archivo /etc/profiles. Ya que estos paths contienen varias herramientas de samba para ejectuarlas directamente desde la consola:
/usr/local/samba/sbin:/usr/local/samba/bin:
Una vez terminada la compilación del paquete, se procederá a configurar el Controlador de Dominio, para ello haga un reinicio de la máquina, y a continuación escriba:
# samba-tool domain provision --realm cardcam.com --domain CARDCAM --adminpass P@ssword --server-role=dc --use-ntvfs
Note que debe reemplazar “cardcam.com” por el nombre del dominio a levantar, y adicionalmente que la “adminpass” es una password compleja que contiene un caracter mayúsculo con al menos un número y caracter especial, si no se cumple esta condición en la password, tendrá que volver a compilar el paquete de samba y vovler a ejecutar la instrucción con mucho cuidado.
Luego de ello, el archivo de configuración de samba que OJO, se encuentra en /usr/local/samba/etc/smb.conf deberá contener algo similar a lo siguiente:
# Global parameters
[global]
workgroup = CARDCAM
realm = cardcam.com
netbios name = PDC
server role = active directory domain controller
dns forwarder = 8.8.8.8
server services = rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbind, ntp_signd,$ kcc, dnsupdate, dns, smb
dcerpc endpoint servers = epmapper, wkssvc, rpcecho, samr, netlogon, lsarpc,$ spoolss, drsuapi, dssetup, unixinfo, browser, eventlog6, backupke$
allow dns updates = nonsecure
[netlogon]
path = /usr/local/samba/var/locks/sysvol/cardcam.com/scripts
read only = No
Browseable = No
[sysvol]
path = /usr/local/samba/var/locks/sysvol
read only = No
Browseable = No
Nótese que el parámetro allow dns updates debe tener el valor nonsecure en vez de True como en la versión de Samba 4.0.
Ahora se instalará el servicio Kerberos, para ello instalaremos la utilidad de cliente:
# apt-get install krb5-user
Cuando nos pida el reino Kerberos, deberemos poner el que hemos elegido, y cuando solicite el servidor administrativo, escribimos el hostname donde se aloja el Samba4, pero muy importante en mayúsculas! Una vez instalado podemos testear por ejemplo la password de administrador.
Luego, editar el archivo /etc/resolv y verificar que el nameserver sea el PDC y se especifique el dominio de la siguiente manera:
search cardcam.com
domain cardcam.com
nameserver 172.16.5.216
Finalmente, reiniciar el equipo y arrancar el servicio de Samba para que se levante el controlador de dominio:
# /usr/local/samba/sbin/samba start
Ahora lo que queda es realizar varias pruebas para verificar la funcionalidad del servicio, para ello verificar:
# host -t SRV _ldap._tcp.cardcam.com.
_ldap._tcp.cardcam.com has SRV record 0 100 389 pdc.cardcam.com.
5.1.2 CREAR SCRIPT DEL SERVICIO
Lo primero que haremos es bajar de su repositorio samba4.init y guardarlo en /etc/init.d de nuestro sistema:
# wget http://anonscm.debian.org/loggerhead/pkg-samba/samba4/unstable/download/head:/1833%40fc4039ab-9d04-0410-8cac-899223bdd6b0:trunk%252Fsamba4:debian%252Fsamba4.init/samba4.init -O /etc/init.d/samba4
Ahora, asignaremos permisos de ejecución al script que acabamos de bajar:
# chmod +x /etc/init.d/samba4
Perfecto, ahora cambiaremos las rutas por defecto donde tenemos instalado nuestro Samba4.
# sed -i 's|/usr/sbin|/usr/local/samba/sbin|g' /etc/init.d/samba4
# sed -i 's|/etc/samba|/usr/local/samba/etc|g' /etc/init.d/samba4
Desde este preciso momento ya podemos iniciar o parar nuestro servicio con:
# /etc/init.d/samba4 start
# /etc/init.d/samba4 stop
Ahora, solo nos falta configurar el inicio automático del servicio con el siguiente comando para tener todo listo:
# update-rc.d samba4 defaults
5.2. UNIR MÁQUINAS MS-WIN AL DOMINIO
Para agregar un equipo Windows al dominio, ya no será necesario editar el registro de Windows para unir a “Otros Dominios”, ya que Samba 4 es reconocido como si se tratase de un Control de Dominio Microsoft.
Ahora procederemos a agregar el equipo al dominio:
Comprobamos como el cliente se ha agregado correctamente al dominio:
5.3. ADMINISTRAR EL DOMINIO
En esta sección, procederemos a configurar una herramienta que servirá para administrar el dominio y realizar algunas de las tareas básicas (creación de usuarios, grupos, configuración de perfiles, políticas de grupo, etc.).
Para ello, vamos a utilizar el conjunto de herramientas gratuitas que ofrece Microsoft, conocido como RSAT (Remote Server Administration Tool). Dichas herramientas, disponibles tanto para Windows 7 como Windows 8, permitirán gestionar nuestro controlador de dominio, de forma idéntica a si estuviéramos delante de un Windows 2008R2 Server.
El primer paso será descargar de la página de Microsoft la versión RSAT adecuada a nuestro equipo cliente. http://www.microsoft.com/es-es/download/details.aspx?id=7887:
Una vez instalado el paquete de herramientas, procederemos a habilitar aquellas que necesitemos, para ello deberemos ir a > Panel de Control > Programas y características > Activar características de Windows, y sobretodo activar “Usuarios y Equipos de Active Directory, DNS y Políticas de grupo”: