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
- Secciones: