********************************************************************************************
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
Nota: ya estos repos no existen, acá una nueva guía
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.