
Listo abaixo muitas configurações que deveriam ser feitas e outras coisas que usuários fazem e que pode comprometer futuramente quando colocar o samba em produção na empresa ou instituição que você estará prestando serviço.
Já presenciei muitos usuários falharem em deixar de fazer ou fazer outra coisa que não deveriam. Olha que, com o servidor samba já em produção, a tarefa não é fácil para corrigir na maioria dos casos.
Vamos aos artigo falando sobre o que temos que fazer e o que não temos. Irei começar com o que não temos que fazer.
O que não fazer ao Implantar o Samba?
#1 Instalar ao Invés de Compilar o Samba para AD DC
Para compilar um programa usamos, geralmente, comandos como ./configure, make e make install. Compilar pode ser mais demorado e um pouquinho mais chato. Mas tem suas vantagens quando comparado com instalar usando comandos coo dnf, apt, yum…
Primeiramente, o samba tem uma nova release(versão completa) a cada 18 meses e, com quase 100% de certeza, você não terá a versão mais atual ao instalar com gerenciadores de pacotes do tippo dnf, yum ou apt.
Para compilar, baixamos o pacote do samba mais novo diretamente do site samba.org.
Ao instalar(apt, dnf, yum…) você, além de não ter a mais nova versão, e em muitos casos terá uma versão bem antiquada, você dependerá sempre do mantenedor do pacote para ter patches, correções ou atualizações.
Veja: Qual Diferença Entre DC e AD em Informática?
Sem falar que muitos pacotes instaladores do samba não instalam um samba com as funções importantes. Terá distro que trará um samba para ser membro de um domínio e não trará a função de DC(Controlador de Domínio) AD(Active Directory). Mas como assim um membro do domínio? Sabe quando você tem o domínio já pronto e vai adicionar/cadastrar um Windows 7 ou 10 ou 11 ao domínio, de forma que você possa logar nesse Windows usando um usuário do Domínio? Esse Windows é apenas um membro, ele não atua como DC ou AD. Há distros, como a Red Hat, CentOS e demais derivados, que não trazem o samba instalado como AD DC.
Veja o que diz a página wiki.samba quando fala do pacote de instalação do samba para a família Red Hat:
…A Red Hat não fornece pacotes para executar o Samba como um AD DC. Como uma alternativa:
– Construa(compile) Samba. Para obter detalhes, consulte Criar Samba a partir do código-fonte.
– Use pacotes de terceiros com suporte AD de uma fonte confiável.
Temos diversos artigos ensinando como compilar o samba: categoriaoutros.com.br/compilar-samba
#2 Usar um Hostname com Mais de 15 Caracteres
Isso me deu muita dor de cabeça!
Vou explicar com detalhes sobre minha experiência. Mas antes vejamos o que é Hostname e NEtBios. Temos artigos falando sobre eles: Melhores Práticas para Nomes NetBios no Windows e Linux e O que é NetBios(Network Basic Input/Output System) em Informática?
O hostname geralmente é criado durante a instalação da distro. Mas tem como alterarmos após a instalação usando ferramentas como hostnamectl, ou nmtui etc. mas tome cuidado, podemos alterar o hostname após instalarmos o SO(Debian, CentOS…), mas alterá-lo após instalado ou compilado o samba poderá trazer transtornos ao samba.
Diferentemente do hostname que geralmente é criado durante a instalação da distro, o nome NetBios é criado quando instalamos ou compilamos o samba.
Irei pegar trechos desses dois artigos que passei acima:
O que chamamos de “Nome do Computador” na verdade é o NetBios. Sim, o nome técnico para o “nome do computador” é NetBIOS. NetBIOS é uma abreviação de Network Basic Input/Output System e é usado por programas para se comunicar em uma rede local (LAN).
Os hostnames(nome do host) são usados pelos servidores DNS para resolução de nomes na Internet e na LAN. Os nomes NetBIOS são usados pelo servidor WINS somente na LAN. WINS é uma tecnologia mais antiga e raramente é usada.
Acima cito que NetBios é coisa antiga. Sim! É antiga, mas o samba faz uso e devemos nos atentar às regras de uso do NetBios. Atualmente é usado DNS para resolução de nomes.
Podemos executar o comando nbtstat -n no cmd do Windows para ver o nome, tipo e status do NetBIOS.
Para ver o nome do host, executamos o comando hostname.
O comando hostname serve para Windows e Linux.
Memorize isso: O Samba geralmente cria o NetBios Copiando o Hostname. Por exemplo, se seu hostname é servidor01 então o nome NetBios criado pelo Samba também será servidor01.
Mas, e o que não devemos fazer? Veremos agora:
Nunca, nunquinha mesmo, coloque um hostname maior que 15 caracteres. Se fizer isso o samba criará o nome NetBios levando em conta apenas os 15 primeiros caracteres! Exemplo, se o hostname for servidor-principal o nome NetBios será servidor-princi. O samba criará então duas entradas dentro do DNS interno dele: um registro para servidor-principal outro para servidor-princi. Isso não dará muito certo!!!
MINHA MÁ EXPERIÊNCIA!
Na empresa onde trabalho, foi contratada uma empresa para instalar os programas no servidor, incluindo o samba. A empresa não conseguiu trazer os usuários e demais objetos do servidor antigo para o nome e acabei eu mesmo fazendo. Só que compilei o samba com o servidor quase terminado, ou seja, foi a última etapa e a empresa que configurou acabou colocando o hostname com 16 caracteres. Logicamente que o NetBios ficou com 15 e cortou(truncou) o último caractere. Informei para eles que isso poderia trazer complicações, mas não tinha certeza pois nunca tinha passado por isso. O pior aconteceu, havia um segundo Servidor que eles também configuraram e deixaram o nome com 16 caracteres também. Cortou o último 😡
Conseguir adicionar os dois servidores como AD DC. Mas, mas, mas…. quando um monte de outras coisas aconteceram de errado. Não conseguia adicionar nenhuma nova máquina com Windows como membro do domínio, os usuários existentes e computadores que já estavam cadastrados como membros não conseguiam logar 😡
A solução alternativa foi eu instalar um outro servidor com nome do host(hostname) curto e adicionar como terceiro AD DC. O ruim, disso é que se desligar esse terceiro AD DC, então o(s) problema(s) retorna(m).
#3 Criar um Hostname com Ponto(.)
Como dito acima, é do hostname que o samba cria o nome NetBios. Podemos na verdade criar qualquer nome NetBios durante o provisionamento do samba. Mas poucos fazem isso e então o Nome NetBios fica realmente sendo o mesmo do hostname.
Um hostname pode ter ponto mas o Nome NetBios não se dá bem. Olha que o ponto é um caracter permitido para se colocar em um nome NetBios. Mas o Samba não se dá muito bem.
NetBios é algo velho mas olha o que diz na página wiki.samba:
O que quer que você use para o seu nome NetBIOS, certifique-se de que seja apenas uma palavra, não mais que 15 caracteres e sem pontuação, incluindo pontos ‘.’ . Isso parece ser especialmente importante com clientes Windows 10, houve relatos de que eles não podem ingressar no domínio se o nome de domínio NetBIOS contiver um ponto.
wiki.samba
#4 Colocar .local no Nome de Domínio
Domínio? O que é isso?
Você com certeza já sabe o que é um domínio e já usa muitos. Por exemplo, www.categoriaoutros.com.br é um domínio.
Veja: O que é um domínio?
Ao implantarmos um AD a gente escolhe um nome para ser nosso domínio. Geralmente um nome que não tenha conexão com a internet, isto é, que não seja possível usar na internet, é apenas acessível dentro da rede local da empresa. Então, quando vamos escolher um nome devemos escolher um que não “ping”, devemos evitar qualquer coisa terminado em .com, .com.br, .org, net…
O que muitos usuários faziam ou fazem é escolher nomes como empresa.interno ou minharede.privada…
Muitos aqui erram colocando .local ao final do domínio. Mas .local não é alcançável na internet? A internet não enxerga ele? Sim, você está corretíssimo, não enxerga. A questão aqui é que .local já é usado por um serviço, por um programa chamado Avahi. Veja: O que é Avahi em Informática?
Avahi é um sistema que facilita a descoberta de serviços em uma rede local por meio do conjunto de protocolos mDNS/DNS-SD. Isso permite que você conecte seu laptop ou computador a uma rede e seja capaz de visualizar instantaneamente outras pessoas com quem você pode conversar, encontrar impressoras para imprimir ou encontrar arquivos sendo compartilhados. A tecnologia compatível é encontrada no Apple MacOS X (com a marca “Bonjour” e às vezes “Zeroconf”).
categoriaoutros.com.br
Então, não use .local como nome do seu domínio!
Eu mesmo usava faz pouco tempo. Há muitos tutoriais meus que usa .local.
#5 Usar um Nome de Domínio que Possamos Não Gostar
Um nome de domínio deve ser escolhido no início da implantação do samba e devemos ter a certeza que não trocaremos ele jamais. Trocar um nome de domínio em um ambiente samba já em produção não é nada fácil.
#6 Usar um domínio acessível na Internet e um domínio TLD(domínio do topo)
Falamos a toda hora sobre Domínio do Active Directory. O que é um domínio do Active Directory? Um domínio do Active Directory (AD) é basicamente igual a um domínio da Internet direcionado para um grupo de computadores. Posso usar em meu exemplo EMPRESA100.INTERNO como domínio, mas poderia usar, desde que comprasse, um domínio de internet, como empresa100.com.br
Qualquer que seja o nome de domínio que você usar, ele não deve ser resolvido(funcionar ou acessível) pela Internet. Não é uma boa ideia ter qualquer computador de domínio AD conectado diretamente à Internet.
Qual vantagem em ter um domínio que não iremos usar na internet? Há várias, uma delas é que você pode obter certificados SSL válidos, se desejar.
Uma boa prática ao usar um domínio válido na internet, como empresa100.com.br, é adicionarmos um nome antes, um prefixo, como em dc.empresa100.com.br. Por que fazer isso? Uma das razões é o SSL que falamos acima,
- Será um nome de domínio válido para recuperação de certificados SSL válidos.
- outra razão é que empresa100.com.br é um domínio principal(superior ou do topo) e, desse modo, iríamos ocupar um domínio principal apenas para nosso DC, quando poderíamos usá-lo para um site, por exemplo. Então, é uma boa prática, criar um subdomínio do nosso principal, como em dc.empresa100.com.br
Ao escolhermos um subdomínio para nosso AD, fazemos com que ele seja globalmente único ao não usarmos o domínio principal. Você pode garantir que o subdomínio usado internamente não resolva nada externamente, não seja visível ou acessível na web ou mundo.
O que Devemos Fazer ao Implantar o Samba?
#1 Fixar um IP
Sim, devemos fixar, configurar um endereço IP manualmente no servidor Samba. Você não deve receber configurações de rede pelo DHCP para o servidor.
#2 Instalar um Programa Servidor de Tempo(NTP)
Nada de ficar configurando ou ajustando o horário do servidor Samba manualmente, usando date ou timedatectl…
Instale o chrony ou ntpd e seja feliz com o horário e data sempre atualizado por um servidor confiável na internet.
Por que o horário e data é tão importante para o Samba? Na verdade, é importante para tudo; mas o kerberos, que trabalha junto com o samba para autenticação com tickets, o kerberos não funciona em um servidor com horário desajustado. A tolerância do kerberos é de 5 minutos, mais que isso não funcionarão as autenticações, os logins ou cadastro de Máquinas como membro do domínio.
#3 Manter Firewall Desativado
Muitos usuários desativam o firewall do servidor e isso é ruim. Em laboratório pode até ser correto se já soubermos quais portas liberar e como liberá-las no ambiente real de produção.
Temos um artigo falando das portas do samba a serem liberadas no firewall: Portas a Serem Liberadas para o Samba
Comments on “Samba: Coisas que Você Deve e Não Deve Fazer”