Ok este es el prototipo de un manual de samba4+openfired+squid q estoy elaborando. He usado muchas fuentes y algunas experiencias con los trastabillazos q he dado en el camino, espero te sea útil y me disculpen cualquier errata, supongo q están familiarizado con openfired, squid y herramientas de compilación del linux, para no caer en detalles e ir al grano.

necesitamos las fuentes del samba4.
a grandes rasgos desde un server debian recién instalado con las sources del kernel y herramientas de compilación agregadas:

o lo instalas o declaras en la compilación q no usarás ntp. Sugerencia: instalarlo.
apt-get install ntp

tu interfaz de red debe ser estática:
nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1

dns real del server declarado correctamente en correspondencia con tu dominio:
nano /etc/hosts
127.0.1.1 samba4.mydomain.com samba
192.168.1.2 samba4.mydomain.com samba

servidores dns..aqui una notica, no declares ninguno..solo la ip del servidor del samba4 al no ser q uses un bind9 como redireccionador, consejo: usar el dns interno del samba4.
nano /etc/resolv.conf
domain mydomain.com
search mydomain.com
nameserver 192.168.1.2

Dependencias primarias, entre ellas el servidor kerberos
apt-get install build-essential pkg-config libacl1 acl libacl1-dev
libblkid-dev libblkid1 attr libattr1 libattr1-dev libgnutls-dev
libreadline-dev python-dev python-dnspython gdb libpopt-dev
libldap2-dev dnsutils libbsd-dev krb5-user docbook-xsl libcups2-dev
libncurses-dev libpam0g-dev libdm0-dev libfam0 fam libfam-dev
xsltproc libnss3-dev docbook-xsl-doc-html docbook-xsl-ns

cuando pida reina kerberos, servidor kerberos y demás usas el FQDN
de tu dominio y los datos por defecto q ponga..

extraes el archivo samba-latest.tar.gz, supongamos en /root
tar -xzf samba-x.x.tar.gz para la compilación
cd samba-4.x.x
./configure
make (en dependencia de tu pc 8 minutos con un i3 de 3ra y 6 de ram)
make install (otros 6-9 minutos)
terminado ya esta listo todo.
exportamos unas variables para el consoleo:
export PATH=/usr/local/samba/bin:/usr/local/samba/sbin:$PATH
para automatizar esto, agregas todo esto al final del archivo /root/.bashrc del server

Haces un linkeado, ya q por defecto la instalación está en /usr/local/samba y no en /etc como debería ser.
ln -s /usr/local/samba/etc /etc/samba

generemos los datos para q el samba4 funcione:
samba-tool domain provision --use-rfc2307 --interactive
sigue los pasos...una cosita, la clave del administrator (fíjate en la t) ponla en mayúscula completa...y usa el "dns internal" del samba4 con "none" en servidor dns externo.

hagamos una copia del kerberos:
cd /etc/
cp krb5.conf krb5.conf.original
y verifica q esté tu dominio declarado en la variable REALM...debe de estar si declaraste bien en la configuración del server kerberos, sino es así, agrégalo..los ejemplos q trae te lo guian.

ahora viene lo bueno jejej..echemos a andar el samba4...a mi personalmente me gusta ejecutarlo en modo depuración para ver cualquier error en la parte inicial de configuración.
nmapea localhost o netstat para q veas q no hay  puertos abiertos
apt-get install byobu
ejecutas byobu
ctrl+f12

tendrás dos consolas...en la de arriba tipeas
samba -i
y en la consola de abajo le pasaremos los comandos...
si ejecutas samba -i y no hay ningún error verás algo como:
Copyright Andrew Tridgell and the Samba Team 1992-2013
samba: using 'standard' process model.

nmapea o netstat para q veas los servicios del samba4 corriendo (ahi estan los de mi squid y openfired, no se fijen en esos jeje):
nmap localhost
22/tcp    open  ssh
53/tcp    open  domain
80/tcp    open  http
88/tcp    open  kerberos-sec
111/tcp   open  rpcbind
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
389/tcp   open  ldap
445/tcp   open  microsoft-ds
464/tcp   open  kpasswd5
636/tcp   open  ldapssl
1024/tcp  open  kdm
3000/tcp  open  ppp
3128/tcp  open  squid-http
3268/tcp  open  globalcatLDAP
3269/tcp  open  globalcatLDAPssl
5222/tcp  open  xmpp-client
5269/tcp  open  xmpp-server
7070/tcp  open  realserver
7443/tcp  open  oracleas-https
7777/tcp  open  cbt
9090/tcp  open  zeus-admin
9091/tcp  open  xmltec-xmlmail
10000/tcp open  snet-sensor-mgmt

en la otra consola:
kinit administra...@samba4.mydomain.com
samba-tool user setexpiry administrator --noexpiry (deshabilitando la expiración de cuentas del administrator)
(fijate en los logs q va generando arriba el samba -i)

te aconsejo le eches un vistazo a samba-tools..es obligado familiarizarse con esos comandos.

personalmente solo uso el administrator para casos de depuración,
creo un usuario:
samba-tools user create admin
(pide la clave, esta ya puede ser como quieras,por su puesto con su nivel de complejidad)
samba-tool user setexpiry admin --noexpiry
agregémosle a los privilegios casi máximos la cuenta admin:
samba-tool group addmembers 'Domain Admins' admin
samba-tool group addmembers 'Enterprise Admins' admin
samba-tool group addmembers 'Domain Controllers' admin

y listo, levanta un xp o seven y agrégalo al dominio SAMBA4 del ejemplo..te pedirá user y clave de un administrador, por su puesto admin o puedes usar si deseas la cuenta Administrator y listo.

Puedes usar RSAT para la gestión de usuarios, grupos y políticas del dominio,etc desde el mismo windows en aras de facilitar la cosa...de todas formas el consoleo no está nada mal conocerlo..al final terminas usándolo igual...

uff hace rato no escribía tanto jajaja..

ahora conectemos un squid al ad del samba4 (supongo un apt-get install squid y funcional)

todo lo haré por los comandos de samba-tools pero con RSAT es todo a golpe de clic como si estuvieras en un AD sobre windows.

Creamos un grupo llamado Internet q son los q accederan al servicio y agregamos la cuenta admin:
samba-tool group add Internet
samba-tool group addmembers 'Internet' admin

vamos al squid.conf, comentas la autentificación q usabas antes y:

auth_param basic program /usr/lib/squid/ldap_auth -R -b "dc=SAMBA4,dc=MYDOMAIN,dc=COM" -D "cn=admin,cn=Users,dc=SAMBA4,dc=MYDOMAIN,dc=COM" -w "laclavedeladmin" -f sAMAccountName=%s -h 127.0.0.1
auth_param basic children 5
auth_param basic realm Proxy Server Squid
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive on

external_acl_type InetGroup %LOGIN /usr/lib/squid/squid_ldap_group -R -b "dc=SAMBA4,dc=MYDOMAIN,dc=COM" -D "cn=admin,cn=Users,dc=SAMBA4,dc=MYDOMAIN,dc=COM" -w "laclavedeladmin" -f "(&(objectclass=person)(sAMAccountName=%v)(memberof=cn=%a,cn=Users,dc=SAMBA4,dc=MYDOMAIN,dc=COM))" -h localhost

acl InetAccess external InetGroup Internet (el toque mágico)

acl localnet src 192.168.1.0/24
acl passwd proxy_auth REQUIRED

http_access allow localnet passwd InetAccess

Esto es una config muy global..pedirá clave para navegar a cualquiera q de la red 192.168.1.0/24. Puede tunearlo para q solo pida clave a determinadas ip y el resto no lo haga para navegación .cu, por horarios, etc...queda a sus imaginaciones.

/etc/init.d/squid restart y verifique q le piden clave y navega con el usuario admin..prueba agregar otro usuario fuerta del grupo y agrégalo al grupo Internet y verás los resultados.

Openfired ahora, supongo un openfired instalado de 0...
Crearemos el grupo q serán visibles todos los usuarios:
samba-tool group add Jabber
agregamos dos usuarios previamente ya creados a dicho grupo:
samba-tool group addmembers 'Jabber' pepe
samba-tool group addmembers 'Jabber' jose

cargamos por el navegador la instalación y reconfiguración del openfired desde un inicio...todo igual solo q al llegar a la la declaración de la base de datos internal seleccionas el tipo Directorio Activo (LDAP) y dale los datos correspondientes:
dc=SAMBA4,dc=MYDOMAIN,dc=COM
cn=admin,cn=Users,dc=SAMBA4,dc=MYDOMAIN,dc=COM
clave: tuclavedeladmin

Siguiente aceptar siguiente..(muy interactivo jejeje)

Si todo va bien, al pedirte agregar un usuario como administrador de openfire (la cuenta admin q creamos anteriormente o tu propia cuenta jabber) verás como debajo lo añade...si declaraste mal alguna variable arriba, o clave de admin, o usuario q no tienen permisos de administración, no te funcionará y tendrás q desinstalar el openfire en su etapa inicial y volver a iniciar el proceso desde 0.

Terminado este "dificultoso" paso openfire te dice q todo está ok y vas a consola de administración: http://192.168.1.2:9090 te logeas como admin con la clave y listo...declaras en grupo q sean visibles todos los del grupo Jabber y completo el tren del openfire.

Prueba conectarte con pidgin con los usarios pepe y jose y verás q serán visibles entre si.

Una nota, openfire accede en modo lectura al ldap del samba4, por lo q hay q crear los usuarios por RSAT, samba-tools o sea lo q uses para gestionar samba4

Los usuarios q se creen y no estén dentro del grupo Jabber podrán acceder desde el pidgin pero no verán a nadie porque sencillamente no están agregados al grupo Jabber.

A grandes rasgos esta es la idea del samba4 como AD+squid+openfired.

Un poco atropellado pero les aseguro q funciona...

Saludos!!!
--
Administrador de Redes
Nodo Provincial ESILT

                              OS: Debian 7.5 wheezy
          ,met$$$$$gg.        CPU: Intel Core i3-3220 CPU @ 3.3GHz
      ,g$$$$$$$$$$$$$$$P.     RAM: 2GB
    ,g$$P""       """Y$$.".   Kernel: i686 Linux 3.2.0-4-686-pae
   ,$$P'              `$$$.   Packages: 3429
  ',$$P       ,ggs.     `$$b: Shell: bash 4.2.37
  `d$$'     ,$P"'   .    $$$  Resolution: 1280x1024
   $$P      d$'     ,    $$P  DE: Gnome 3.4.2.1
   $$:      $$.   -    ,d$$'  WM: Mutter
   $$\;      Y$b._   _,d$P'   WM Theme: Adwaita
   Y$$.    `.`"Y$$$$P"'       GTK Theme: Adwaita [GTK3]
   `$$b      "-.__            Icon Theme: gnome-brave
    `Y$$                      Font: Cantarell 11
     `Y$$.                    Mail: Thunderbird
       `$$b.                  Browser: Mozilla
         `Y$$b.               TTY: nmap ssh mc dmesg htop nc mutt rsync
            `"Y$b._                iptraf dsniff gpm byobu rcconf irssi
                `""""              elinks make msfconsole iptables tail



--
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que est� limpio.

______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

Responder a