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.
- 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
- 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.
- Configuración del archivo host:
Ediatamos el archivo hosto para coloar nuestra dirección FQDN
nano /etc/hosts
Colocamos
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
Si solo tenemos una red (caso simple)
127.0.0.1 ads01.ad.corpodelagro.gob.ve ads01 localhost localhost.localdomain
192.168.10.6 ads01.ad.corpodelagro.gob.ve ads01
- 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
nota: lo tachado es para no redundar en cuanto a las configuraciones pues recordemos se estan dando dos ejemplos posibles al mismo tiempo.
Ejecutar los siguientes comandos para abrir los puertos de cara a los usuarios
firewall-cmd --add-port=53/tcp --permanent;firewall-cmd --add-port=53/udp --permanent;firewall-cmd --add-port=88/tcp --permanent;firewall-cmd --add-port=88/udp --permanent; \
firewall-cmd --add-port=135/tcp --permanent;firewall-cmd --add-port=137-138/udp --permanent;firewall-cmd --add-port=139/tcp --permanent; \
firewall-cmd --add-port=389/tcp --permanent;firewall-cmd --add-port=389/udp --permanent;firewall-cmd --add-port=445/tcp --permanent; \
firewall-cmd --add-port=464/tcp --permanent;firewall-cmd --add-port=464/udp --permanent;firewall-cmd --add-port=636/tcp --permanent; \
firewall-cmd --add-port=1024-5000/tcp --permanent;firewall-cmd --add-port=3268-3269/tcp --permanent
firewall-cmd --reload
- Instalar las dependencias para la compilación
yum install epel-release -y
yum --enablerepo=extras
install centos-release-scl
yum groups -y install "Development Tools"
Segun el blog de samba (para 4.10 o superiores)
#!/bin/bash
#
# This file is generated by 'bootstrap/template.py --render'
# See also bootstrap/config.py
#
set -xueo pipefail
yum update -y
yum install -y epel-release
yum update -y
yum install -y \
"@Development Tools" \
acl \
attr \
autoconf \
avahi-devel \
bind-utils \
binutils \
bison \
cups-devel \
curl \
dbus-devel \
docbook-dtds \
docbook-style-xsl \
flex \
gawk \
gcc \
gdb \
git \
glib2-devel \
glibc-common \
gnutls-devel \
gpgme-devel \
gzip \
hostname \
htop \
jansson-devel \
keyutils-libs-devel \
krb5-devel \
krb5-server \
lcov \
libacl-devel \
libaio-devel \
libarchive-devel \
libattr-devel \
libblkid-devel \
libbsd-devel \
libcap-devel \
libicu-devel \
libnsl2-devel \
libpcap-devel \
libsemanage-python \
libtasn1-devel \
libtasn1-tools \
libtirpc-devel \
libunwind-devel \
libuuid-devel \
libxslt \
lmdb \
lmdb-devel \
make \
mingw64-gcc \
ncurses-devel \
nettle-devel \
openldap-devel \
pam-devel \
patch \
perl-Archive-Tar \
perl-ExtUtils-MakeMaker \
perl-JSON-Parse \
perl-Parse-Yapp \
perl-Test-Base \
perl-core \
perl-generators \
perl-interpreter \
pkgconfig \
policycoreutils-python \
popt-devel \
procps-ng \
psmisc \
pygpgme \
python-crypto \
python-devel \
python-dns \
python-markdown \
python36 \
python36-crypto \
python36-devel \
python36-dns \
dnf \
nano \
fail2ban \
python36-markdown \
quota-devel \
readline-devel \
redhat-lsb \
rng-tools \
rpcgen \
rsync \
sed \
sudo \
systemd-devel \
tar \
tree \
which \
xfsprogs-devel \
yum-utils \
zlib-devel
yum clean all
if [ ! -f /usr/bin/python3 ]; then
ln -sf /usr/bin/python3.6 /usr/bin/python3
fi
Este era para samba 4.9 (con el que probé y esta funcionando)
yum install -y \
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 \
bind-utils \
dnf \
nano \
fail2ban \
ntpdate \
iniparser \
libldb \
libtalloc \
libtdb \
libtevent \
python-devel \
gnutls-devel \
libacl-devel \
openldap-devel \
pam-devel \
readline-devel \
krb5-devel \
cups-devel \
attr \
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
- Descargar Samba desde los repositorios
Samba 4.9, Probado y funcional
curl -O https://download.samba.org/pub/samba/stable/samba-4.9.4.tar.gz
Samba 4.10
curl -O https://download.samba.org/pub/samba/stable/samba-4.10.5.tar.gz
Samba 4.10 Pendiente de actualizar o instalar. Lo intente desde samba 4.9 y me dio error, aunque debo admitir que no habia leido el archivo de samba actualizado a 4.10 donde nos coloca esto:
if [ ! -f /usr/bin/python3 ]; then
ln -sf /usr/bin/python3.6 /usr/bin/python3
fi
- Descomprimir e ir al directorio
Samba 4.9
tar zxvf samba-4.9.4.tar.gz
cd samba-4.9.4
Samba 4.10
tar zxvf samba-4.10.5.tar.gz
cd samba-4.10.5
configurar:
./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
- Compliar e instalar
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