quinta-feira, 10 de abril de 2014

FreeBSD 10 e Samba 4.1




O ambiente:

Servidor:
Sistema operacional:
FreeBSD freebsd-asrl.redes.local 10.0-RELEASE FreeBSD 10.0-RELEASE #0
r260789: Thu Jan 16 22:34:59 UTC 2014 root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64

rede:
em0: flags=8843 metric 0 mtu 1500
options=9b
ether 08:00:27:a0:b7:fc
inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
inet6 fe80::a00:27ff:fea0:b7fc%em0 prefixlen 64 scopeid 0x1
nd6 options=29
media: Ethernet autoselect (1000baseT )
status: active
em1: flags=8843 metric 0 mtu 1500
options=9b
ether 08:00:27:ac:1d:ee
inet 192.168.1.148 netmask 0xffffff00 broadcast 192.168.1.255
nd6 options=29
media: Ethernet autoselect (1000baseT )
status: active

onde:
em0: LAN
em1: WAN

# cat /etc/hosts
192.168.2.1 freebsd-asrl freebsd-asrl.redes.local

Trabalharemos com as configurações da rede local apontando para LAN (em0 – 192.168.2.1)

Estação:
Sistema Operacional: Windows 7 Pro
Rede: 192.168.2.2/255.255.255.0
DNS: 192.168.2.1


PDG (pulo do gato) : DNS
Esta informação está em vermelho, porque grande parte dos problemas com AD está relacionado ao DNS, lembre-se desta informação.


Instalando o samba via pkg

# pkg install samba41
# pkg install cups

Vamos instalar o cups para que o samba trabalhe como servidor de impressão, e diminuir
a quantidade de mensagens de erro quando o samba estiver iniciando, visto que o samba instalado vi
a pkg já vem com suporte ao CUPS.

Ativar acls no fstab

# cat /etc/fstab
# Device Mountpoint FStype Options Dump Pass#
/dev/ada0p2 / ufs rw,acls 1 1
/dev/ada0p3 none swap sw 0 0

# reboot 

ou

# mount -o acls /

Alterar o resolv.conf para os seguintes ajustes

cat /etc/resolv.conf
nameserver 192.168.2.1
nameserver 192.168.1.254 # COLOCAR O SERVIDOR DNS DA SUA REDE


Provisionando o AD (tipo um dcpromo)

# /usr/local/samba/bin/samba-tool domain provision --use-rfc2307 --interactive

--use-rfc2307 = melhor fazer de uma vez, habilita os ajustes de UID's e GID's, e outros atributos *NIX na aba ADUC, pricipalmente em sistema Win-server-R2 que já vem com a interação com sistema *NIX

--interactive = para fazer de modo interativo o provisionamento, e com isto já fazemos alguns ajustes


Saída do provisionamento (observe que nesta saída já tem um problema que vai acontecer lá na frente em relação ao DNS)

root@freebsd-asrl:~ # samba-tool domain provision --use-rfc2307 --interactive
Realm [REDES.LOCAL]:
Domain [REDES]:
Server Role (dc, member, standalone) [dc]:
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:
DNS forwarder IP address (write 'none' to disable forwarding) [192.168.1.1]:
Administrator password:
Retype password:
Looking up IPv4 addresses
More than one IPv4 address found. Using 192.168.1.148
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Adding DomainDN: DC=redes,DC=local
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Modifying display specifiers
Adding users container
Modifying users container
Adding computers container
Modifying computers container
Setting up sam.ldb data
Setting up well known security principals
Setting up sam.ldb users and groups
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,DC=redes,DC=local
Creating DomainDnsZones and ForestDnsZones partitions
Populating DomainDnsZones and ForestDnsZones partitions
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
A Kerberos configuration suitable for Samba 4 has been generated at /var/db/samba4/private/krb5.conf
Setting up fake yp server settings
Once the above files are installed, your Samba4 server will be ready to use
Server Role: active directory domain controller
Hostname: freebsd-asrl
NetBIOS Domain: REDES
DNS Domain: redes.local
DOMAIN SID: S-1-5-21-1130597450-1147961763-3271314446



** DICA: não subir um bind ou outro servidor DNS neste servidor
Inserir a linha abaixo no smb4.conf

nsupdate command = /usr/local/bin/samba-nsupdate -g


** DICA: criar um link para o /etc/krb5.conf
# ln -s /var/db/samba4/private/krb5.conf /etc/krb5.conf


Inserir as linhas no /etc/rc.conf

samba_server_enable="YES"
cupsd_enable="YES"

Alterar /etc/nsswitch.conf nas seguintes linhas:

passwd: compat
group: compat

Para:

passwd: files winbind
group: files winbind


Iniciar o cups e o samba:

/usr/local/etc/rc.d/cupsd start
/usr/local/etc/rc.d/samba_server start

ou reniciar o servidor com reboot

Testes para verificar se o samba está ok:

1-
root@freebsd-asrl:~ # smbclient -L localhost -UAdministrator
Enter Administrator's password:
Domain=[REDES] OS=[Unix] Server=[Samba 4.1.6]

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

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

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

2-
root@freebsd-asrl:~ # smbclient //localhost/netlogon -UAdministrator -c 'ls'
Enter Administrator's password:
Domain=[REDES] OS=[Unix] Server=[Samba 4.1.6]
. D 0 Tue Apr 8 22:23:56 2014
.. D 0 Tue Apr 8 22:24:12 2014

37653 blocks of size 524288. 31283 blocks available

3-
root@freebsd-asrl:~ # host -t SRV _ldap._tcp.redes.local
_ldap._tcp.redes.local has SRV record 0 100 389 freebsd-asrl.redes.local.

4-
root@freebsd-asrl:~ # host -t SRV _kerberos._udp.redes.local
_kerberos._udp.redes.local has SRV record 0 100 88 freebsd-asrl.redes.local.

5- ******** Muita atenção
FORMA ERRADA DO DNS:
root@freebsd-asrl:~ # host -t A freebsd-asrl.redes.local
freebsd-asrl.redes.local has address 192.168.1.148 <<<<<<<< ERRO, nosso servidor de DNS tem que ser 192.168.2.1, verificar mais a frente como reparar o DNS

FORMA CERTA:
root@freebsd-asrl:/var/log/samba4 # host -t A freebsd-asrl.redes.local
freebsd-asrl.redes.local has address 192.168.2.1
freebsd-asrl.redes.local has address 192.168.1.92

6-
root@freebsd-asrl:~ # kinit Administrator@REDES.LOCAL
Administrator@REDES.LOCAL's Password:
root@freebsd-asrl:~ #

7-
root@freebsd-asrl:~ # klist
Credentials cache: FILE:/tmp/krb5cc_0
Principal: Administrator@REDES.LOCAL

Issued Expires Principal
Apr 10 13:01:22 2014 Apr 10 23:01:22 2014 krbtgt/REDES.LOCAL@REDES.LOCAL


Efetuando o reparo no DNS do samba caso você precise:

root@freebsd-asrl:~ # samba-tool dns add localhost redes.local freebsd-asrl A 192.168.2.1 -U Administrator
Password for [REDES\Administrator]:
Record added successfully

root@freebsd-asrl:~ # samba-tool dns delete localhost redes.local freebsd-asrl A 192.168.1.148 -U Administrator
Password for [REDES\Administrator]:
Record deleted successfully


Screenshots da estação windows7















































































































































































































Referencias:


Nenhum comentário: