Samba 4 - Active Directory Open Source - Ubuntu 14.04.4

Neste artigo quero mostrar como configurar o Samba 4 (AD) com o Ubuntu Server 14.04.4. Esta aplicação foi testada em ambiente virtualizado (VirtualBox, Vmware esxi) e fisicamente (servidor único). Ressalto que não conseguiria implementar a estabilidade que consegui sem os colaboradores da comunidade torture e davirodrigues.

[ Hits: 41.263 ]

Por: Perfil removido em 09/03/2016


Preparando o ambiente



Muitos trechos são baseados nos artigos de torture e davirodrigues:

Introdução

Primeiramente, quero agradecer toda a comunidade e todos os amantes do Software Livre. Todos aqueles que se dedicam a ajudar o próximo, fazendo assim o bem da humanidade.

Antes de configurar qualquer tipo de serviço, devemos nos preocupar com a estrutura lógica da rede.

O domínio usado neste tutorial vai ser SEUDOMINIO.LOCAL (substitua pelo nome do seu).

O hostname do servidor será sdm01.seudominio.local (seguindo padrão FQDN).

sdm01 é o nome do host que escolhi. Mude para seu padrão.

O nome da máquina cliente será M01 (seguindo um padrão M02, M03), tornando o gerenciamento muito mais fácil.

O servidor deverá ter um ip fixo.

O Samba 4 exige um DNS ativo na rede. Geralmente o modem da provedora de internet tem um DNS já configurado. Opcionalmente você pode configurar um bind9 como DNS da rede.

Ao provisionar o domínio usarei a opção SAMBA INTERNAL como DNS.

Nunca siga o passo seguinte sem dar certo o anterior.

Estrutura do particionamento (opcional). Manual:

/       25 GB  ext4 primária (Samba 4 ficará instalado) 
/home   80 GB  ext4 lógica   (Dados dos usuários serão mantidos aqui)
swap     1 GB  swap lógica

Na instalação do sistema, apenas instale o ssh (primeira opção) quando for questionado.

Se estiver usando VirtualBox, nas configurações de rede, em ETH0 utilize placa em modo bridge em vez de NAT.

Instalação dos pacotes necessários:

# apt-get update
# apt-get upgrade


Apenas em instalações iniciais... É perigoso atualizar versões de pacotes de servidores em produção.

# apt-get install build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user docbook-xsl

Ao instalar os pacotes acima o kerberos irá perguntar qual é o reino por omissão. Deixe como padrão.

Em seguida os servidores kerberos:

sdm01.seudominio.local

Na terceira pergunta, a mesma informação:

sdm01.seudominio.local

Obs.: distribuição usada como base é Ubuntu 14.04.04. Caso esteja usando outra, consulte: https://wiki.samba.org/index.php/Samba_4/OS_Requirements

É importante que a hora do servidor esteja atualizada. Por isso vamos instalar o serviço ntp.

Ex.: se o cliente tiver com a hora errada ele não loga no domínio. É importante verificar hora e data.

# apt-get install ntp
# /etc/init.d/ntp status

* NTP server is running

Agora é só aguardar que dentro de alguns minutos ele irá atualizar a hora automaticamente.

Vamos ajustar a partição /home:

# vim /etc/fstab

Na linha onde estiver /home, adicione este conteúdo após ext4:

user_xattr,acl,barrier=1   1  1

Provavelmente irá ficar bem parecido com o exemplo abaixo:

UUID=e9df51e2-040f-4bb5-87d5-80e5efb7b7ef  /home           ext4    user_xattr,acl,barrier=1   1  1

Agora remonte a partição:

# mount -o remount,rw /home

    Próxima página

Páginas do artigo
   1. Preparando o ambiente
   2. Compilação e instalação do Samba 4.1.13
   3. Iniciando o Samba 4 com o sistema
   4. Compartilhando pastas na rede
Outros artigos deste autor

Compilando o kernel no Slackware com pacotes pré-compilados

Instalando o Fedora Core 5 para iniciantes

Como otimizar o desempenho do vídeo Intel com o driver i915

Datagramas IP (Protocolo Internet)

KoverArtist: Criando capas de CDs e DVDs

Leitura recomendada

Integrando o Debian-BR-CDD ao domínio Active Directory

Servidor Samba como PDC

Instalando um PDC Samba no Debian

OpenLDAP e Samba (redundância)

Samba 4 - Configurado para reportar a diferentes redes

  
Comentários
[1] Comentário enviado por removido em 09/03/2016 - 13:50h

Segue correção de uma linha no meio da página 2 do artigo:

/usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator%'Senha@sua' -c 'ls'

Estava faltando uma aspas simples.

[2] Comentário enviado por duanioliveira em 09/03/2016 - 17:00h

Somente como um adendo, nas primeiras vezes em que fui implementar o Samba 4, percebi que ele sempre dava problema quando havia muito trafego ou muito acesso simultâneo.
Depois de pesquisar e verificar, notei que a partição /run/lock ficava sempre quase cheia, e quando chegava ao 100% ela travava o Samba.
Então indico a seguinte adição no fstab

tmpfs /run/lock tmpfs rw,noexec,nosuid,nodev,size=52428800 0 0
afim de aumentar a partição e não ocorrer mais esse travamento.
Muito bom artigo!

Abraço

[3] Comentário enviado por slack_history em 10/03/2016 - 08:30h


[2] Comentário enviado por duanioliveira em 09/03/2016 - 17:00h

Somente como um adendo, nas primeiras vezes em que fui implementar o Samba 4, percebi que ele sempre dava problema quando havia muito trafego ou muito acesso simultâneo.
Depois de pesquisar e verificar, notei que a partição /run/lock ficava sempre quase cheia, e quando chegava ao 100% ela travava o Samba.
Então indico a seguinte adição no fstab

tmpfs /run/lock tmpfs rw,noexec,nosuid,nodev,size=52428800 0 0
afim de aumentar a partição e não ocorrer mais esse travamento.
Muito bom artigo!

Abraço


Obrigado pela dica duanioliveira .
Abraço.

[4] Comentário enviado por al0ne_battousai em 11/03/2016 - 07:07h

Somente como comentário a esse excelente artigo, eu pessoalmente não gosto de usar o DNS interno do Samba por dois motivos, personalização ( cache, views, proteção, etc) e capacidade de atender a grande demanda. Mas também por conta dele não suportar, nativamente, DNS reverso e consultas recursivas, infelizmente.

Sempre condiciono minha instalação com o Bind e o DHCP ( quando necessário) no Samba 4 para uma melhor experiência de uso.

Parabéns pelo artigo

[5] Comentário enviado por slack_history em 11/03/2016 - 11:37h


[4] Comentário enviado por al0ne_battousai em 11/03/2016 - 07:07h

Somente como comentário a esse excelente artigo, eu pessoalmente não gosto de usar o DNS interno do Samba por dois motivos, personalização ( cache, views, proteção, etc) e capacidade de atender a grande demanda. Mas também por conta dele não suportar, nativamente, DNS reverso e consultas recursivas, infelizmente.

Sempre condiciono minha instalação com o Bind e o DHCP ( quando necessário) no Samba 4 para uma melhor experiência de uso.

Parabéns pelo artigo


Obrigado pela sua opinião al0ne_battousai.

[6] Comentário enviado por Beastie em 07/04/2016 - 10:21h

Ótimo artigo amigo. Parabéns!
--------------------------------------------------------------------------------------------------
Mundo FreeBSD - Conteúdo 100% FreeBSD
http://mundofreebsd.com.br/
--------------------------------------------------------------------------------------------------

[7] Comentário enviado por Rbrtto em 20/04/2016 - 11:07h

Alguém Poderia me ajudar. sou iniciante em linux.

Na Hora de "testar o Kerberos" estar aparecendo o seguinte "kinit: KDC reply did not match expectations while getting initial credentials" . Obs: estou inserindo a mesma senha do administrator, que usei na criação do domínio, mas mesmo assim continua aparecendo isso. "kinit: KDC reply did not match expectations while getting initial credentials".




[8] Comentário enviado por slack_history em 20/04/2016 - 16:10h


[7] Comentário enviado por Rbrtto em 20/04/2016 - 11:07h

Alguém Poderia me ajudar. sou iniciante em linux.

Na Hora de "testar o Kerberos" estar aparecendo o seguinte "kinit: KDC reply did not match expectations while getting initial credentials" . Obs: estou inserindo a mesma senha do administrator, que usei na criação do domínio, mas mesmo assim continua aparecendo isso. "kinit: KDC reply did not match expectations while getting initial credentials".






Por favor, mostra a saída de # cat /etc/krb5.conf

[9] Comentário enviado por Rbrtto em 20/04/2016 - 16:48h

A saída de # cat /etc/krb5.conf

[libdefaults]
default_realm = ${house.local}
dns_lookup_realm = false
dns_lookup_kdc = true

[10] Comentário enviado por slack_history em 20/04/2016 - 17:16h


[9] Comentário enviado por Rbrtto em 20/04/2016 - 16:48h

A saída de # cat /etc/krb5.conf

[libdefaults]
default_realm = ${house.local}
dns_lookup_realm = false
dns_lookup_kdc = true



Faltou as aspas e deixar o domain maiúsculo.

Deixe como o abaixo e teste novamente.

[libdefaults]
default_realm = ${"HOUSE.LOCAL"}
dns_lookup_realm = false
dns_lookup_kdc = true

[11] Comentário enviado por vinnysquincaglia em 10/06/2016 - 19:49h

preciso ter um dns na rede para fazer ele funcionar? ou pode ser o dns padrao do roteador da minha rede tipo 192.168.1.1.

a senha precisa ser complexa?

qualquer computador consegue gerenciar tipo tenho um ruindows 7 consigo gerenciar um computador com ruindows 10?


[12] Comentário enviado por removido em 11/07/2016 - 16:01h


[11] Comentário enviado por vinnysquincaglia em 10/06/2016 - 19:49h

preciso ter um dns na rede para fazer ele funcionar? ou pode ser o dns padrao do roteador da minha rede tipo 192.168.1.1.

a senha precisa ser complexa?

qualquer computador consegue gerenciar tipo tenho um ruindows 7 consigo gerenciar um computador com ruindows 10?




vinnysquincaglia
Sim. O samba 4 é exigente referente ao Dns.
Pode ser o dns do teu roteador sim.
A senha do administrator precisa ser complexa sim.
Você consegue gerenciar com Windows 7 , 8, 10 e edições server instalando o RSAT ( Administração remota de servidores) .
OBS: No caso do Windows Server , apenas habilite a função de Administração remota de Servidor.

[13] Comentário enviado por lucashlx em 21/09/2016 - 15:53h

Olá...seu samba4 as atualizações dinâmicas via DNS funciona normalmente ? no meu não tenho que inserir manualmente os registros A.

[14] Comentário enviado por wiliamtakashi em 28/06/2017 - 13:51h

Primeiramente gostaria de agradecer, nunca havia criado um ad antes, e com este artigo fui capaz de criar um com sucesso.
Aproveitando, há algumas partes do artigo em que tive problemas, e gostaria de citar aqui a solução que encontrei para cada caso, ajudando outros que venham a passar pelas mesmas dificuldades:

- Na preparação do ambiente, o libgnutls-dev já não estava presente no repositório do Debian 8.8, sistema que utilizei, por isso tive que instalar o libgnutls28-dev no lugar;

- Na instalação e configuração do SAMBA, tive que adicionar as linhas abaixo no arquivo /etc/krb5.conf, substituindo os IPs pelo IP do computador com SAMBA instalado para que o teste de DNS funcionasse:

[realms]
SEU.DOMINIO = {
kdc = 172.16.22.3
admin_server = 172.16.22.3
}

-Ainda na instalação e configuração do SAMBA, como já citado em comentários anteriores, está faltando uma aspa simples no teste de autenticação, o correto seria assim:

/usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator%'Senha@sua' -c 'ls'

[15] Comentário enviado por aeps em 24/07/2017 - 10:17h

Bom dia,

Poderiam me ajudar com uma duvida, acredito que meu problema esteja no DNS.
Instalado e configurado o servidor não pinga mais por exemplo no uol.com.br, Uso um roteado que fornece acesso a internet.
Como verificar onde esta o erro e possível correção?

[16] Comentário enviado por clzera em 15/03/2018 - 14:06h


[15] Comentário enviado por aeps em 24/07/2017 - 10:17h

Bom dia,

Poderiam me ajudar com uma duvida, acredito que meu problema esteja no DNS.
Instalado e configurado o servidor não pinga mais por exemplo no uol.com.br, Uso um roteado que fornece acesso a internet.
Como verificar onde esta o erro e possível correção?


Você pode estar tendo um problema que tive também, bom pelo menos eu deleto o arquivo resolv.conf, crio na mão e em seguida uso o comando chattr +i resolv.conf, assim quando reinicia não muda o arquivo.

Aprendi isso nesse link https://www.vivaolinux.com.br/dica/Bloquear-modificacoes-em-um-arquivo-com-chattr


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts