Escrito por Francies Silva de Lima.
Olá para todos.
Conforme o
prometido, vou apresentar uma forma simplificada de ativar um Active
Directory no Linux utilizando o Samba 4.
Vou utilizar a
versão mais atual do Ubuntu Server, o 14.10, em forma de VM
utilizando o VirtualBox com as seguintes configurações.
- Um núcleo do processador core 2 quad de 2.8 Ghz;
- 512 MB de RAM e 32 MB de video;
- HD de 10,5 GB de tamanho fixo, sendo que 512 MB será utilizado como Swap.
Não vou mostrar
como instalar o sistema, apenas a configuração básica para ativar
o AD. Recomendo apenas que após a instalação, aplique o apt-get
dist-upgrade para atualizar todo o sistema, reinicie e vamos para a
primeira etapa que será a preparação do sistema antes de ativar o
serviço.
Preparando o Servidor
Iniciamos a
preparação do servidor setando manualmente as configurações de
rede. O edite o arquivo de configuração das interfaces de rede.
# vim
/etc/network/interfaces
Coloquei a rede da
VM em modo bridge e agora vou setar um IP fixo nela. Veja o exemplo
abaixo.
Agora vamos alterar
o arquivo de resolução de nomes /etc/resolv.conf. Se ele não
estiver configurado corretamente, o DNS interno não vai funcionar e
nem vai ser possível acessar a internet para atualizar e instalar os
pacotes.
O arquivo é gerado
automaticamente pelo sistema quando recebemos o endereço IP via
DHCP. Não adianta alterá-lo, pois ele sempre é apagado e um novo é
gerado.
Faça o seguinte,
apague o arquivo /etc/resolv.conf e crie um novo usando o editor de
texto. Vou configurá-lo adicionando o endereço do servidor Samba e
o endereço do DNS para acesso à internet.
# rm
/etc/resolv.conf
# vim
/etc/resolv.conf
Segue abaixo o
modelo do meu arquivo.
Salve e vamos
inserir o atributo somente leitura para que o sistema não reescreva
o arquivo. É uma espécie de trava mas que pode ser desativada para
futuras alterações.
# chattr +i
/etc/resolv.conf
Para destravar o
arquivo, basta repetir o comando alterando o sinal de + para -.
O passo seguinte
será alterar os arquivos de hosts que são: /etc/hosts e
/etc/hostname.
No arquivo
/etc/hosts, o servidor estará com o ip de lookback e o nome que foi
setado na instalação. Será preciso alterá-lo substituindo o
endereço IP 127.0.1.1 pelo endereço que foi setado na configuração
anterior. O nome do host receberá o sufixo de DNS local. Veja o
exemplo abaixo.
# vim /etc/hosts
No arquivo
/etc/hostname será adicionado o sufixo de DNS ao nome do host.
# vim /etc/hostname
Com isso,
finalizamos a primeira etapa. Reinicie o sistema para que as
alterações surtam efeito.
Instalando os pacotes
Agora vamos instalar
os pacotes do servidor samba.
# apt-get update
# apt-get install
samba smbclient heimdal-clients
O pacote
heimdal-clients é usado para autenticação Kerberos. Vamos
configurar os parâmetros do Kerberos a seguir.
- Na primeira tela vamos digital em caixa alta o nome do domínio local.
- Na segunda tela ele pede o nome dos controladores de domínio. No caso, como estamos usando apenas um servidor, digite apenas o nome dele em caixa baixa.
- Na terceira tela, ele pede o nome do servidor que vai armazenar as senhas dos usuários do domínio, do PDC.
Ativando o serviço de AD/DC
Concluída a
instalação, vamos ativar o AD. Mas antes disso, renomeie o arquivo
/etc/samba/smb.conf para /etc/samba/smb.conf.original. Com isso, será
criado um novo arquivo de configuração e o Samba não acusará erro
após o preenchimento dos parâmetros no wizard.
Digite o seguinte
comando para ativar o wizard do Samba:
# samba-tool domain
provision --use-rfc2307 --interactive
Realm:
FGRE.LOCAL (Nome do Domínio)
Domain:
FGRE (Nome Wins)
Server
role: dc (Modo de operação. A opção dc significa Domain
Controller.)
DNS
Backend: SAMBA_INTERNAL (Será usado o servidor DNS embutido no
Samba. Mas ele aceita o BIND como opção.)
DNS
Forwarder: IP do DNS Externo para acesso à internet
Password:
Senha do usuário Administrator do AD.
Mostrando
a mensagem parecida com a imagem abaixo, quer dizer que a
configuração foi realizada com sucesso.
Caso
apresente erro, renomeie o arquivo /etc/samba/smb.conf e tente
novamente.
A
dica abaixo achei num outro tutorial. Achei interessante e adicionei
na configuração.
Vamos
ajustar o arquivo /etc/security/limits.conf para não ficar mostrando
erro no Samba. Adicione no final do arquivo as quatro linhas a
seguir:
Reinicie
o servidor para que as novas configurações surtam efeito e para
continuarmos o processo de configuração do AD.
Testando as configurações
Vamos
testar a conexão com o Samba usando o cliente SMBClient.
#
smbclient -L localhost -U%
#
smbclient //localhost/netlogon -Uadministrator%´P@ssw0rd´
-c ´ls´
Testando as configurações de DNS
#
nslookup fgre.local
#
host -t SRV _ldap._tcp.fgre.lpcal
#
host -t SRV _kerberos._udp.fgre.local
#
host -t A adfsl.fgre.local
Copiar
o arquivo de configuração do Kerberos para a pasta /etc e editá-lo.
#
cp /usr/share/samba/setup/krb5.conf /etc
#
vim /etc/krb5.conf
Testando o Kerberos
Criando
o token Kerberos, ou ticket como alguns costumam chamar.
#
kinit administrator@FGRE.LOCAL
#
klist
Testando
a autenticação no Samba utilizando o token do Kerberos.
#
smbclient -k //adfsl.fgre.local/netlogon -c ´ls´
Instalando o Servidor NTP
Para
manter o sincronismo de horário das estações com o AD, vamos
instalar um servidor NTP.
#
apt-get install ntp -y
Renomeie
o arquivo /etc/ntp.conf e crie um novo arquivo com as configurações
abaixo.
server
127.127.1.0
fudge
127.127.1.0 stratum 10
server
a.ntp.br iburst prefer
server
0.pool.ntp.org iburst prefer
server
1.pool.ntp.org iburst prefer
driftfile
/var/lib/ntp/ntp.drift
logfile
/var/log/ntp
ntpsigndsocket
/var/lib/ntp_signd/
restrict
127.0.0.1
restrict
a.ntp.br mask 255.255.255.255 nomodify notrap nopeer noquery
restrict
0.pool.ntp.br mask 255.255.255.255 nomodify notrap nopeer noquery
restrict
1.pool.ntp.br mask 255.255.255.255 nomodify notrap nopeer noquery
Crie
a pasta ntp_signd dentro de /var/lib/
Dê
permissão para o grupo ntp acessar a pasta ntp_signd
#
chgrp ntp /var/lib/ntp_signd/
Reinicie
o serviço do ntp e rode o seguinte comando para testar o servidor.
#
ntpq -p 127.0.0.1
Removendo
a complexidade das senhas
#
samba-tool domain passwordsettings set --complexity=off
Removendo
tempo de expiração da senha do usuário administrator. Pode ser
usado com outros usuários.
#
samba-tool user setexpiry administrator --noexpiry
Aumentando
nível funcional do Domínio
Por
padrão, o nível funcional do domínio está setado como Windows
Server 2003. Mas pode-se alterá-lo para Windows Server 2008 R2.
Assim, sistemas como Windows 7, 8 e 8.1, Windows Server 2008, 2008
R2, 2012 e 2012 R2 podem ser ingressados no domínio sem problemas.
#
samba-tool domain level raise --domain-level=´2008_R2´
Ingressando
estações no Domínio
Mas
para fazer o ingresso de uma estação, deve-se antes alterar as
configurações do cliente de DNS. É possível alterar a
configuração de duas formas.
Alterar
manualmente as configurações de DNS ou adicioná-las no script do
servidor DHCP para que ele entregue diretamente as novas
configurações de DNS para todas as estações.
Fiz
um teste de ingresso com uma VM com Windows Server 2012 R2.
Ingresso
de uma estação com Windows 8.1.
Instalando
o AdminPack ou Ferramentas de Administração Remota de Servidores
(RSAT)
Não
é possível usar um sistema Windows Server para administrar o Samba
4. A própria Wiki do Samba orienta a utilizar um sistema cliente
esta tarefa. Assim, quem tem experiência em administrar um AD
Windows Server não terá dificuldades para realizar as tarefas
comuns.
Segue
os links para download dos adminPacks conforme o sistema cliente em
uso.
Windows
Vista:
http://www.microsoft.com/downloads/details.aspx?FamilyId=9FF6E897-23CE-4A36-B7FC-D52065DE9960&displaylang=en
Após
a instalação dos pacotes, ative os recursos pelo painel de
controle.
Não
esqueça de ativar os recursos avançados do ADUC.
Referência:
http://www.ariadnebarroso.com.br/samba-4-implementando-um-dominio-usando-samba_internal/
18/09/2014 12:57h
http://www.vivaolinux.com.br/topico/Redes/Resolvconf-nao-salva
17/01/2015 10:30h
Agradecimentos e Considerações Finais.
Espero que este material ajude aqueles que estão em dificuldades com o Samba 4. Quando iniciei minhas pesquisas e laboratórios, apenas imaginei uma solução alternativa ao Windows Server para centralizar serviços de diretório para micros e pequenas empresas que estavam em dificuldades com licenciamento ou estavam usando sistemas pirateados, seja implantado pela equipe de TI mal preparada do local, seja por profissionais autônomos sem ética que não se importavam com os efeitos nocivos da pirataria, e que corriam risco de multas, prejudicando seus negócios que estavam em fase de implantação.
Usei esta minha pesquisa para obter o diploma do curso de redes de computadores pelo CETAM, somando mais duas soluções livres e formaram uma solução integrada para pequenas empresas. São elas:
- Samba 4 como Active Directory;
- FreeNAS como servidor de arquivos multiplataforma;
- Endian Firewall como solução UTM (Firewall, Proxy, Filtro de Conteúdo, integração com o AD para gestão de acesso dos usuários).
Este projeto tem o intuito de fornecer alternativas para micro e pequenas empresas que estão na ilegalidade por não conhecer alternativas aos softwares proprietários utilizados pelo mercado.
Agradeço aos meus amigos que me apoiaram e me incentivaram a escrever este material. Principalmente aos meus amigos Rajiv Sousa e Gilberto Alves que junto comigo formaram uma equipe para conclusão deste projeto final de curso e ao meu amigo Emerson Sales com seus questionamentos que sempre me instigaram a ir mais a fundo no assunto.
Agradeço aos meus professores Rômulos Machado, Jardel Pereira, Rogerio Souza, Daniel Maciel e Jackson Braga que me incentivaram e me apoiaram para desenvolver esta parte do projeto.
Muito Obrigado por ler até aqui. Não esqueça de clicar no botão "g+1" no final da postagem para que outras pessoas também encontrem com mais facilidade esta publicação.
Nenhum comentário:
Postar um comentário