Migração de Samba 3 + LDAP para Samba 4 + NTP + BIND 9.8 + DHCP

Migração de um servidor de arquivos e diretórios, Debian, Samba 3 com OpenLDAP para um novo controlador de domínio, Debian, Samba 4 com todos os requisitos para a devida operação em um ambiente Windows, gerenciamento do domínio, GPOs, associações e atualizações dinâmicas do DNS com NTP, BIND 9 e DHCP.

[ Hits: 19.972 ]

Por: Igor F K em 17/09/2014


Script de inicialização do Samba 4



Crie o arquivo de inicialização do Samba 4, este arquivo foi adequado da Wiki do Samba 4:

# vi /etc/init.d/samba-ad-dc

#! /bin/sh
### BEGIN INIT INFO
# Provides:          samba-ad-dc
# Required-Start:    $network $local_fs $remote_fs
# Required-Stop:     $network $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: start Samba daemons for the AD DC
### END INIT INFO
PIDDIR=/var/run/samba
SAMBAPID=$PIDDIR/samba.pid
unset TMPDIR
test -x /usr/local/samba/sbin/samba -a -r /usr/local/samba/etc/smb.conf || exit 0
. /lib/lsb/init-functions
case "$1" in
    start)
        SERVER_ROLE=`samba-tool testparm --parameter-name="server role"  2>/dev/null | tail -1`
        if [ "$SERVER_ROLE" != "active directory domain controller" ]; then
            exit 0
        fi
        if init_is_upstart; then
            exit 1
        fi
        KEYFILE=/var/lib/samba/private/tls/key.pem
        if [ -e $KEYFILE ]
        then
                KEYPERMS=`stat -c %a $KEYFILE`
                if [ "$KEYPERMS" != "600" ]
                then
                        echo "wrong permission on $KEYFILE, must be 600"
                        echo "Removing all tls .pem files will cause an auto-regeneration with the correct permissions."
                        exit 1
                fi
        fi
        log_daemon_msg "Starting Samba AD DC daemon" "samba"
        install -o root -g root -m 755 -d $PIDDIR
        if ! start-stop-daemon --start --quiet --oknodo --exec /usr/local/samba/sbin/samba -- -D; then
            log_end_msg 1
            exit 1
        fi
        log_end_msg 0
        ;;
    stop)
        if init_is_upstart; then
            exit 0
        fi
        log_daemon_msg "Stopping Samba AD DC daemon" "samba"
        start-stop-daemon --stop --quiet --pidfile $SAMBAPID
        sleep 1
        if [ -f $SAMBAPID ] && ! ps h `cat $SAMBAPID` > /dev/null
        then
            rm -f $SAMBAPID
        fi
        log_end_msg 0
        ;;
    restart|force-reload)
        if init_is_upstart; then
            exit 1
        fi
        $0 stop
        sleep 1
        $0 start
        ;;
    status)
        status_of_proc -p $SAMBAPID /usr/local/samba/sbin/samba samba
        exit $?
        ;;
    *)
        echo "Usage: /etc/init.d/samba-ad-dc {start|stop|restart|force-reload|status}"
        exit 1
        ;;
esac
exit 0

Habilite a devida execução deste script:

# chmod 755 /etc/init.d/samba-ad-dc
# update-rc.d samba-ad-dc defaults

Testes e finalização

Inicie o Samba 4 em modo para testes (use Ctrl + c para sair):

# samba -i -M single -d 9

Testes do DNS:

Em outro terminal entre com:

# host -t SRV _ldap._tcp.domain.com.br.

Deve retornar:

_ldap._tcp.domain.com.br has SRV record 0 100 389 samba4pdc.domain.com.br.


# host -t SRV _kerberos._udp.domain.com.br.

Deve retornar:

_kerberos._udp.domain.com.br has SRV record 0 100 88 samba4pdc.domain.com.br.


# host -t A samba4pdc.domain.com.br.

Deve retornar:

samba4pdc.domain.com.br has address 172.17.0.4


Testes do Kerberos:

# kinit administrator@DOMAIN.COM.BR
# klist

Deve retornar:

Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@DOMAIN.COM.BR

Valid starting     Expires            Service principal
09/15/14 02:20:41  09/15/14 12:20:41  krbtgt/DOMAIN.COM.BR@DOMAIN.COM.BR
  renew until 09/16/14 02:20:39



Demais testes também estão presentes na Wiki do Samba.

Na LAN onde está o samba4pdc, insira alguma máquina no domínio (obtido pelo parâmetro "workgroup" do arquivo /usr/local/samba/etc/smb.conf) utilizando a conta administrator (a senha pode ser refeita com o comando: "samba-tool user setpassword Administrator"). Lembre-se de que, a inicialização do Samba daquela forma, para testes, o torna bem lento, justamente até para acompanhar as saídas do serviço, ou seja, quando iniciado, a adição não funciona imediatamente, espere um pouco a execução do serviço.

Instale a ferramenta RSAT para Windows 7 ou as ferramentas Adminpak e SupportTools para Windows XP, faça alguns testes com GPOs, administração do domínio, ADS etc. aproveite e monitore a saída do Samba.

Após testes bem-sucedidos e estar satisfeito com os resultados, transfira o host samba4pdc para a LAN do antigo samba3.

Para isso, inicialmente, desligue/remova o samba3 da LAN dele.

Desinstale o OpenLDAP do samba4pdc:

# apt-get purge slapd ldap-utils

Caso necessário, readeque os endereços IP do samba4pdc para a LAN onde estava o samba3.

Mova o samba4pdc para aquela LAN e inicie o serviço normalmente:

# /etc/init.d/samba-ad-dc start

Página anterior    

Páginas do artigo
   1. Detalhes do roteiro
   2. Migração/adequação do OpenlDAP samba3 para OpenlDAP samba4
   3. Script de inicialização do Samba 4
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Configurar SAMBA como PDC com usuário fixo

Samba: Servidor de impressão e introdução a PDC (Primary Domain Controller)

Ubuntu 12.04 autenticando no Active Directory com Samba/Kerberos/Winbind

Montando um compartilhamento com o smbmount

Samba 4 + Bind 9 + Kerberos - Instalação e configuração

  
Comentários
[1] Comentário enviado por darkzad em 18/09/2014 - 08:25h

Tem relato de algum problema com DNS nativo do samba?

Ótimo post.

[2] Comentário enviado por igorino em 18/09/2014 - 12:44h

O uso do DNS nativo depende do ânimo do administrador: alguns não gostam de deixar o Samba no cargo de manter as entradas dinâmicas no DNS, dai podem configurar dois DNS; o interno para o funcionamento básico do AD DC e outro DDNS tradicional (BIND) para os hosts e outras funções avançadas. Outros admins, meu caso e o do roteiro, preferem apenas um, tradicional, gerenciando as zonas. Talvez um problema do DNS nativo do Samba seja a falta de delimitação de views, um modelo do projeto talvez? Tenho que ver nas listas "samba-dev" como está essa situação, dai vem outro detalhe, o BIND já é bem desenvolvido ao contrário do interno do Samba, mas nada que o defina como problemático, jamais.

[3] Comentário enviado por Elisa_SJ em 30/10/2015 - 08:55h


Tenho um servidor DNS com samba3 compartilhando documentos na rede, gostaria de rodar em outro servidor na mesma rede o samba4 como PDC, isso traria algum tipo de conflito?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts