Configuración do servidor Samba4 como controlador de dominio

De Manuais Informática - IES San Clemente.
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

Neste momento xa temos o servizo de Samba4 instalado no noso servidor Debian, pero aínda está configurado para actuar como un controlador dun dominio, que é o que nos pretendemos. Neste apartado imos ver os pasos que temos que seguir para acadalo.

Configurar como servidor de DNS o equipo local

No momento en que o servizo de Samba se configura para actuar como controlador de dominio, iniciará tamén o servizo de DNS (ou ben co servizo interno de Samba ou ben usando o servidor bind). É moi importante que o sistema Debian estea configurado para usarse a si mesmo como servidor de DNS, para poder resolver os nomes das máquinas do dominio.

Nós xa deberíamos ter esta configuración feita, pero non ven de máis revisala. Comprobamos o contido do ficheiro /etc/resolv.conf, que debería ser como o que segue:

domain iescalquera.local
search iescalquera.local
nameserver 172.16.5.10

Promocionar a controlador de dominio

Xa estamos listos para executar o comando que promoverá o servizo de Samba4 a controlador de dominio , inicializando as estruturas de LDAP, DNS e kerberos necesarias.

Temos aquí dúas opcións fundamentais, que son configurar como servizo de DNS o servizo de DNS incluído dentro de Samba4 ou utilizar o servizo bind que xa temos configurado na máquina. A decisión de utilizar un ou outro dependerá fundamentalmente da complexidade da configuración de DNS que requiramos na nosa rede (xa que bind é unha implementación máis completa do servizo DNS), e da facilidade que busquemos na instalación (no noso caso xa temos o servizo de bind instalado, pero se non teríamos que instalalo e configuralo mentres que o servizo de DNS interno de Samba configúrase de forma automática).

Por iso aquí imos mostrar as dúas alternativas, e o lector pode escoller a que prefira.

Utilizando o servidor de DNS interno de Samba4

Se nos decantamos por utilizar o servizo de DNS interno de Samba4, non podemos ter ao mesmo tempo iniciado o servizo de bind xa que darían conflitos entre eles. Por iso para evitar problemas en caso de reinicios do sistema nos que o bind se iniciaría de forma automática, imos quitar o paquete de bind, co comando apt-get:

apt-get remove bind9

E agora usaremos o comando samba-tool para promocionar o servizo Samba4 a controlador de dominio. Introducimos o comando:

samba-tool domain provision --use-rfc2307 --interactive

O parámetro --use-rfc2307 permite que na estrutura do LDAP se almacenen os atributos POSIX dos usuarios e grupos (UIDs, GIDs, etc.), así que ímolo usar sempre que no dominio teñamos clientes Windows e Linux.

O comando vai solicitar de forma interactiva (grazas ao uso do parámetro --interactive) os seguintes valores, como vemos na imaxe:

Execución do comando samba-tool domain provision

Os parámetros que temos que configurar son:

  • Nome do reino de kerberos: Será o mesmo que o nome do dominio pero en maiúsculas: IESCALQUERA.LOCAL. Se xa se nos suxire ese valor simplemente prememos Intro, e se non introducímolo e prememos Intro.
  • Nome do dominio: Temos que introducir o nome de NetBIOS do dominio, sen o sufixo de DNS. Tamén xa ven por defecto o correcto, así que só prememos Intro.
  • Rol do servidor: Indicamos se o servizo de samba vai actuar como controlador de dominio, membro dun dominio ou como unha máquina independente. Premendo Intro xa escollemos a opción dc (domain controller) para que o equipo sexa un controlador de dominio, que é a que ven por defecto.
  • Backend de DNS: Neste caso, seleccionamos o valor por defecto SAMBA_INTERNAL que establece que se faga uso do servidor de DNS integrado de Samba4.
  • Dirección IP de reenvío de DNS: Introducimos a dirección IP do servidor de DNS ao que queremos que o servidor de DNS integrado de Samba4 reenvíe as consultas de DNS que non poida resolver el mesmo, que serán todas aquelas de equipos en Internet, que non están na rede local. Na imaxe introduciuse o servidor DNS público de Google, coa dirección IP 8.8.8.8.
  • Contrasinal do Administrador: Vaise crear un usuario co nome de Administrator que permite administrar inicialmente o dominio, aínd que logo nos poderemos crear os usuarios que queiramos con privilexios de administrador. Aquí introducimos o contrasinal que vai ter este usuario (introducimos abc123.). Teremos que introducilo dúas veces para evitar erros na súa escritura.

