GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar Samba como controlador de dominio principal en Linux

Los administradores de sistemas utilizan Samba para superar el problema de la interoperabilidad en un entorno mixto en el que tiene tanto Linux como Windows. Proporciona una plataforma común para que tanto Windows como Linux tengan un espacio compartido común.

El controlador de dominio es un servicio que se utiliza para la administración centralizada de usuarios, grupos o cualquier objeto en la red. Este servicio nos permite administrar, autenticar y proteger el inicio de sesión de los usuarios y los datos relacionados.

Este tutorial explica cómo podemos configurar Samba en Linux como un controlador de dominio principal.

1. Configurar el nombre de host adecuado

Asegúrese de haber configurado el nombre de host y la IP estática adecuados. Si está utilizando una dirección IP interna y desea acceder a ella desde Internet, configure las reglas NAT adecuadas en su firewall.

En este tutorial usaremos tgs.example.com como nombre de host.

# vi /etc/sysconfig/network 
HOSTNAME=tgs.example.com

Asegúrese de que tenga una configuración de dirección IP estática adecuada en el archivo ifcfg-eth0.

# vi /etc/sysconfig/network-script/ifcfg-eth0
IPADDR=192.168.101.1
NETMASK=255.255.255.0

Además, asigne la puerta de enlace y dns en consecuencia en su archivo /etc/sysconfig/network y /etc/resolv.conf.

Verifique que su archivo /etc/hosts tenga una entrada similar a la siguiente.

# vi /etc/hosts
192.168.101.1	tgs.example.com	tgs

Además, asegúrese de que el servicio NTP esté configurado y funcionando correctamente en este servidor.

2. Instalar Samba desde la fuente

En CentOS, de forma predeterminada, los paquetes de samba no se instalarán para el tipo de instalación mínima.

Primero, instale los siguientes paquetes dependientes.

# yum install glibc glibc-devel gcc python* libacl-devel krb5-workstation krb5-libs pam_krb5 git-core openldap-devel 

A continuación, descargue la fuente de samba como se muestra a continuación.

# git clone git://git.samba.org/samba.git sambaserver

Los archivos se descargarán en el directorio sambaserver. Instale el servidor samba como se muestra a continuación.

cd sambaserver

./configure  --enable-debug --enable-selftest

make

make install

Samba se instalará en la ubicación predeterminada /usr/local/samba/bin. Verá varias utilidades de cliente Samba instaladas en este directorio.

# cd /usr/local/samba/bin/ 

# ls 
cifsdd       ldbsearch   ntdbrestore    regshell    smbcquotas  tdbbackup 
dbwrap_tool  locktest    ntdbtool       regtree     smbget      tdbdump 
eventlogadm  masktest    ntlm_auth      rpcclient   smbpasswd   tdbrestore 
gentest      ndrdump     oLschema2ldif  samba-tool  smbspool    tdbtool 
ldbadd       net         pdbedit        sharesec    smbstatus   testparm 
ldbdel       nmblookup   pidl           smbcacls    smbtar      wbinfo 
ldbedit      nmblookup4  profiles       smbclient   smbta-util 
ldbmodify    ntdbbackup  regdiff        smbclient4  smbtorture 
ldbrename    ntdbdump    regpatch       smbcontrol  smbtree 

3. Configurar provisión de dominio

Para iniciar la provisión del dominio, ejecute la herramienta samba como se muestra a continuación. Esto recogerá el nombre de host y el nombre de dominio predeterminados de los archivos de configuración.

# /usr/local/samba/bin/samba-tool domain provision 
Realm [EXAMPLE.COM]: 
 Domain [EXAMPLE]: 
 Server Role (dc, member, standalone) [dc]: 
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: 
 DNS forwarder IP address (write 'none' to disable forwarding) [125.22.47.125]: 8.8.8.8 
Administrator password: 
Retype password: 
...
...
Adding DNS accounts 
Creating CN=MicrosoftDNS,CN=System,DC=example,DC=com 
Creating DomainDnsZones and ForestDnsZones partitions 
Populating DomainDnsZones and ForestDnsZones partitions 
Setting up sam.ldb rootDSE marking as synchronized 
Fixing provision GUIDs 
A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf 
Once the above files are installed, your Samba4 server will be ready to use 
Server Role:           active directory domain controller 
Hostname:              tgs 
NetBIOS Domain:        EXAMPLE 
DNS Domain:            example.com 
DOMAIN SID:            S-1-5-21-2869186506-3515775153-2841826798 

4. Iniciar el servicio Samba

Inicie el servicio samba, como se muestra a continuación.

/usr/local/samba/sbin/samba 

Agregue la siguiente entrada al archivo rc.local para asegurarse de que el servicio samba se inicie automáticamente durante el inicio del sistema.

# echo /usr/local/samba/sbin/samba >> /etc/rc.d/rc.local 

# cat /etc/rc.d/rc.local 
touch /var/lock/subsys/local 
/usr/local/samba/sbin/samba 

5. Comprobar la versión de Samba

Puede verificar la versión de samba usando el comando samba o smbclient como se muestra a continuación.

# /usr/local/samba/sbin/samba -V 
Version 4.2.0pre1-GIT-913b2a1 

# /usr/local/samba/bin/smbclient -V 
Version 4.2.0pre1-GIT-913b2a1 

El siguiente comando mostrará todos los recursos compartidos de Samba que están actualmente disponibles.

# /usr/local/samba/bin/smbclient -L localhost -U% 
Domain=[EXAMPLE] OS=[Windows 6.1] Server=[Samba 4.2.0pre1-GIT-913b2a1] 

	Sharename       Type      Comment 
	---------       ----      ------- 
	netlogon        Disk      
	sysvol          Disk      
	IPC$            IPC       IPC Service (Samba 4.2.0pre1-GIT-913b2a1) 
Domain=[EXAMPLE] OS=[Windows 6.1] Server=[Samba 4.2.0pre1-GIT-913b2a1] 

	Server               Comment 
	---------            ------- 

	Workgroup            Master 
	---------            ------- 

Verifique que pueda iniciar sesión con el nombre de usuario y la contraseña del administrador.

# /usr/local/samba/bin/smbclient //localhost/netlogon -Uadministrator -c 'ls' 
Enter administrator's password: 
Domain=[EXAMPLE] OS=[Windows 6.1] Server=[Samba 4.2.0pre1-GIT-913b2a1] 
  .   D        0  Fri Feb 21 15:06:15 2014 
  ..  D        0  Fri Feb 21 15:06:28 2014 
57901 blocks of size 8388608. 54372 blocks available 

6. Verificar dominios

Ahora verifiquemos si el dominio funciona como se esperaba. Verifique el SRV y el registro A como se muestra a continuación.

# host -t SRV _ldap._tcp.example.com 
_ldap._tcp.example.com has SRV record 0 100 389 tgs.example.com. 

# host -t SRV _kerberos._udp.example.com 
_kerberos._udp.example.com has SRV record 0 100 88 tgs.example.com. 

# host -t A tgs.example.com 
tgs.example.com has address 192.168.101.1

Use el comando samba-tool para verificar el nombre del reino como se muestra a continuación.

# /usr/local/samba/bin/samba-tool testparm --suppress-prompt | grep realm 
	realm = EXAMPLE.COM 

7. Configurar Kerberos

Copie el archivo de muestra krb5.conf en el directorio /etc.

cp /usr/local/samba/share/setup/krb5.conf /etc/krb5.conf 

Establezca default_realm en su nombre de dominio. En este caso, lo estableceremos en example.com

# cat /etc/krb5.conf 
[libdefaults] 
	default_realm = EXAMPLE.COM 
	dns_lookup_realm = false 
	dns_lookup_kdc = true 

Use el comando kinit para asegurarse de que Kerberos esté configurado correctamente como se muestra a continuación.

# kinit [email protected] 
Password for [email protected]: 
Warning: Your password will expire in 41 days on Fri Apr  4 15:06:25 2014 

Finalmente, puede usar la herramienta de administración remota de Windows para conectarse al servidor Samba y usarlo como controlador de dominio.

Si tiene algún problema durante el proceso anterior, asegúrese de actualizar el sistema actualizando todos los paquetes. También puede deshabilitar SELinux temporalmente y revisar audit.log en busca de mensajes de error relacionados con SELinux. Además, asegúrese de que sus reglas de IPTables no estén bloqueando los puertos que Samba requiere para comunicarse entre los servidores.


Linux
  1. Cómo configurar el túnel SSH inverso en Linux

  2. Cómo hacer una copia de seguridad de la configuración del controlador de dominio Samba en Linux

  3. Cómo configurar el inicio de sesión SSH sin contraseña en Linux

  4. ¿Cómo configurar fuentes en el subsistema Linux?

  5. ¿Cómo configurar `sudo` sin contraseña en Linux?

Cómo configurar SFTP chroot en Linux

Cómo configurar la autenticación multifactor para SSH en Linux

¿Cómo cambiar el dominio principal en WHM?

Cómo crear un controlador de dominio en Linux para AD

Cómo realizar una instalación de Samba Active Directory en Linux

Cómo conectarse con Samba a Linux Active Directory