Hola a tod@s. En esta serie de cursos os voy a enseñar como montar un servidor Active Directory para redes con equipos Windows bajo Debian (si vamos a montar un servidor, vamos a hacerlo como es debido, leñes). En esta primera entrega explicare la instalación y configuración del servidor y en la segunda enseñare a usar las herramientas de administración remota de Windows 7 y como unir los equipos al dominio (el Windows 7 propiamente dicho y un Windows XP). Mas adelante haré una tercera entrega aparte de como unir equipos con GNU/Linux ya que es algo que tengo pendiente de probar.
Esta idea me surgió mientras estoy (o estaba, depende de cuando leas esta entrada ) cursando un curso del paro de Técnico de reparación de equipos microinformáticos en el cual montábamos un servidor de red con Windows 2008 (no RC2) y me puse a buscar si podía implementar lo mismo bajo GNU/Linux y el resultado la verdad es bueno, hasta mi profesor se quedo sorprendido de la rapidez del servidor.
Antes de seguir, y seguramente muchos os preguntéis ¿Qué es Active Directory? Pues es el termino que usa Microsoft para referirse a su conjunto de herramientas para la administración de redes como el servidor DNS, la administración de los usuarios de la red, etc.
Necesitaremos lo siguiente:
Antes de seguir debemos de editar algunos archivos para que todo funcione, sobre todo para que los equipos de la red encuentren el servidor del dominio.
Lo primero es dar a nuestro servidor una dirección IP fija. En el caso de mi Debian de pruebas en Virtualbox uso networking, que es lo que viene de base, pero en el servidor real lo configure desde Network Manager, por lo que explicare como se hace en ambos.
Networking
El primer archivo que editaremos es /etc/network/interfaces.
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.67
netmask 255.255.255.0
gateway 172.26.0.1
dns-nameservers 192.168.0.67
dns-search clase.org
dns-domian clase.org
Siendo:
Ahora debemos añadir las siguientes lineas a /etc/hosts:
127.0.0.1 Matrix.clase.org Matrix
192.168.0.67 Matrix.clase.org Matrix
Con esto se resolverá el nombre del dominio para que pueda ser encontrado en la red. Matrix es el nombre que le di al servidor.
Por ultimo editamos /etc/resolv.conf:
nameserver 192.168.0.13
En algunos tutoriales que encontré añadían otra linea nameserver y un par de variables mas, pero en mi caso me ha bastado solo una linea.
Ahora reiniciamos el servicio de red y listo:
/etc/init.d/networking restart
Network Manager
Pulsamos con el botón derecho del ratón sobre el icono de redes y seleccionamos Editar las conexiones. Nos saldrán las redes que tengamos configuradas, pero solo nos interesa la llamada Red cableada 1 o como lo hayas nombrado. Hacemos doble click sobre ella y nos saldrá una nueva ventana y nos iremos a Ajustes de IPv4. En método seleccionamos Manual. Ahora pulsamos en Añadir y rellenamos todos los campos:

Ahora nos vamos a la pestaña General y nos aseguramos que esta marcado Todos los usuarios deben conectarse a esta red. Pulsamos en Guardar y salimos.
Instalando Samba 4
En nuestro caso vamos a descargar y compilar Samba 4 desde su pagina debido a que en Debian solo esta disponible a través del repositorio Backports y me dio problemas de dependencias.
Nos dirigimos a http://samba.org para descargarnos la ultima versión estable y descomprimimos el paquete en alguna carpeta.
La ultima versión estable a la hora de escribir este articulo es la 4.1.8 por lo que sera con la que trabajemos.
Para compilarlo necesitaremos instalar los siguientes paquetes:
apt-get install build-essential libacl1-dev libattr1-dev \
libblkid-dev libgnutls-dev libreadline-dev python-dev libpam0g-dev \
python-dnspython gdb pkg-config libpopt-dev libldap2-dev \
dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev acl
Una vez descargado y descomprimido abrimos una terminal y nos movemos hasta la carpeta y ejecutamos los siguientes comandos:
./configure --enable-debug
make
make install
La instalación por defecto es en /usr/local/samba. Si bien admite el parámetro –prefix=/usr NO lo instala dentro de las directorios correspondientes (por ejemplo los binarios no los mete en /usr/bin)
Ahora añadimos las nuevas rutas en el PATH. En mi caso en /etc/bash.bashrc para que se aplique a todos los usuarios, root incluido.
export PATH=$PATH:/usr/local/samba/bin:/usr/local/samba/sbin
Y también creamos un enlace dentro de /etc para que Samba encuentre el archivo de configuración:
ln -s /usr/local/samba/etc/ /etc/samba
Vamos ya a configurar el servidor Samba. Para ello ejecutamos:
samba-tool domain provision --realm=clase.org --domain=CLASE --adminpass=Contraseña --use-rfc2307
donde:
Si todo sale bien tras un ratito Samba terminara de configurarse. Si queréis conocer todas las opciones posibles basta con ejecutar:
samba-tool domain provision -h
Ahora vamos a editar el archivo /etc/samba/smb.conf. Por ahora lo que nos interesa es la siguiente linea:
dns forwarder = 192.168.0.1
Esta linea debe de apuntar al servidor DNS que nos da salida a Internet (en este caso, el router). Samba la toma por defecto de la configuración de la red pero es recomendable verificarlo.
Ahora iniciamos el servicio:
samba
y comprobamos la conexión ejecutando:
smbclient -L localhost -U%
Y si todo esta correcto veremos algo similar a esto:

En caso de que nos diese error de conexión verificamos los pasos del punto anterior. El log de Samba se encuentra en /usr/local/samba/var/log.samba
Ahora vamos a copiar el archivo /usr/local/samba/private/krb5.conf a /etc. Ahora vamos a comprobar que nos podemos conectar:
kinit [email protected]
Ojo, el dominio tiene que escribirse en mayúsculas.
Acto seguido nos pedirá la contraseña del usuario (en este caso el del administrador) y si nos sale un mensaje similar a “Warning: Your password will expire in 40 days on Mon Jul 14 13:57:10 2014″ es que salio correctamente.
Y hasta aquí la primera parte del tutorial. Nos leemos en el siguiente.
La entrada Montando un servidor Active Directory con Debian y Samba. Primera parte aparece primero en Desde Linux.

Continúar leyendo...
Esta idea me surgió mientras estoy (o estaba, depende de cuando leas esta entrada ) cursando un curso del paro de Técnico de reparación de equipos microinformáticos en el cual montábamos un servidor de red con Windows 2008 (no RC2) y me puse a buscar si podía implementar lo mismo bajo GNU/Linux y el resultado la verdad es bueno, hasta mi profesor se quedo sorprendido de la rapidez del servidor.
Antes de seguir, y seguramente muchos os preguntéis ¿Qué es Active Directory? Pues es el termino que usa Microsoft para referirse a su conjunto de herramientas para la administración de redes como el servidor DNS, la administración de los usuarios de la red, etc.
Necesitaremos lo siguiente:
- Debian en su rama estable (en mi caso Wheezy 7.5 con XFCE como entorno de escritorio)
- Samba 4
- Un cliente con Windows 7/8/8.1 con el paquete para instalar las funciones de control del servidor remoto (necesario para administrar el servidor, como por ejemplo compartir una carpeta con los usuarios). Esto se explicara en el siguiente tutorial.
Antes de seguir debemos de editar algunos archivos para que todo funcione, sobre todo para que los equipos de la red encuentren el servidor del dominio.
Lo primero es dar a nuestro servidor una dirección IP fija. En el caso de mi Debian de pruebas en Virtualbox uso networking, que es lo que viene de base, pero en el servidor real lo configure desde Network Manager, por lo que explicare como se hace en ambos.
Networking
El primer archivo que editaremos es /etc/network/interfaces.
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.67
netmask 255.255.255.0
gateway 172.26.0.1
dns-nameservers 192.168.0.67
dns-search clase.org
dns-domian clase.org
Siendo:
- address: la IP de nuestro equipo.
- netmask: la mascara de red. En una red pequeña o de una casa suele ser esta.
- gateway: la puerta de enlace. Normalmente es la IP del router que nos da la salida a Internet.
- dns-nameservers: La ip del servidor DNS. En este caso el del servidor, pero se puede añadir un segundo, por ejemplo las publicas de Google.
- Las 2 ultimas indican el nombre de búsqueda del dominio y el nombre del dominio en si.
Ahora debemos añadir las siguientes lineas a /etc/hosts:
127.0.0.1 Matrix.clase.org Matrix
192.168.0.67 Matrix.clase.org Matrix
Con esto se resolverá el nombre del dominio para que pueda ser encontrado en la red. Matrix es el nombre que le di al servidor.
Por ultimo editamos /etc/resolv.conf:
nameserver 192.168.0.13
En algunos tutoriales que encontré añadían otra linea nameserver y un par de variables mas, pero en mi caso me ha bastado solo una linea.
Ahora reiniciamos el servicio de red y listo:
/etc/init.d/networking restart
Network Manager
Pulsamos con el botón derecho del ratón sobre el icono de redes y seleccionamos Editar las conexiones. Nos saldrán las redes que tengamos configuradas, pero solo nos interesa la llamada Red cableada 1 o como lo hayas nombrado. Hacemos doble click sobre ella y nos saldrá una nueva ventana y nos iremos a Ajustes de IPv4. En método seleccionamos Manual. Ahora pulsamos en Añadir y rellenamos todos los campos:

Ahora nos vamos a la pestaña General y nos aseguramos que esta marcado Todos los usuarios deben conectarse a esta red. Pulsamos en Guardar y salimos.
Instalando Samba 4
En nuestro caso vamos a descargar y compilar Samba 4 desde su pagina debido a que en Debian solo esta disponible a través del repositorio Backports y me dio problemas de dependencias.
Nos dirigimos a http://samba.org para descargarnos la ultima versión estable y descomprimimos el paquete en alguna carpeta.
La ultima versión estable a la hora de escribir este articulo es la 4.1.8 por lo que sera con la que trabajemos.
Para compilarlo necesitaremos instalar los siguientes paquetes:
apt-get install build-essential libacl1-dev libattr1-dev \
libblkid-dev libgnutls-dev libreadline-dev python-dev libpam0g-dev \
python-dnspython gdb pkg-config libpopt-dev libldap2-dev \
dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev acl
Una vez descargado y descomprimido abrimos una terminal y nos movemos hasta la carpeta y ejecutamos los siguientes comandos:
./configure --enable-debug
make
make install
La instalación por defecto es en /usr/local/samba. Si bien admite el parámetro –prefix=/usr NO lo instala dentro de las directorios correspondientes (por ejemplo los binarios no los mete en /usr/bin)
Ahora añadimos las nuevas rutas en el PATH. En mi caso en /etc/bash.bashrc para que se aplique a todos los usuarios, root incluido.
export PATH=$PATH:/usr/local/samba/bin:/usr/local/samba/sbin
Y también creamos un enlace dentro de /etc para que Samba encuentre el archivo de configuración:
ln -s /usr/local/samba/etc/ /etc/samba
Vamos ya a configurar el servidor Samba. Para ello ejecutamos:
samba-tool domain provision --realm=clase.org --domain=CLASE --adminpass=Contraseña --use-rfc2307
donde:
- –realm: es el nombre completo del dominio.
- –domain: es el dominio. Tiene que estar en mayusculas
- –adminspass: es la contraseña del administrador de la red.
- –use-rfc2307: para activar AC.
Si todo sale bien tras un ratito Samba terminara de configurarse. Si queréis conocer todas las opciones posibles basta con ejecutar:
samba-tool domain provision -h
Ahora vamos a editar el archivo /etc/samba/smb.conf. Por ahora lo que nos interesa es la siguiente linea:
dns forwarder = 192.168.0.1
Esta linea debe de apuntar al servidor DNS que nos da salida a Internet (en este caso, el router). Samba la toma por defecto de la configuración de la red pero es recomendable verificarlo.
Ahora iniciamos el servicio:
samba
y comprobamos la conexión ejecutando:
smbclient -L localhost -U%
Y si todo esta correcto veremos algo similar a esto:

En caso de que nos diese error de conexión verificamos los pasos del punto anterior. El log de Samba se encuentra en /usr/local/samba/var/log.samba
Ahora vamos a copiar el archivo /usr/local/samba/private/krb5.conf a /etc. Ahora vamos a comprobar que nos podemos conectar:
kinit [email protected]
Ojo, el dominio tiene que escribirse en mayúsculas.
Acto seguido nos pedirá la contraseña del usuario (en este caso el del administrador) y si nos sale un mensaje similar a “Warning: Your password will expire in 40 days on Mon Jul 14 13:57:10 2014″ es que salio correctamente.
Y hasta aquí la primera parte del tutorial. Nos leemos en el siguiente.
La entrada Montando un servidor Active Directory con Debian y Samba. Primera parte aparece primero en Desde Linux.
Continúar leyendo...