jueves, 14 de septiembre de 2017

CREACIÓN DE DOMINIO SAMBA 4 EN CENTOS


********************************************************************************************
comandos útiles samba 4
********************************************************************************************
Ver el SID del dominio y la sincronización:

samba-tool drs showrepl

Server Role:           active directory domain controller
Hostname:              ads01
NetBIOS Domain:        TESTING
DNS Domain:            ad.testing.gob.ve
DOMAIN SID:            S-1-5-21-3118096144-1223824119-2523436622

Actualizar DNS y corregir fallos:

samba_dnsupdate --verbose
samba_dnsupdate --verbose --all-names

Verificar Archivo samba smb.conf y ver posibles fallos:

testparm -s

Unir equipos al dominio

net rpc join -U administrator
net ads join -U administrator


********************************************************************************************
Instalar la ultima versión de samba 4 Centos via repo
********************************************************************************************

yum install -y authconfig krb5-workstation || true

    && sed -i 's@enabled=0@enabled=1@g' EL7.wing.repo \
    && mv EL7.wing.repo /etc/yum.repos.d/


yum install -y samba46 samba46-winbind-clients samba46-winbind samba46-client samba46-common-tools samba46-common-libs samba46-dc samba46-dc-libs samba46-libs samba46-pidl samba46-python samba46-winbind-krb5-locator perl-Parse-Yapp perl-Test-Base python2-crypto || true

Nota: ya estos repos no existen, acá una nueva guía


********************************************************************************************
Preparación para la configuración
********************************************************************************************
ver los siguientes enlaces:


Nota: Dado que se usa centos y se tiene un repositorio no se necesita compilar, 
usar el apartado de "Instalar la ultima versión de samba 4 Centos via repo"
Para unir un segundo controlador de dominio:
Usar la preparación de los enlaces anteriores y ejecutar el siguiente comando:

samba-tool domain join ad.igvsb.gob.ve DC -U "TESTING\administrator"



********************************************************************************************
Error Samba 4 al unir equipo al dominio
********************************************************************************************
Aparece un error como este:

 At this time the 'samba' binary should only be used for either:
  'server role = active directory domain controller' or to access the ntvfs file server with 'server services = +smb' or the rpc proxy with 'dcerpc endpoint servers = remote'
  You should start smbd/nmbd/winbindd instead for domain member and standalone file server tasks
[2017/08/09 13:18:52.490059,  0, pid=2648, effective(0, 0), real(0, 0)] ../lib/util/become_daemon.c:111(exit_daemon)
  STATUS=daemon failed to start: Samba detected misconfigured 'server role' and exited. Check logs for details, error code 22

Lo que debemos hacer (la ruta varía dependiendo si el fuente de samba es compilado o instalado desde repositorios) es arrancar los servicios nmbd, smbd de forma separada

/usr/sbin/nmbd start
/usr/sbin/smbd start

Si samba 4 es compilado entonces podemos usar:


/usr/sbin/winbindd start

Basico:
Si se desea hacer un samba 4 que sirva a 2 redes con eth1 y eth2 

Nota: Lo de las 2 redes solo se usará en caso de querer servir en 2 redes diferentes un mismo servicio, si se tiene una sola red interna obviar este paso


direcciones IP de demostración

192.168.10.6   red delagro
10.20.10.6 red fondas
hostname ads01
usando network manager

ejecutamos como administrador

nmuti

aparecerá el siguiente menú donde seleccionaremos "Modificar una conexión"



Seleccionamos RED-FONDAS la cual es la eth1 que irá a la red principal (eth0 es puerta de enlace)


vemos la configuración



De esta manera podremos llegar a la red a servir, sin necesidad de configurar una puerta de enlace adicional.

nano /etc/hosts

127.0.0.1       ads01.ad.corpodelagro.gob.ve ads01 localhost localhost.localdomain
192.168.10.6    ads01.ad.corpodelagro.gob.ve ads01
10.20.10.6      ads01.ad.corpodelagro.gob.ve ads01

Ejemplo de configuración

nano /etc/sysconfig/network-scripts/ifcfg-eth1

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="no"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
#IPV6_AUTOCONF="yes"
#IPV6_DEFROUTE="yes"
#IPV6_FAILURE_FATAL="no"
#IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eth0"
#UUID="4927c3c3-d2d8-4104-91b8-f450c7c07b87"
DEVICE="eth1"
ONBOOT="yes"
IPADDR="10.20.5.6"
PREFIX="24"
GATEWAY="10.20.5.1"
DNS1="192.168.10.6"
DNS2="192.168.10.7"
DOMAIN="ad.corpodelagro.gob.ve corpodelagro.gob.ve"
#IPV6_PRIVACY="no"
post-up ip route add 10.20.5.0/24 dev eth1 src 10.20.5.6 table eth1table
post-up ip route add default via 10.20.5.1 dev eth1 table eth1table
post-up ip rule add from 10.20.5.6/32 table eth1table
post-up ip rule add to 10.20.5.6/32 table eth1table

Permisos de firewalld

