Requisitos de Instalación:
Instalación de Samba en CentOS 7/RHEL 7
Samba se ha convertido en uno de los (DC) mas utilizado para la administración de controladores de dominios tanto en Linux como en Windows, esto se debe a que además de ser un software de código abierto ofrece características y compatibilidad en la integración de (DC) en Windows y Linux con una estabilidad y seguridad aceptable.
A continuación, veremos la instalación de Samba en CentOS 7/RHEL 7 paso a paso teniendo en cuenta que la instalación se realiza en un sistema con instalación mínima.
1. Vamos acceder a nuestro sistema con los permisos del usuario root y actualizar nuestro sistema con los siguientes comandos:
# yum update
2. Una vez finalizada la actualización de nuestro sistema vamos a instalar los repositorios necesarios para la instalación de Samba.
Red Hat Enterprise Linux 8/CentOS 8
Instalamos los siguientes paquetes para la instalación de Samba como un controlador de dominio (DC) de Active Directory (AD) en una instalación mínima de Red Hat Enterprise Linux (RHEL) 8 o CentOS 8:
# yum install docbook-style-xsl gcc gdb gnutls-devel gpgme-devel jansson-devel \
keyutils-libs-devel krb5-workstation libacl-devel libaio-devel \
ibarchive-devel libattr-devel libblkid-devel libtasn1 libtasn1-tools \
libxml2-devel libxslt lmdb-devel openldap-devel pam-devel perl \
perl-ExtUtils-MakeMaker perl-Parse-Yapp popt-devel python3-cryptography \
python3-dns python3-gpg python36-devel readline-devel rpcgen systemd-devel \
tar zlib-devel
System Security Services Daemon (SSSD) es un software desarrollado originalmente para el sistema operativo Linux que gestiona el acceso a servicios de dominios, directorio remoto y mecanismos de autenticación. Los inicios de SSSD se encuentran en el proyecto de software de código abierto FreeIPA (Identidad, Política y Auditoría). Instalamos los paquetes de SSSD con el siguiente código:
# yum install sssd realmd oddjob oddjob-mkhomedir adcli krb5-workstation openldap-clients policycoreutils-python samba samba-client samba-common samba-common-tools ntpdate ntp
Red Hat Enterprise Linux 7/CentOS 7/Scientific Linux 7
Instalamos los siguientes paquetes para la instalación de Samba como un controlador de dominio (DC) de Active Directory (AD) en una instalación mínima de Red Hat Enterprise Linux 7, CentOS 7 o Scientific Linux 7:
# yum install 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
3. editamos la configuración de nuestro host para que responda de forma apropiada a la dirección de IPv4 asignada, añadiremos una nueva línea con la dirección de IPv4 y el nombre de nuestro servidor (FQDN).
# nano /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.65 serv01.midominio.com serv01
Comprobamos la configuración de nuestro (hostname).
# nano /etc/hostname
Serv01.midominio.com
Comprobamos la configuración de nuestro (resolv.conf)
# nano /etc/resolv.conf
search midominio.com //Nuestro dominio
nameserver 192.168.1.254 // dirección IPv4 de nuestro Reuter
nameserver 8.8.8.8 //DNS de Google Optional
Editamos nuestra configuración de red en mi caso (eth0).
# cd /etc/sysconfig/network-scripts/
# nano ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.65
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
Reiniciamos nuestro sistema para que se apliquen los cambios.
# reboot
Configuración de firewall:
Puertos requeridos en Samba (DC)
Servicio | Puerto | protocolo |
---|---|---|
DNS | 53 | tcp/udp |
Kerberos | 88 | tcp/udp |
End Point Mapper (DCE/RPC Locator Service) | 135 | tcp |
NetBIOS Name Service | 137 | udp |
NetBIOS Datagram | 138 | udp |
NetBIOS Session | 139 | tcp |
LDAP | 389 | tcp/udp |
SMB over TCP | 445 | tcp |
Kerberos kpasswd | 464 | tcp/udp |
LDAPS (only if “tls enabled = yes”) | 636 | tcp |
Dynamic RPC Ports* | 1024-5000 | tcp |
Global Cataloge | 3268 | tcp |
Global Cataloge SSL (only if “tls enabled = yes”) | 3269 | tcp |
Multicast DNS | 5353 | tcp/udp |
Agregamos los puertos requerido para Samba en la configuración de nuestro firewall.
firewall-cmd --permanent --add-port=53/tcp
firewall-cmd --permanent --add-port=53/udp
firewall-cmd --permanent --add-port=88/tcp
firewall-cmd --permanent --add-port=88/udp
firewall-cmd --permanent --add-port=135/tcp
firewall-cmd --permanent --add-port=137/tcp
firewall-cmd --permanent --add-port=137/udp
firewall-cmd --permanent --add-port=138/udp
firewall-cmd --permanent --add-port=139/tcp
firewall-cmd --permanent --add-port=389/tcp
firewall-cmd --permanent --add-port=389/udp
firewall-cmd --permanent --add-port=445/tcp
firewall-cmd --permanent --add-port=464/tcp
firewall-cmd --permanent --add-port=464/udp
firewall-cmd --permanent --add-port=636/tcp
firewall-cmd --permanent --add-port=1024-5000/tcp
firewall-cmd --permanent --add-port=1024-5000/udp
firewall-cmd --permanent --add-port=3268/tcp
firewall-cmd --permanent --add-port=3269/tcp
firewall-cmd --permanent --add-port=5353/tcp
firewall-cmd --permanent --add-port=5353/udp
Reiniciamos la configuración de nuestro firewall para que se apliquen los cambios.
# systemctl restart firewalld
Configuración de SELinux:
Aplicamos las políticas SELinux adecuadas al controlador de dominio Samba.
setsebool -P samba_domain_controller on
setsebool -P samba_enable_home_dirs on
Finalmente podemos realizar la instalación de Samba con el siguiente comando:
# yum install samba* -y
Dependency Installed:
avahi-libs.x86_64 0:0.6.31-20.el7
cups-libs.x86_64 1:1.6.3-43.el7
glusterfs.x86_64 0:6.0-29.el7
glusterfs-api.x86_64 0:6.0-29.el7
glusterfs-client-xlators.x86_64 0:6.0-29.el7
glusterfs-libs.x86_64 0:6.0-29.el7
libldb.x86_64 0:1.5.4-1.el7
libsmbclient.x86_64 0:4.10.4-11.el7_8
libtalloc.x86_64 0:2.1.16-1.el7
libtalloc-devel.x86_64 0:2.1.16-1.el7
libtdb.x86_64 0:1.3.18-1.el7
libtevent.x86_64 0:0.9.39-1.el7
libtevent-devel.x86_64 0:0.9.39-1.el7
libwbclient.x86_64 0:4.10.4-11.el7_8
pyldb.x86_64 0:1.5.4-1.el7
pytalloc.x86_64 0:2.1.16-1.el7
python-tdb.x86_64 0:1.3.18-1.el7
python-tevent.x86_64 0:0.9.39-1.el7
Complete!
Comprobamos la versión de Samba instalada con el siguiente comando:
# smbd -V
version 4.10.4