miércoles, 13 de marzo de 2024

ISO VMWARE ESXi 6.7 con driver adaptec / Inspur PARA SERVIDORES VIT

 



Buenas, dejo una ISO con Vmware ESXi que funciona con servidores VIT que tienen controladora Adaptec INSPUR.

tuve que compilarla con PowerCLI porque este driver no está por defecto en la versión estandar.


miércoles, 30 de marzo de 2022

KMS Server con VLMCSD

 

Sistema OperativoVersión VLMCSD
Debian 11svn1113
Instalar paquetes necesarios mínimos
apt install wget openssh-server dnsutils
 
Descargar el último paquete (en este caso la versión svn1113

wget https://github.com/Wind4/vlmcsd/releases/download/svn1113/binaries.tar.gz

Configurar iptables
iptables -I INPUT -p tcp -m tcp --dport 1688 -j ACCEPT
systemctl restart nftables

Descomprimir
tar -zxvf binaries.tar.gz

Ir al directorio del ejecutables
cd binaries/Linux/intel/static/
 
Probar
./vlmcsd-x64-musl-static
 
Del lado de un cliente windows y para certificar, descomprimir la carpeta \binaries\intel

PS D:\Usuarios\eleyzam\Descargas\binaries\intel> .\vlmcs-Windows-x64.exe -v -l 1 192.168.0.105


en el servidor después de comprobar el  funcionamiento.

ps -ef | grep vlmcsd
kill -9 4351
nota: colocar el id del proceso que esté corriendo.

Crear el directorio para empezar a crear el servicio

mkdir /usr/local/vlmcsd/

Directorios que deben estar en la ruta
/usr/local/vlmcsd
├── glibc
│ └── ...
├── musl
│ └── ...
├── static
│ ├── vlmcsd-x64-musl-static
│ └── ...
├── uclibc
│ └── ...
└── vlmcsd.service

Crear el directorio en donde se configurará el servicio
mkdir /usr/local/vlmcsd/
 
Copiar los archivos necesarios
cd /usr/local/vlmcsd/
cp -r /root/binaries/Linux/intel/glibc/ .
cp -r /root/binaries/Linux/intel/musl/ .
cp -r /root/binaries/Linux/intel/static/ .
cp -r /root/binaries/Linux/intel/uclibc/ .
 
Crear el archivo de servicio
nano /usr/local/vlmcsd/vlmcsd.service

[Unit]
Description=Microsoft KMS Server
After=network.target
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/local/vlmcsd/static/vlmcsd-x64-musl-static
RemainAfterExit=yes
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target

Cambiar permisos
chmod +x /usr/local/vlmcsd/static/vlmcsd-x64-musl-static

Enlazar con SystemD
ln -s /usr/local/vlmcsd/vlmcsd.service /lib/systemd/system/
systemctl daemon-reload
systemctl start vlmcsd
systemctl status vlmcsd


ps -ef | grep vlmcsd

 
Fuentes:

Fuente del programa


domingo, 6 de febrero de 2022

Zabbix 6 con postgresSQL (Server y proxy)

Base para todos (server y proxy)

Software a instalar

Zabix VersionPostgreSQL VersiónSistema Operativo
6.0 RC214.0AlmaLinux release 8.5 (Arctic Sphynx)

IP de Equipos

IP Server192.168.0.103
IP Proxy192.168.0.105

Pasar SELinux a modo permisivo

Se recomienda tener SELinux en modo permisivo (no permite conexión con posrgre en enforcing) a menos que sepa cómo solucionar problemas:

setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Configure firewall

firewall-cmd --add-service={http,https} --permanent
firewall-cmd --add-port={10051/tcp,10050/tcp} --permanent
firewall-cmd --add-port={80/tcp,443/tcp} --permanent
firewall-cmd --reload

Instalar el repositorio de Zabbix
rpm -Uvh https://repo.zabbix.com/zabbix/5.5/rhel/8/x86_64/zabbix-release-5.5-1.el8.noarch.rpm
dnf -y install redhat-lsb-core
dnf clean all


POSTGRESQL


Instala el repositorio Postgresql-14 y limpia caché
rpm -Uvh https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
dnf clean all

Desabilita el módulo pre-instalado DBMS.
dnf -qy module disable postgresql

Instala los paquetes postgre14
dnf -y install postgresql14 postgresql14-server

Inicializa la base de datos.
/usr/pgsql-14/bin/postgresql-14-setup initdb

Activar el servicio y cnfigurarlo para su inicio emn el arranque
systemctl enable --now postgresql-14

Editar Archivo de configuración postgresSQL para poder aceptar conexiones locales en /var/lib/pgsql/14/data/pg_hba.conf
nano /var/lib/pgsql/14/data/pg_hba.conf

Agregar
local all all trust
local all all md5
local all all md5
host all all 127.0.0.1/32 md5
host all all all md5
host all all ::1/128 md5

Si desea acceder desde afuera
host all all 0.0.0.0 0.0.0.0 md5

iniciar postgres
systemctl start postgresql-14

Nota: Acceder desde afuera significa abrir en firewalld el puerto 5432. la versión de base de datos es la actual al moneto de hacer esta guia, si sale uina versión 16,17,18,etc solo colocar el nombre de la versión, aunque por defecto zabix 6.0 busca la versión 13 y notifica que no detecta la versión (pero funciona sin inconvenientes).


Server


Instala el servidor, la interfaz y el agente de Zabbix
dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent

Crear base de datos inicial

sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix

En el servidor Zabbix, importe el esquema y los datos iniciales. Se le pedirá que ingrese la contraseña recién creada.
zcat /usr/share/doc/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix

Configurar la base de datos para el servidor Zabbix

Editar archivo /etc/zabbix/zabbix_server.conf
nano /etc/zabbix/zabbix_server.conf

Agregar los siguientes parámetros
DBPassword=password
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=5432

reiniciar postgres
systemctl restart postgresql-14
Configurar PHP para la interfaz de Zabbix

Editar archivo /etc/nginx/conf.d/zabbix.conf, descomenta y configura las directivas 'listen' y 'server_name'.
nano /etc/nginx/conf.d/zabbix.conf

Mofificar
listen 80;
server_name example.com;

Inicia los procesos del agente y del servidor Zabbix

Inicia los procesos del agente y del servidor Zabbix y configúralos para que se inicien con el sistema.
systemctl restart zabbix-server zabbix-agent nginx php-fpm
systemctl enable zabbix-server zabbix-agent nginx php-fpm


Proxy


Encontré esta guía pero no está actualizada, aunque sirvió para poder tener noción del proceso. Esta guia es solo la adaptación de esta para su uso con PostgreSQL 14, zabbix 6.0 y REDHAT 8 (Alma Linux u otra compatible) 


Instalar
dnf -y install zabbix-proxy-pgsql zabbix-sql-scripts zabbix-agent

Editar Archivo de configuración postgresSQL para poder aceptar conexiones locales en /var/lib/pgsql/14/data/pg_hba.conf
nano /var/lib/pgsql/14/data/pg_hba.conf

Agregar y comentar las que estén
local all all trust
local all all md5
local all all md5
host all all 127.0.0.1/32 md5
host all all all md5
host all all ::1/128 md5

Si desea acceder desde afuera
host all all 0.0.0.0 0.0.0.0 md5

useradd zabbix_proxy
sudo -u postgres createuser --pwprompt zabbix_proxy
sudo -u postgres createdb -O zabbix_proxy zabbix_proxy

Cargar datos del SQL para PostgreSQL
cat /usr/share/doc/zabbix-sql-scripts/postgresql/proxy.sql | sudo -u postgres psql zabbix_proxy

En caso de fallos revisar

Editar archivo de configuración y agregue la contraseña de la base de datos y la frecuencia de configuración en este formato en cualquier parte del archivo:
nano /etc/zabbix/zabbix_proxy.conf

Validar los parámetros
Server=192.168.0.103
Hostname=ZabbixProxy01
DBName=zabbix_proxy
DBPassword=zabbix_proxy
ConfigFrequency=60



El parámetro “ ConfigFrequency” define con qué frecuencia el proxy recupera los datos de configuración del servidor Zabbix en segundos. Puede leer más sobre los parámetros de configuración del proxy en la documentación oficial .

¡No cierres el archivo todavía! Ahora, debe cambiar los valores actuales de los parámetros " Server", " Hostname", " DBName" y " " a algo como esto:DB user

probar conexión local
psql -U zabbix_proxy zabbix_proxy



Comandos PSQL
listar tablas\dt o \dt+
listar usuarios\du
listar bases de datos\l

Por favor si ven algún fallo no duden en notificarlo

lunes, 10 de agosto de 2020

Samba 4 tareas de Crontab

Estas tareas son importantes para mantener el correcto funcionamiento del sistema

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
*/60 * * * * root service ntpd restart
*/90 * * * * root service samba restart
0 */12 * * * samba-tool dbcheck --cross-ncs --fix --yes

Vamos a explicar brevemente el por que de esta tareas:

El reinicio de NTPD es necesario cada cierto tiempo debido a que puede detenerse inesperadamente después de mucho tiempo. He buscado en los log la causa pero no logro dar con la falla. Para curarnos en salud podemos hacer como está descrito acá un restart del servicio cada cierto tiempo.

El reinicio de Samba es debido a que a veces pudiera haber en redes /16 problemas se sincronización del dominio o problemas de consultas, esto en samba 4.11 o superior. La razón la he indagado en los foros pero no he podido comprenderla del todo. sin embargo un restart del servicio en cada nodo de Samba evita estos problemas.

Por ultimo, un importante comando que puede evitarnos problemas de integridad usar la opción de samba-tool para eliminar los registros huérfanos e la base de datos del LDAP. Esta tarea debe hacerse en cada uno de los nodos si tuviere más de uno.



 

domingo, 30 de junio de 2019

Como instalar Let’s Encrypt para zimbra

Documentos que hablan del tema:

Guia en la que me basé la cual es para ubuntu

Gracias al autor del blog guidocutipa.blog.bo pues usando sus anotaciones pude crear esta guia para Centos 7.

Instalando el cliente Certbot Let's Encrypt

Para usar Let's Encrypt para obtener un certificado SSL, primero debe instalar Certbot y mod_ssl un módulo de Apache que brinde soporte para el cifrado SSL v3.

Instalar SAMBA 4 Active Directory Centos 7 (compilado)

Hace poco más de 2 años había echo una guia con repositorios para centos, desafortunadamente, estos repositorios desaparecieron y hasta hora no he visto a nadie con el deseo de hacer algo parecido. Sin embargo traigo esta nueva guía que pienso que está bastante depurada Les dejo 2 modos de red dependiendo de lo que requieran y como instalalr samba 4.9 ya probado y samba 4.10 que debo de actualizar.



  1. Aprovisionamiento de red avanzado


Si se desea hacer un samba 4 que sirva a 2 redes con eth1 y eth2 si no es su caso saltese estos pasos y empiese

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

  1. Direcciones IP de demostración   

192.168.10.6   red delagro
10.20.10.6red fondas
hostnameads01
usando network manager

ejecutamos como administrador

lunes, 21 de enero de 2019

Crear Disclaimer en Zimbra 8

Crear Disclaimer Zimbra (version 8 y superiores) Habilitamos la función con el comando:

zmprov mcf zimbraDomainMandatoryMailSignatureEnabled TRUE

En este paso, lo que haremos es crear un mensaje de notificación de confidencialidad atachado a todos los mensajes que enviemos mediante nuestro Zimbra. Para no complicarnos en la tarea haremos los siguiente:

touch /opt/zimbra/postfix/conf/disclaimer.txt touch opt/zimbra/postfix/conf/disclaimer.html

En el archivo de txt pondremos la siguiente: 

NOTIFICACIÓN DE CONFIDENCIALIDAD Este mensaje electrónico contiene información emitida por Eleyser Zambrano siendo confidencial, privilegiada y protegida de su divulgación. Dicha información es para ser utilizada por el receptor indicado. Si usted no es receptor, entiéndase, que cualquier, revisión, copia, divulgación, uso o transmisión, está prohibida. La Oficina de Tecnología y Sistemas puede hacer caso omiso en la recepción de correos no institucionales y publicación correos no autorizados, dejando sin efecto su contenido. Si usted ha recibido esta transmisión por error, por favor comuníquese inmediatamente por esta misma vía o por teléfono y proceda a su destrucción.  

y en el HTML agregaremos lo siguiente que quedaría así:



 Ir a Fa$
            </div>
            <div style=

NOTIFICACIÓN DE CONFIDENCIALIDAD

Este mensaje electrónico contiene información emitida por eleyser Zambrano siendo confidencial, privilegiada y protegida de su divulgación. Dicha información es para ser utilizada por el receptor indicado. Si usted no es receptor, entiéndase, que cualquier, revisión, copia, divulgación, uso o transmisión, está prohibida. La Oficina de Tecnología y Sistemas puede hacer caso omiso en la recepción de correos no institucionales y publicación correos no autorizados, dejando sin efecto su contenido. Si usted ha recibido esta transmisión por error, por favor comuníquese inmediatamente por esta misma vía o por teléfono y proceda a su destrucción.
Un E-mail no podrá ser considerado SPAM mientras incluya una forma de ser removido. Si no desea recibir este formato de mensajes, re-envíe este mail con el asunto "Remover". Disculpe las molestias ocasionadas.


NOTIFICATION OF CONFIDENTIALITY


This electronic message contains information issued by Eleyser Zambrano being confidential, privileged and protected of its spreading. The above mentioned information is to be used by the indicated. If you are not a recipient, there be understood, that any, review, copy, spreading, use or transmission, is prohibited. The Office of Technology and Systems can ignore in the receipt of not institutional emails and publication not authorized emails, leaving without effect his content. If you have got this transmission for mistake, please communicate immediately for the same route or for telephone and proceed to his destruction.


An E -mail may not be considered SPAM as long as it includes a way to be removed . If you do not wish to receive this message format , re- send this mail with the subject " Remove" . Sorry for the inconvenience.

Acá dejo el enlace para que no se pierda el formato HTML, aunque evidentemente si pueden crear uno mas vistoso pues mucho mejor.

https://www.evernote.com/shard/s736/sh/1d3edcbc-e2e9-48f0-84d6-d458f5f0f31d/f685fc0a9ae462cdc49c0e72a2321221


Luego guardar los valores con los siguientes comandos

zmprov mcf zimbraDomainMandatoryMailSignatureText "$(cat /opt/zimbra/postfix/conf/disclaimer.txt)" 

zmprov mcf zimbraDomainMandatoryMailSignatureHTML "$(cat /opt/zimbra/postfix/conf/disclaimer.html)"

En caso de zimbra 8.5.0

zmprov md midominio zimbraAmavisDomainDisclaimerHTML "$(cat /opt/zimbra/postfix/conf/disclaimer.html)" 

zmprov md midominio zimbraAmavisDomainDisclaimerText "$(cat /opt/zimbra/postfix/conf/disclaimer.txt)"

Note en zimbra 8.0.x ya no existe esa ruta así que guardé los archivos en

[root@correo ~]# nano /opt/zimbra/docs/disclaimer/disclaimer.html

[root@correo ~]# nano /opt/zimbra/docs/disclaimer/disclaimer.txt

una vez ejecutados lo agregamos en nuestro altermine con el siguiente comando

/opt/zimbra/libexec/zmaltermimeconfig -e midominio

lo cual nos debe arrojar la siguiente salida

Enabled disclaimers for domain: midominio 

Podremos observar que nos ha creado tanto el disclaimer en HTML y en texto plano en el directorio: 

/opt/zimbra/data/altermime/ zimbra@zimbra:~$ ls -la /opt/zimbra/data/altermime/ 

reiniciamos

/opt/zimbra/bin/zmamavisdctl restart

la configuración se guarda en

/opt/zimbra/data/altermime

sábado, 19 de enero de 2019

BORRAR COLAS DE CORREO EN ZIMBRA

Si por alguna razón no se puede visualizar las colas de correo diferidas pero indica que hay varios correos, en ese estado, se puede usar el comando postqueue.

Primero veamos  que correos están diferidos y de que usuarios.

sudo /opt/zimbra/postfix/sbin/postqueue -p

y si se desea borrar toda la cola.

sudo /opt/zimbra/postfix/sbin/postsuper -c /opt/zimbra/postfix/conf/ -d ALL deferred

Espero les sirva a modo de ejemplo.

DISCAR S.A. Legacy información Tecnica para tarificadores de Centros de Cabinas

Buenas, alguna vez trabajé con DISCAR y les dejo unos documentos que en su momento se usaron para la capacitación. Se que las cabinas o locutorios como les llaman en Argentina ya son cosa del pasado, pero uno nunca sabe si alguien necesite los documentos técnicos.


Espero Les sirva

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.