Instalando Samba4 no Debian

Olá, hoje vamos aprender a instalar o Samba4 no Debian 7.3 (http://www.debian.org/). Utilizei este Sistema Operacional pois trabalho com ele a mais tempo e por uma questão de "gosto" sempre aplico essa solução.

Lembre que o conceito de Rede não tem receita de bolo, ou seja, o cenário que vou descrever abaixo é um simples laboratório, mas sua Infra interna pode ter outra topologia, basta apenas adequar ao seu cenário real.


Premissa:
Estou supondo que você já tenha uma máquina Virtual (https://www.virtualbox.org) no seu computador e que tem um Debian e um cliente Windows estejam instalados.


Wiki Official Samba4:
http://wiki.samba.org/index.php/Samba

# Informacao do Servidor
Installation Directory: /usr/local/samba/
Server Hostname:        samba4 (o hostname deve ser arbitrado por você)
DNS Domain Name:        dominio.local (Este será o seu reino no Kerberos)
NT4 Domain Name:        dominio
IP Address:             192.168.1.9
Server Role:            DC

# Configurando a Interface de Rede Estática
vi /etc/network/interfaces

O arquivo deve ficar assim:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
        address 192.168.1.9
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.254

# Configurando o arquivo hosts
vi /etc/hosts
127.0.0.1       localhost
192.168.1.9     samba4.dominio.local    samba4

# Testando o hosts
ping samba4

# Resposta do comando deve ser:
PING samba4.dominio.local (192.168.1.9) 56(84) bytes of data.
64 bytes from samba4.dominio.local (192.168.1.9): icmp_req=1 ttl=64 time=0.037 ms

# Instalacao de Dependencias Pacotes
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 libcups2-dev acl ntp
 
Nota:
Na primeira tela informe o dominio: DOMINIO.LOCAL
Na segunda Informe os hostnames dos servidores Kerberos no realm Kerberos DOMINIO.LOCAL: samba4
Na terceira Informe o hostname do servidor administrativo (que gerencia a troca de senhas) para o realm Kerberos DOMINIO.LOCAL: samba4

# Download do Pacote Samba4
cd /opt
wget -c http://ftp.samba.org/pub/samba/stable/samba-4.1.4.tar.gz

# Descompactar o pacote
root@samba4:/opt# tar xvzf samba-4.1.4.tar.gz

# Compilando e Instalando o Samba4
cd samba-4.1.4
./configure --enable-debug --enable-selftest
make
make install

# Criando o serviço de diretorio AD
/usr/local/samba/bin/samba-tool domain provision --use-rfc2307 --interactive
Realm [DOMINIO.LOCAL]: DOMINIO.LOCAL
Domain [DOMINIO]: DOMINIO
Server Role (dc, member, standalone) [dc]: dc
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: SAMBA_INTERNAL
DNS forwarder IP address (write 'none' to disable forwarding) [192.168.1.5]: 208.67.222.222
Administrator password:

# Configurando o DNS
cat /etc/resolv.conf

search dominio.local
nameserver 192.168.1.9
nameserver 208.67.222.222

# Configurando o NTP
vi /etc/ntp.conf

Inserir as linhas abaixo no arquivo.

server a.ntp.br iburst prefer
server b.ntp.br iburst prefer

restrict a.ntp.br mask 255.255.255.255 nomodify notrap nopeer noquery
restrict b.ntp.br mask 255.255.255.255 nomodify notrap nopeer noquery

# Start no Servidor Samba
/usr/local/samba/sbin/samba

# Testes de conexão com o AD DS
/usr/local/samba/bin/smbclient --version
Version 4.1.4

/usr/local/samba/bin/smbclient -L localhost -U%
Domain=[DOMINIO] OS=[Unix] Server=[Samba 4.1.4]

        Sharename       Type      Comment
        ---------       ----      -------
        netlogon        Disk
        sysvol          Disk
        IPC$            IPC       IPC Service (Samba 4.1.4)
Domain=[DOMINIO] OS=[Unix] Server=[Samba 4.1.4]

        Server               Comment
        ---------            -------

        Workgroup            Master
        ---------            -------

# Restart no Samba4
killall samba && /usr/local/samba/sbin/samba

/usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator -c 'ls'
Domain=[DOMINIO] OS=[Unix] Server=[Samba 4.1.4]
  .                                   D        0  Thu Jan 16 10:56:11 2014
  ..                                  D        0  Thu Jan 16 10:56:17 2014

                38577 blocks of size 524288. 32611 blocks available

# Testing DNS
host -t SRV _ldap._tcp.dominio.local.
host -t SRV _kerberos._udp.dominio.local.
host -t A samba4.dominio.local.

# Conferindo o Kerberos
root@samba4:/opt/samba-4.1.4# cat /usr/local/samba/private/krb5.conf
[libdefaults]
        default_realm = DOMINIO.LOCAL
        dns_lookup_realm = false
        dns_lookup_kdc = true

# Testing Kerberos
kinit administrator@DOMINIO.LOCAL
Warning: Your password will expire in 41 days on Thu Feb 27 09:56:16 2014

# Subindo o serviço de diretorio no boot da máquina
root@samba4:~# vi /etc/rc.local
Insira o comando abaixo na linha antes do exit 0
/usr/local/samba/sbin/samba

# Configuracao nas estacoes Clientes
Nas estacoes Windows basta:

Botão direito no "Meu Computador" entrar em "Propriedades" em "Nome do Computador" procure a opção "Alterar" Clique em "Membro de" e no campo "Dominio" informe seu dominio, no meu caso vou informar "DOMINIO.LOCAL"

A maquina client vai solicitar a credencial do Administrator do Domain, basta preencher os campos corretamente.

Nota: levando em consideração que o DNS da estação está apontando para o computador correto.

# Administracao do AD pela ferramenta RSAT
Instalar a ferramenta (adminpak) pode ser feito o download através do site da Microsoft
Entrar em Programas --> Ferramentas Administrativas --> Active Directory and Computers

É isso pessoal, espero que gostem e cada vez mais propaguem a informação nas Redes Sociais sobre meu Blog, tento ser o mais claro possível nas minhas postagens para que todos consigam absorver as informações

Comentários

MAIKO disse…
Parabéns pelo tutorial Jr.
É notável capacidade de simplificar um processo que é bastante trabalhoso e complicado.
renatoadmrede disse…
Muito bom mesmo....parabéns....segui seus passos nas versões 7.5.0 do Debian e 4.1.6 do samba. Tá rodando super saudável.
juniorengbr disse…
Obrigado Renato, meu papel é descomplicar a TI, caso queira recomende para seus amigos meu blog, eu agradeço.
Spfc_1935 disse…
junior,
quando eu chego nessa parte:
/usr/local/samba/bin/smbclient -L localhost -U%

e digito dá um erro: session setup failed : NT STATUS INVALID SERVER STATE

o que seria isso?
juniorengbr disse…
olá poste aqui como ficou seu resolv.conf e seu hosts dentro de /etc

no aguardo.
Spfc_1935 disse…
Estou em curso. Semana que vem eu respondo.

Postagens mais visitadas