Na imaxe podemos ver a finalización da execución do comando, onde se indican os datos do servizo samba:

Execución do comando samba-tool domain provision

Para rematar, imos editar o ficheiro de configuración de samba (/etc/samba/smb.conf) para engadir un parámetro. Editamos con nano este ficheiro e dentro da sección [global] engadimos a liña:

allow dns updates = nonsecure

para que os equipos cliente se poidan rexistrar automaticamente no DNS cando se integran dentro do dominio. Na imaxe podemos ver o contido do ficheiro de configuración:

Edición do ficheiro de configuración para permitir actualizacións do DNS

Utilizando o servidor de DNS externo (Bind)

Se decidimos utilizar o servidor de DNS Bind, dado que no noso caso xa o temos instalado non temos nada que facer; usaremos o comando samba-tool para promocionar o servizo Samba4 a controlador de dominio. Introducimos o comando:

samba-tool domain provision --use-rfc2307 --interactive

O parámetro --use-rfc2307 permite que na estrutura do LDAP se almacenen os atributos POSIX dos usuarios e grupos (UIDs, GIDs, etc.), así que ímolo usar sempre que no dominio teñamos clientes Windows e Linux.

O comando vai solicitar de forma interactiva (grazas ao uso do parámetro --interactive) os seguintes valores, como vemos na imaxe:

Execución do comando samba-tool domain provision

Os parámetros que temos que configurar son:

  • Nome do reino de kerberos: Será o mesmo que o nome do dominio pero en maiúsculas: IESCALQUERA.LOCAL. Se xa se nos suxire ese valor simplemente prememos Intro, e se non introducímolo e prememos Intro.
  • Nome do dominio: Temos que introducir o nome de NetBIOS do dominio, sen o sufixo de DNS. Tamén xa ven por defecto o correcto, así que só prememos Intro.
  • Rol do servidor: Indicamos se o servizo de samba vai actuar como controlador de dominio, membro dun dominio ou como unha máquina independente. Premendo Intro xa escollemos a opción dc (domain controller) para que o equipo sexa un controlador de dominio, que é a que ven por defecto.
  • Backend de DNS: Neste caso, seleccionamos o valor por defecto BIND9_DLZ que establece que se faga uso do servidor de DNS Bind.
  • Contrasinal do Administrador: Vaise crear un usuario co nome de Administrator que permite administrar inicialmente o dominio, aínd que logo nos poderemos crear os usuarios que queiramos con privilexios de administrador. Aquí introducimos o contrasinal que vai ter este usuario (introducimos abc123.). Teremos que introducilo dúas veces para evitar erros na súa escritura.

Na imaxe podemos ver a finalización da execución do comando, onde se indican os datos do servizo samba:

Execución do comando samba-tool domain provision


Como último paso, temos que facer algúns axustes na configuración de Bind para a súa integración con Samba4.

Arranque e comprobación do servizo samba

Xa estamos en disposición de arrancar o servizo de samba, e comprobar tanto o funcionamento do servizo smbd como do DNS:

Comprobación do servidor Kerberos

Este paso en realidade non é necesario para a configuración do servidor, xa que o único que imos facer é comprobar que o servizo de Kerberos funciona correctamente instalando o cliente de Kerberos e autenticándonos contra el con un usuario do dominio (polo momento con Administrator, que é o único usuario que temos). Porén, coidamos que é moi interesante facelo, porque así podemos verificar que esta peza tan importante do dominio funciona correctamente, así como entender un pouco mellor o funcionamento de Kerberos.

  • Contido engadido ao ficheiro /etc/krb5.conf:
        dns_lookup_realm = false
        dns_lookup_kdc = true

        .....

        IESCALQUERA.LOCAL = {
                kdc = dserver00.iescalquera.local
                admin_server = dserver00.iescalquera.local:749
                default_domain = iescalquera.local
        }

[domain_realm]
        .iescalquera.local = IESCALQUERA.LOCAL
        iescalquera.local = IESCALQUERA.LOCAL



-- Antonio de Andrés Lema e Carlos Carrión Álvarez