Neste artigos, vamos demonstrar como instalar e configurar o Samba 4 como PDC e BDC, como base para nossos trabalhos com o FreeBsd nas distro’s pfSense e FreeNas, precisaremos ter um serviço de autenticação centralizada, afinal de contas precisamos de um ambiente completo e próximo a realidade.
Aproveito então para mostrar a instalação e configuração do Samba 4 como Controlador primário e como Controlador Backup.
Como quase tudo nessa vida, é mais simples do que parece. Vamos utilizar o Debian como base. Configure a rede com ip fixo, hostname “pdc” e FQDN “pdc.meudominio.local”.
Feito isso, baixe a ultima versão do Samba diretamente no site oficial:
Instalando as dependências:
Descompacte os arquivos na sua home de root mesmo, entre na pasta e compile:
Pronto! Samba 4 instalado. Agora você precisa criar seu domínio. Utilizamos a ferramenta “samba-tool” para isso. Por padrão, o samba 4 instalado dessa forma ficará com o path “/usr/local/samba”. Use o comando para provisionar seu domínio respondendo o que for solicitado. Atenção apenas na hora que ele solicitar o mecanismo de “DNS”, utilize o “samba internal”.
Instale o pacote “dnsutils” via apt-get e digite os comandos abaixo para testar o funcionamento do seu samba 4 como “PDC”.
Agora vamos ao “BDC”.
Apesar do trabalho incansável dos desenvolvedores, o samba ainda não possui todos os recursos do AD micro$oft. Questão de tempo, mas nada que não possa ser resolvido com o kit de ferramentas que temos disponíveis em nosso amado Pinguim.
Em outra máquina, instale as dependências e compile o samba da mesma forma que fizemos no “PDC”. O que muda aqui, é que agora vamos ingressar no domínio como controlador Backup. Utilizamos o “samba-tool” com parâmetros específicos pra isso.
Após isso, inicie o samba e use o comando abaixo para verificar se os controladores começaram a se falar.
A administração pode ser feita via samba-tool, porém isso fica pra outro post. Vamos utilizar as ferramentas de administração de servidor remoto. Instale no seu Windows 7 mesmo obtendo aqui.
Para gerenciar seu ad, sua máquina windows deve estar no domínio. Para isso ela deve estar na mesma rede do “PDC”, que deve ser apontado como DNS também.
Crie alguns usuários, “GPO”, “OU’s” e comece a modelar seu AD. Feito isso, vamos acertar um último detalhe. Repare que se você conectar no “BDC”, os usuários e a estrutura do seu AD estarão replicados, porém se você for mexer nas GPO’s do BDC, receberá a mensagem de “Arquivo não encontrado”.
O que ocorre é: As GPOS que você criar no “PDC” não são replicadas no BDC nativamente, portanto você precisa fazer isso na mão, neste caso, com “RSYNC” e “CRON”.
Instale o rsync via apt-get. Nos dois servidores.
Agora precisamos replicar a pasta “SYSVOL” que contém os arquivos das GPOS. O rsync cuidará disso tranquilamente, e o cron se encarrega de repetir a operação a cada 5 minutos para manter tudo sincronizado.
Como o Cron fará tudo sem nossa intervenção, precisamos configurar alguns parâmetros de autenticação e da pasta que será sincronizada. Para isso o rsync deverá rodar como DAEMON, o que pode ser feito no debian alterando o arquivo “/etc/default/rsync”, trocando a linha “RSYNC_ENABLE” de false para true.
# only allowed values are “true”, “false”, and “inetd”
# Use “inetd” if you want to start the rsyncd from inetd,
# all this does is prevent the init.d script from printing a message
# about not starting rsyncd (you still need to modify inetd’s config yourself).
RSYNC_ENABLE=true
Agora você pode startar o rsync como serviço, através do comando “#service rsync start”, mas não faça isso ainda. Para configurar o que pode ser sincronizado e a autenticação que o serviço aceitará para a tarefa, crie o arquivo “/etc/rsyncd.conf”. Deixe ele assim:
comment = Samba Sysvol
uid = root
gid = root
read only = yes
auth users = sysvol-replication
secrets file = /usr/local/samba/etc/rsyncd.secret
O que fizemos foi criar um compartilhamento rsync chamado “sysvol”, apontamos a pasta que queremos que seja replicada, e definimos um usuário a ser usado apenas para esse acesso, o “sysvol-replication” apontando o arquivo que contem a senha que deve ser aceita para a conexão. Deixe este arquivo no “etc do samba” para mantermos o ambiente organizado.
Crie o arquivo “/usr/local/samba/etc/rsyncd.secret” e ponha o seguinte conteúdo.
Detalhe importante, só o root pode ler esse arquivo, portanto não esqueça de setar a permissão correta, senão o rsync não aceitará o arquivo.
Vamos agora configurar nosso BDC para sincronizar de fato. Primeiro, criamos o arquivo com a senha de autenticação no rsync remoto. Precisaremos disso para que o cron possa fazer o trabalho sozinho depois.
Crie o arquivo “/usr/local/samba/etc/rsync-sysvol.secret” e coloque a senha que configuramos no PDC. Arquivo: /usr/local/samba/etc/rsync-sysvol.secret
Configure a permissão correta. Só o root pode ler esse arquivo!
Teste a sincronização utilizando o parâmetro “–dry-run” do rsync. Cuidado com os Path’s, esse comando apaga tudo que tem na pasta e sincroniza com o sysvol do PDC, se você apontar o caminho errado, pode acabar perdendo algo importante!
Sem erros? Então podemos remover o “–dry-run” e inserir no cron. Acesse sua Cron tab [crontab -e] e insira a linha a seguir:
Finalmente! Agora a cada 5 minutos seu BDC vai sincronizar as GPO’s que você criar no Ad! Acompanhem as postagens na seção Free Bsd. Nos próximos Posts, vamos fazer um File server autenticado em nosso Ad Samba 4. Espero que tenham gostado.