Mostrando entradas con la etiqueta windows. Mostrar todas las entradas
Mostrando entradas con la etiqueta windows. Mostrar todas las entradas

lunes, 6 de diciembre de 2010

Conectando SAMBA a un Dominio de Windows

Después de un problema con la maquina en la que creo mis programas para el uso interno en la empresa, me vi en la necesidad de realizar backups de la base de datos y ciertos archivos en una maquina fuera de esta, pero quería hacerla en un sitio seguro, y bueno el candidato indicado era el file server de la red que como indique antes es un Windows 2003 server.

Tenia conocimientos que el Samba me podría ayudar en esta tarea.. pero no tenia conocimientos de “que tanto” debía hacer para cumplirla.

Ok instale Samba y Kerberos:

apt-get install samba smbclient winbind krb5-doc krb5-user krb5-config

Luego necesito los datos del dominio, voy a poner términos que identifiquen a la larga de este post cual es la información que se debe ingresar:

- USR = Cuenta previamente creada en los usuarios de Windows en el Administrador de Usuarios de dominio.

- WGROUP = Nombre Grupo de Trabajo (uno de mis errores fue poner el Dominio del Workgroup aquí, pero el Nombre del Dominio real lo puedes ver en “Red de Microsoft Windows”).

- FDOMAIN = Nombre del Dominio “Fully qualified” (Aquí es el nombre del Dominio como Workgroup).

- HOST = Nombre del Host del controlador del Dominio.

- IPHOST = Ip del Host del controlador de dominio.

Ok ahora con la información base un detalle que me había olvidado es la resolución de los DNS en la maquina linux, ya que tenia configurado como nameservers solamente los necesarios para mi conexión a internet, por eso aumente al inicio del /etc/resolv.conf

search FDOMAIN
nameserver IPHOST

Para probar que nuestro linux puede identificar el dominio podemos ejecutar lo siguiente:

nslookup HOST

o

host IPHOST

Si nos devuelve la información del Dominio entonces esta correcto. De no ser asi revisen el /etc/resolv.conf y el orden de los nameservers.

Configuracion del Kerberos:

Yo elimine todo lo que se encontraba en el archivo de configuración /etc/krb5.conf y lo deje solo con lo siguiente:

[logging]
default = FILE:
kdc = FILE:
admin_server = FILE:

[libdefaults]
default_realm = FDOMAIN

[realms]
FDOMAIN = {
default_domain HOST= FDOMAIN
kdc = HOST.FDOMAIN #ej: test(HOST).domain.com(FDOMAIN)
admin_server = HOST.FDOMAIN
}

[domain_realm]
FDOMAIN = FDOMAIN

En el Dominio Usen Mayúsculas, al menos a mi al poner en minúsculas no me funcionaba hasta que hice el cambio a mayúsculas, para comprobar las credenciales y cargarlas ejecuten:

kinit USR@FDOMAIN (respetando la mayúscula del FDOMAIN)

Configuración de SAMBA:

En este punto reemplace lo que estaba al inicio de la configuración [Global] por esto:

[global]
security = ads
password server = HOST
encrypt passwords = yes
workgroup = WGROUP
realm = FDOMAIN
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = Yes

En este punto antes de reiniciar el SAMBA uno de los errores mas comunes y que puede pasar por alto es el archivo hosts de linux donde debemos especificar que resuelva la ip como el nombre de tu maquina mas el FDOMAIN

vi /etc/hosts

127.0.0.1 localhost
192.168.0.93 linuxhostname.FDOMAIN linuxhostname

Ahora reiniciamos el SAMBA /etc/init.d/samba restart y logueamos del siguiente modo para comprobar nuestros datos:

net ads join -W WGROUP -S HOST -U USR

Pedirá que ingresemos una contraseña que va a ser la del USR que creamos en el dominio de Windows y si esta todo correcto debes ver algo como esto:

Using short domain name — DOMAIN
Joined ‘LINUXHOSTNAME’ to realm ‘FDOMAIN’

Ahora… como hacemos para que los Backups vayan a una carpeta en el Windows File Server; pues ahora teniamos que montar una carpeta de red en el sistema y es muy sencillo, tan solo con el siguiente comando:

mount -t smbfs -o username=USR,password=USRPASS //WINDOWSFILESERVER/DIR /MNT/BACKUPS

Esta instrucción es tan simple como diciéndole que “monte” la carpeta a la cual tenemos permiso de acceso en la maquina windows a la ubicación en nuestro linux /mnt/backups (la cual debemos crear previamente) y listo, cuando ingresemos a esta ultima ubicación podremos ver las carpeta que se encuentran en la maquina de windows en la ubicación que especificamos.

NOTA: Solo se pueden montar carpetas que se encuentran directamente compartidas en la maquina windows que estamos accesando, no se podrá montar subcarpetas dentro de esta, en ese punto tenemos que navegar a ellas.

Y si reinicio mi linux se montara automáticamente? Pues no, en ese caso podemos editar nuesto /etc/fstab y le agregamos al final la siguiente linea:

//WINDOWSFILESERVER/DIR /MNT/BACKUPS smbfs defaults,username=USR,password=USRPASS 0 0

Con esto todos los respaldos que se generen en mi maquina de linux pasaran automáticamente al File Server en Windows sin ningun problema =)

Espero que esto ayude a mas de 1 persona que tambien esta teniendo problemas con nuestro querido amigo SAMBA.