PDF de programación - Cómo configurar un Controlador de Dominio y Directorio Activo GNU/Linux con Samba4

Imágen de pdf Cómo configurar un Controlador de Dominio y Directorio Activo GNU/Linux con Samba4

Cómo configurar un Controlador de Dominio y Directorio Activo GNU/Linux con Samba4gráfica de visualizaciones

Publicado el 27 de Marzo del 2018
454 visualizaciones desde el 27 de Marzo del 2018
80,4 KB
14 paginas
Creado hace 7a (07/01/2013)
Cómo configurar un Controlador de Dominio y Directorio Activo

GNU/Linux con Samba4

Samba es una suite libre que, desde 1992, ha proveído servicios de archivos e impresión a todo tipo de
clientes SMB/CIFS, incluyendo muchas versiones de Microsoft Windows. Samba está disponible
libremente bajo licencia GNU General Public License.

Para los fines de esta guía se asume que ya tienes experiencia manejando servidor y clientes en un
entorno Windows. Así como también experiencia con GNU/Linux, ya que no me detendré a explicar
como usar el editor vi o el comando sed y herramientas como iptables, Selinux y los initscripts del
sistema.

En el futuro próximo Samba se convertirá en una alternativa fiable, económica y robusta, que de la
mano con GNU/Linux, encontrará su nicho las PyMES, y posiblemente empresas más grandes, para
que las mismas puedan montar su estructura informática con Controlador de Dominio, Directorio
Activo y los demás servicios que se pueden configurar en Linux como Proxy, Servidor Web, Base de
Datos, etc.

Es un placer para mí ver cómo ha llegado a esta etapa luego de varios años recorridos.

SOTWARE QUE UTILIZAREMOS

• Centos 6.3 virtualizado en VirtualBox
• Samba 4.0.0
• Bind
• NTP
• DHCP
• Kerberos
• Librerías de desarrollo (make, gcc, python, openssl, etc.)

Manos a la obra...

INSTALAR EL SISTEMA OPERATIVO

CentOS 6.3 minimal en VirtualBox con dos interfaces de red y todo lo demás por defecto




eth0 como NAT para tomar conexión a Internet (10.0.2.0/24)
eth1 Bridged a la LAN del Dominio (192.168.5.0/24)

Al finalizar la instalación y loguearnos por primera vez en el servidor cambiamos el hostname del
mismo.

[root@localhost ~]# sed -i 's/HOSTNAME=localhost.local/HOSTNAME=sambapdc01.mydomain.local/g' /etc/sysconfig/network
[root@localhost ~]# reboot

Al regresar, deshabilitamos Selinux para evitar inconvenientes hasta nuevo aviso.

[root@sambapdc01 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

Configurarmos la Interfaz de red para actualizar y descargar paquetes. Esta interfaz está NAT en la

configuración de la máquina virtual, pero editaremos el script ya que no nos interesa que el dhclient nos
genere el fichero resolv.conf.

[root@sambapdc01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
HWADDR="MACADDR"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
DEFROUTE="yes"
IPADDR="10.0.2.15"
NETMASK="255.255.255.0"
GATEWAY="10.0.2.2"

Configurar la interfaz de red para el Dominio y red local, quedando de la siguiente manera.

[root@sambapdc01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
BOOTPROTO="static"
HWADDR="MACADDR"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
USERCTL="no"
IPV6INIT="no"
PEERDNS="no"
DEFROUTE="no"
DNS1="127.0.0.1"
IPADDR=192.168.5.1"
NETMASK="255.255.255.0"

Editamos el fichero resolv.conf para resolver nombres de Internet.

[root@sambapdc01 ~]# vi /etc/resolv.conf
nameserver 10.0.2.2
nameserver 8.8.8.8

[root@sambapdc01 ~]# service network restart

ACTUALIZAR EL SISTEMA: Instalar dependencias, librerías de desarrollo y compilación, y otros
servicios.

[root@sambapdc01 ~]# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
[root@sambapdc01 ~]# rpm -i http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
[root@sambapdc01 ~]# yum update -y
[root@sambapdc01 ~]# yum install -y bash-completion nano wget screen
[root@sambapdc01 ~]# yum install -y dhcp bind bind-libs bind-utils bind-sdb make gcc rpm-build libtool autoconf openssl-devel libacl-devel libblkid-
devel gnutls-devel readline-devel python-devel gdb pkgconfig gtkhtml2 setroubleshoot-server setroubleshoot-plugins policycoreutils-python libsemanage-
python setools-libs-python setools-libs krb5-server krb5-libs krb5-workstation
[root@sambapdc01 ~]# reboot

DESCARGAR, INSTALAR SAMBA4

[root@sambapdc01 ~]# mkdir /usr/src/samba4
[root@sambapdc01 ~]# cd /usr/src/samba4
[root@sambapdc01 samba4]# wget http://samba.org/samba/ftp/stable/samba-4.0.0.tar.gz
[root@sambapdc01 samba4]# tar zxvf samba-4.0.0.tar.gz
[root@sambapdc01 samba4]# cd samba-4.0.0/
[root@sambapdc01 samba-4.0.0]# ./configure.developer
[root@sambapdc01 samba-4.0.0]# make
[root@sambapdc01 samba-4.0.0]# make install

Agregar la ruta de Samba4 al PATH

[root@sambapdc01 samba-4.0.0]# cd
[root@sambapdc01 ~]# nano .bash_profile
PATH=$PATH:$HOME/bin:/usr/local/samba/bin:/usr/local/samba/sbin
[root@sambapdc01 ~]# source .bashrc

Verificamos que se instaló correctamente.

[root@sambapdc01 ~]# samba -V
Version 4.0.0

HACER LA PROVISIÓN DEL DOMINIO CON SAMBA4

[root@sambapdc01 ~]# samba-tool domain provision --realm=mydomain.local --domain=MYDOMAIN --adminpass 'solucion.123' --server-role=dc --dns-
backend=BIND9_DLZ
Looking up IPv4 addresses
More than one IPv4 address found. Using 192.168.5.1
Looking up IPv6 addresses
No IPv6 address will be assigned
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=mydomain,DC=local
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up 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=mydomain,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 /usr/local/samba/private/krb5.conf
Once the above files are installed, your Samba4 server will be ready to use
Server Role: active directory domain controller
Hostname: sambapdc01
NetBIOS Domain: MYDOMAIN
DNS Domain: mydomain.local
DOMAIN SID: S-1-5-21-1013276544-984874934-2418686943
A phpLDAPadmin configuration file suitable for administering the Samba 4 LDAP server has been created in /usr/local/samba/private/phpldapadmin-
config.php.

IMPRESCINDIBLE: INICIAMOS SAMBA PARA QUE EL MISMO CREE LA ESTRUCTURA
DE ARCHIVOS Y CARPETAS NECESARIAS PARA SU FUNCIONAMIENTO. ESTO
OCURREN AL INICIARLO POR PRIMERA VEZ.

[root@sambapdc01 ~]# samba -i -M single &
[root@sambapdc01 ~]# killall samba

CONFIGURAR DHCP

[root@sambapdc01 ~]# vi /etc/dhcp/dhcpd.conf
option domain-name "mydomain.local";
option domain-name-servers 192.168.5.1, 8.8.8.8;
option netbios-name-servers 192.168.5.1;
option ntp-servers 192.168.5.1;
authoritative;
subnet 192.168.5.0 netmask 255.255.255.0 {
range 192.168.5.10 192.168.5.20;
option broadcast-address 192.168.5.255;
option routers 192.168.5.1;

}

CONFIGURAR DNS (BIND). Es importante perder todo el tiempo necesario para que este servicio
esté a punto, ya que el funcionamiento de Samba4 depende totalmente del mismo.

[root@sambapdc01 ~]# service named start
[root@sambapdc01 ~]# named -v
BIND 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.5
[root@sambapdc01 ~]# service named stop

Editar el fichero /etc/named.conf

Borramos todo el contenido del mismo solo dejando lo siguiente:
[root@sambapdc01 ~]# nano /etc/named.conf
options {

allow-query { localhost; 192.168.5.1; };
allow-transfer { localhost; 192.168.5.1; };
allow-recursion { localhost; 192.168.5.1; };
forwarders {10.0.2.2; 8.8.8.8;};
tkey-gssapi-keytab "/usr/local/samba/private/dns.keytab";



};
include "/usr/local/samba/private/named.conf";
[root@sambapdc01 ~]# service named restart

Si nos devuelve un error en el comando anterior o dura mucho tiempo para iniciar, generamos los Keys
(opcionalmente, si da error para iniciar por falta de las llaves).

[root@sambapdc01 ~]# rndc-confgen -a -r /dev/urandom
[root@sambapdc01 ~]# chmod 766 /etc/rndc.key
[root@sambapdc01 ~]# ln -s /usr/local/samba/private/dns.keytab /etc/krb5.keytab

Editar el fichero resolv.conf

[root@sambapdc01 ~]# nano /etc/resolv.conf
domain mydomain.local
nameserver 192.168.5.1

CONFIGURAR KERBEROS
Editamos el fichero de configuración dejando solo lo siguiente.

[root@sambapdc01 ~]# nano /etc/krb5.conf
[libdefaults]

default_realm = MYDOMAIN.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = true

DESCARGAR, INSTALAR Y CONFIGURAR NTP (OPCIONAL)
Si no hay sincronización de tiempo entre servidor y clientes, muchos servicios no estarán disponibles
para éstos últimos. Necesitamos una versión de NTP igual o superior a la 4.2.6. Lamentablemente la
versión actual de CentOS no la provee, por lo que la descargaremos del sitio rpmfind.net.

[root@sambapdc01 ~]# wget ftp://rpmfind.net/linux/sourceforge/f/fu/fuduntu/yum/2012/STABLE/RPMS/ntp-4.2.6p3-0.1.rc10.fc14.i686.rpm
[root@sambapdc01 ~]# wget ftp://rpmfind.net/linux/sourceforge/f/fu/fuduntu/yum/2012/STABLE/RPMS/ntpdate-4.2.6p3-0.1.rc10.fc14.i686.rpm
[root@sambapdc01 ~]# rpm -i ntpdate-4.2.6p3-0.1.rc10.fc14.i686.rpm
[root@sambapdc01 ~]# rpm -i ntp-4.2.6p3-0.1.rc10.fc14.i686.rpm

En el final del fichero agregamos estas dos líneas.

[r oot@sambapdc01 ~]# nano /etc/ntp.conf
ntpsigndsocket /usr/local/samba/var/lib/ntp_signd/
restrict default mssntp

Editamos las siguientes líneas, que ya existen, para que queden así:
server 127.127.1.1
fudge 127.127.1.1 stratum 12

Finalmente cambiamos los servidores públicos por estos, sin opciones adicionales:
server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org

Aplicamos los permisos necesarios para que los servicios tengan acceso a los ficheros de configuración
y Selinux no nos de problemas si lo habilitam
  • Links de descarga
http://lwp-l.com/pdf9934

Comentarios de: Cómo configurar un Controlador de Dominio y Directorio Activo GNU/Linux con Samba4 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad