Samba 3 y Red Hat 9 para eliminar Win 2000 como Active Directory

Por: FERNANDO M. VILLARES TERÁN
Mail: fernando_AT_fernandovillares.com.ar


Problemática:

5 servers win 2000 con 10 licencias por Server que había que renovar este año costos por las nubes.

Saturación de capacidad y debido a nuestra realidad económica echaron a casi todos a lo cual se suma la falta de personal para atender 5 servers.

Ataques de virus cada vez mas seguido sobre la plataforma win 2000/xp que obliga a meter cuanto parche sale cada semana lo cual obliga a bajar servers 1 vez a la semana para estar al día.

Necesidades: centralización, seguridad, estabilidad, mejorar vulnerabilidad de la plataforma contra virus, rapidez, facilidad de backup, economía de costos ya sea en licencias así como en gastos sobre pc´s.

Implementación:

Estudie las capacidades de samba 3 sobre Fedora Core 2 sobre todo en el tema de validación de usuarios y simulación de un dominio de NT,
hice pruebas en mi notebook y funciono muy bien en mi red casera a la 1era vez de intentar, baje ciertas documentaciones de samba y la guía Unofficial de samba para aprender mas sobre bugs y performance, de allí saltamos directamente a la compra de una PC clon de alta potencia con todo para servir como Server de archivos: micro AMD athlon XP 2600 barton 512 mb ram DDR 400mhz - mother msi kt6delta con raid 0+1 serial ata - 4 discos serial ata seagate 120gb en raid 0 (stripping) a su vez espejado en otro array, placa de red 3com 1gbps funcionando a 100mbps sobre Lan switcheada 3com superstack.

Con ese bichito andando ya procedo a la instalación de Fedora Core 2 con servicios estándar aproveche y además le puse squid, caché dns y Server de mail sendmail por las dudas habilitando solo acceso vía ssh, instalo luego el samba 3.07 (ultima versión estable al momento) y parcheo todo lo que había disponible vía red hat network también por las dudas.

Para quien use a su vez firewall solo dejo abierto los siguientes puertos:

22 por el ssh para entrar a la PC

y estos 4 que usa Windows para compartir archivos (copiados tal cual del /etc/services


netbios-ns   137/udp #NETBIOS Name Service (used by nmbd) 
netbios-dgm  138/udp #NETBIOS Datagram Service (used by nmbd) 
netbios-ssn  139/tcp #NETBIOS Session Service (used by smbd) 
microsoft-ds 445/tcp #Direct-Hosted Service (used by smbd)

Pasos siguientes: crear el archivo /etc/smb.conf, definir parámetros de servidor de dominio, buffers, tipo de seguridad y todo lo que los manuales especifican, probándolo con el comando testparm...
acá va un ejemplito de modelo para el server que va a ser servidor primario de dominio....(léase PDC Primary domain controller)

[global]
        netbios name = primario
        preferred master = yes
        load printers = yes
        workgroup = dominio
        os level = 255
        max log size = 50
        hosts allow = 192.168. 10.
        printcap name = cups
        logon script = logon.bat
        domain logons = yes
        log file = /var/log/samba/%m.log
        local master = yes
        domain master = yes
        wins support = yes
        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
        username map = /etc/samba/smbusers
        smb passwd file = /etc/samba/smbpasswd
        encrypt passwords = yes
        server string = Linux Samba NT Server
        logon path = \\%L\profiles\%u\%m
[netlogon]
        comment = Scripts de Inicializacion
        path = /home/netlogon
        guest ok = yes
        browseable = no
[privado]
        comment = Directorio Particular de Usuario
        path = /home/%U
        browseable = yes
        writeable = yes
        map archive = yes
[publico]
        comment = Directorio Publico
        path = /home/publico
        browseable = yes
        writeable = yes
        guest ok = yes
        create mask = 0777
[profiles]
        comment = Directorio de profiles de Xp-2000
        path = /home/samba-ntprof
        browseable = no
        create mask = 0600
        writable = yes
        directory mask = 0700
[Hp3600]
        guest ok = yes
        writeable = yes
        path = /var/spool/samba
        printable = yes
        printing = cups
        printer = hp3600

No nos olvidemos de los permisos de carpetas...sino no funciona nada!!!

# mkdir -p /home/publico
# chmod 777 /home/publico
# mkdir -p /home/netlogon
# chmod 755 /home/netlogon

Ahora creo usuarios y grupos con su carpeta personal utilizando como script de login /sbin/nologin y luego de crear su carpeta cambiándola a /dev/null.

Ahora ponemos en su lugar el script de logon para los clientes donde se crean las carpetas compartidas.

Archivo /home/netlogon/logon.bat (háganlo en DOS o en WIN porque el vi de Linux no toma los retornos de carro como win).

(Donde asterisk seria el nombre de red de su pc Server de dominio)

net time \\asterisk /y
net use o: \\asterisk\privado /y
net use p: \\asterisk\publico /y
net use g: \\asterisk\GoldMine /y
deltree c:\windows\temp /y
cd \
cd windows
md temp
set temp = c:\windows\temp

Nos queda crear cada user en samba de la forma
#smbpasswd -m -a miUsuario donde miUsuario debe estar en la base de users de Linux y voilaaa ya tenemos todo listo para usar el linux como Server de dominio NT obvioprimero arranquemos el servicio SMB

# /usr/sbin/smbd -D 
# /usr/sbin/nmbd -D
o sino service smb restart

Ahora vamos a la PC cliente...en cliente de redes Microsoft® ponemos iniciar sesión en red Windows® NT® con el nombre de dominio que hayamos especificado en workgroup en el smb.conf y si
estamos en una vpn o subred con conexión a este Server agregamos su IP como servidor WINS y ya esta!!!!

En 10 minutos una PC que anda bastante mas rápido que un NT® y bajo GNU/LINUX!!!
Ahora vamos a lo buenopara poder sincronizar carpetas contra un Server de backup uso el rsync en esta PC como Server con esta config en /etc/rsync.conf

uid = root
gid = root
use chroot = yes
hosts allow = 10.10.7.0/24 192.168.0.0/24
max connections = 4
syslog facility = daemon
[archivos]
        path = /home

y arranco el servicio rsync....

Luego quedan 2 temas pendientes...

1)ANTIVIRUS...f-prot® en mi caso y agregue un script diario de actualización y escaneo con el nombre buscavirus en /etc/cron.daily

/check-updates.sh
f-prot -ai -dumb /home

2) Backups y redundancia...pongo otro Server idéntico en config al 1ero. pero le cambio esto en el smb.conf para convertirlo en BDC

[global]
        netbios name = backup
        preferred master = no
        load printers = yes
        workgroup = dominio
        os level = 60
        max log size = 50
        hosts allow = 192.168. 10.
        printcap name = cups
        logon script = logon.bat
        domain logons = yes
        log file = /var/log/samba/%m.log
        local master = no
        domain master = no
        wins server = diercción ip server primario
        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
        username map = /etc/samba/smbusers
        smb passwd file = /etc/samba/smbpasswd
        encrypt passwords = yes
        server string = Linux Samba NT Server
        logon path = \\%L\profiles\%u\%m

Luego procedo a sincronizar los 2 servers cada hora a través del rsync en el srver BDC (backup domain controller) metiendo este script en /etc/cron.hourly que yo llamo sincro

rsync -avz --delete-after --stats --timeout=3600 diripdelserverprimario::archivos /home

la sincro se hace increíblemente rápido aun en ambientes de VPN debido a que el rsync tiene un protocolo muy veloz que solo transmite cambios de informaciónademás la opción z en la línea de comandos hace que se comprima.

y para terminar en el cron.daily meto además un script que crea un tar de todas las carpetas del /home

cd /
tar xvfj backup.tar /home

de ahi grabo todo en dvd dual layer regrabables y se almacena en un lugar seguro lejos de esta instalación...

lo ideal seria hacerlo en DAT o cintas pero son caras y no me alcanza!!!!!

y ahi ya estamos a full!!!!

Espero les sirva
AUTOR: FERNANDO M. VILLARES TERÁN

Distribuir contenido

Office OpenXML (OOXML) no debe ser ISO 29500