Primero ver que zonas están activas en el firewall

firewall-cmd --get-active-zones

saldrá algo como esto (que si se usa centos no va a variar). En caso de que varíe poner la zona que sale en la salida del comando

public
output
  interfaces: eth0 eth1

Ejecutar los siguientes comandos

firewall-cmd --permanent --add-service=samba
firewall-cmd --zone=public --permanent --add-port=53/tcp
firewall-cmd --zone=public --permanent --add-port=53/udp
firewall-cmd --zone=public --permanent --add-port=88/tcp
firewall-cmd --zone=public --permanent --add-port=135/tcp
firewall-cmd --zone=public --permanent --add-port=139/tcp
firewall-cmd --zone=public --permanent --add-port=389/tcp
firewall-cmd --zone=public --permanent --add-port=445/tcp
firewall-cmd --zone=public --permanent --add-port=464/tcp
firewall-cmd --zone=public --permanent --add-port=636/tcp
firewall-cmd --zone=public --permanent --add-port=123/udp
firewall-cmd --zone=public --permanent --add-port=123/tcp
firewall-cmd --reload

instalar samba 4 Active directory

yum install epel-release -y
yum --enablerepo=extras 
install centos-release-scl
yum groups -y install "Development Tools"

yum install perl gcc libacl-devel libblkid-devel gnutls-devel readline-devel python-devel gdb pkgconfig krb5-workstation zlib-devel setroubleshoot-server libaio-devel setroubleshoot-plugins\
policycoreutils-python libsemanage-python setools-libs-python setools-libs popt-devel libpcap-devel sqlite-devel libidn-devel libxml2-devel libacl-devel libsepol-devel libattr-devel keyutils-libs-devel cyrus-sasl-devel cups-devel bind-utils libxslt docbook-style-xsl openldap-devel pam-devel bzip2 vim wget install dnf nano fail2ban bind9utils ntpdate iniparser libldb libtalloc libtdb libtevent python-devel gnutls-devel libacl-devel openldap-devel pam-devel readline-devel krb5-devel cups-devel attr bind-utils docbook-style-xsl gcc gdb krb5-workstation libsemanage-python libxslt perl perl-ExtUtils-MakeMaker perl-Parse-Yapp perl-Test-Base pkgconfig policycoreutils-python python2-crypto gnutls-devel libattr-devel keyutils-libs-devel libacl-devel libaio-devel libblkid-devel libxml2-devel openldap-devel pam-devel popt-devel python-devel readline-devel zlib-devel systemd-devel lmdb-devel jansson-devel gpgme-devel pygpgme libarchive-devel cups-devel -y

Descargar Samba desde los repositorios

curl -O https://download.samba.org/pub/samba/stable/samba-4.9.4.tar.gz

descomprimir e ir al directorio

tar zxvf samba-4.9.4.tar.gz
cd samba-4.9.4


./configure --prefix=/usr --localstatedir=/var --with-configdir=/etc/samba --libdir=/usr/lib64 --with-modulesdir=/usr/lib64/samba --with-pammodulesdir=/lib64/security --with-lockdir=/var/lib/samba --with-logfilebase=/var/log/samba --with-piddir=/run/samba --with-privatedir=/etc/samba --enable-cups --with-acl-support --with-ads --with-automount --enable-fhs --with-pam --with-quotas --with-shared-modules=idmap_rid,idmap_ad,idmap_hash,idmap_adex --with-syslog --with-utmp --with-dnsupdate

make && make install

mover configuración anterior de samba

mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

iniciamos la configuración del dominio

samba-tool domain provision --use-rfc2307 --interactive


activamos e iniciamos samba

systemctl enable samba
systemctl start samba

instalar servidor de ntp

yum install ntp

editamos

nano /etc/ntp.conf

iniciamos ntpd

systemctl enable ntpd
systemctl start ntpd

Activar servidor ntp (se necesita para sincronizar hora con los equipos del dominio)

editar

nano /etc/ntp.conf

Modificar 
# Permit all access over the loopback interface.  This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
restrict ::1

por
# Permit all access over the loopback interface.  This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
#restrict 127.0.0.1
#restrict ::1

y agregar las siguientes líneas

broadcast 192.168.10.6 autokey  # broadcast server
broadcast 10.20.5.6 autokey  # broadcast server
broadcastclient                 # broadcast client

Con esto activamos nuestro servidor NTP para aceptar peticiones de sincronización de hora en la ip asignada a la interfaz

comandos útiles

samba-tool domain level show
samba-tool drs showrepl
samba_dnsupdate --verbose --all-names
samba_dnsupdate --verbose


Para unir un equipo secundario active directory al dominio
 
samba-tool domain join ad.corpodelagro.gob.ve DC -U "AD\administrator" --dns-backend=SAMBA_INTERNAL


Nota: si se configuró una maquina virtual, clonela, cambiele las IP, la configuración de /etc/hosts y el hostname  y posteriormente ejecute el comando para unir un equipo secundario al dominio.

No hay comentarios:

Publicar un comentario