lunes, 26 de enero de 2015

INSTALAR DEBMIRROR EN CENTOS

La construcción de un nuevo repositorio no es tarea fácil. Esta no es una réplica pública, y en lo personal no estoy interesado ​​en la duplicación de todas las versiones, sino sólo un puñado. Básicamente necesito una replica de:
CentOS 6 y 7 
EPEL 6 y 7 
Debian 6, 7 y 8
Canaima 4 y 4.1

En Cualquier caso, la construcción de un espejo de Debian y Canaima (o cualquier distro debían compatible) que no sea sólo un rsync de los repositorios de deb, en un huésped no DEBIAN no es trivial, pues al parecer, al igual que el uso inverso de algo que no sea rsync para duplicar repos yum en una distribución DEBIAN es un tema que al principio parece complicado. Sin embargo, he aquí la solución para no rompernos la cabeza en como unificar servidores:
Editar Sección

debmirror


DebMirror es en realidad un script en Perl. Para poder ejecutarlo instalamos los siguientes paquetes, en e mi caso fue un Centos 7, aunque en un 6 también es posible, pero ya esta metodología esta diseñada específicamente para centos 7.
yum install perl-libwww cpan bzip2 perl-Compress-Zlib perl-Digest-SHA1 perl-Net* rsync perl-LockFile-Simple wget perl-LockFile-Simple perl-IO-Compress perl-Compress-Raw-Zlib perl-Digest-MD5 perl-Digest-SHA perl-Net-INET6Glue perl-LWP-Protocol-https -y
wget http://archive.ubuntu.com/ubuntu/pool/universe/d/debmirror/debmirror_2.10ubuntu1.tar.gz
tar -xzvf debmirror_2.10ubuntu1.tar.gz


cd debmirror-2.10ubuntu1
cp debmirror /usr/local/bin/
cp debmirror.1 /usr/share/man/man1/
yum install cpan -y
cpan install Net::INET6Glue (no conseguirás esto en yum).
En una próxima entrega indicaré los scripts Necesarios para debian y canaima. La Primera sincronización se debe estár ejecutando en el momento que ejecuten los scripts. El siguiente paso es ver lo rápido que pasa una resincronización , y programarlo para que se ejecute diariamente. 

Actualización 2016: Se me ha dañado el repositorio, y al volverlo a instalar me he dado cuenta de que faltaban paquetes en el tutorial original, los mas importantes cpan y bzip2, pues sin ellos los archivos debian no funcionan y dan error.

Con estos comandos podrán usar debmirror

Nota Adicional:

Debido a la nueva arquitectura de metadata en ubuntu con carpetas DEP11, las versiones anteriores de debmirror y apt-mirror no descargan estos datos, por lo cual distribuciones como ubuntu 16 lts y derivadas no aceptan los repositorios locales.

para corregir este fallo se debe descargar el siguiente archivo:

wget http://archive.ubuntu.com/ubuntu/pool/universe/d/debmirror/debmirror_2.25ubuntu2.tar.xz

Descomprimir

tar Jxvf debmirror_2.25ubuntu2.tar.xz


Y pueden configurar en el script la ruta donde descargaron el archivo para que comprueben el buen funcionamiento de debmirror en mi caso fue en :

/root/debmirror-2.25ubuntu2

al hacerlo nos dará la siguiente salida:


/root/debmirror-2.25ubuntu2/debmirror: Created directory: dists/trusty/main/dep11/
/root/debmirror-2.25ubuntu2/debmirror: Created directory: .temp/dists/trusty/main/dep11/
/root/debmirror-2.25ubuntu2/debmirror: Created directory: dists/trusty/restricted/dep11/
/root/debmirror-2.25ubuntu2/debmirror: Created directory: .temp/dists/trusty/restricted/dep11/
/root/debmirror-2.25ubuntu2/debmirror: Created directory: dists/trusty/multiverse/dep11/
/root/debmirror-2.25ubuntu2/debmirror: Created directory: .temp/dists/trusty/multiverse/dep11/
/root/debmirror-2.25ubuntu2/debmirror: Created directory: dists/trusty/universe/dep11/
/root/debmirror-2.25ubuntu2/debmirror: Created directory: .temp/dists/trusty/universe/dep11/

¿QUÉ ES UN REPOSITORIO?

Un repositorio, depósito o archivo es un sitio centralizado donde se almacena y mantiene información digital, habitualmente bases de datos o archivos informáticos, pero para que nos entendamos, un repositorio es un lugar en Internet donde se almacena información, en el caso de los repositorios Linux esta información son programas.



Cada distribución tiene unos repositorios en los que están almacenados los programas diseñados para esta distribución, por lo que si necesitamos instalar un programa no tenemos que acceder al caótico Internet y buscarlo, lo podemos hacer directamente desde estos repositorios. Estos repositorios se mantienen por un equipo de la misma distribución, por lo que normalmente no vamos a tener ningún problema a la hora de instalar los programas. Ademas si algún software que tenemos instalado mediante este método es actualizado en los repositorios seremos avisados de la actualización disponible.
Para cada distribución tenemos un repositorio oficial en el que tenemos los programas mencionados, pero este no es el único repositorio al que podemos acceder, ya que cada sistema tiene una lista de repositorios disponibles que podemos modificar añadiendo o quitando mas tipos de repositorios ( multimedia, seguridad, para desarrolladores, etc.).
La lista de repositorios 
Los sistemas Linux tienen un archivo en el que se almacena la lista de repositorios a los que podemos acceder mediante nuestro gestor de paquetes para instalar el software. Este fichero se situá en la ubicación /etc/nombredelgestor/ donde nombre del gestor normalmente suele ser el nombre del gestor de paquetes de nuestro sistema. Por ejemplo en Ubuntu estaría en /etc/apt/sources.list, en Archlinux se encuentra en /etc/pacman.d/mirrorlist y en Fedora en /etc/yum.repos.d/fedora.repo.

Ejemplo del contenido de uno de estos archivos ( Debian ):
deb http://http.debian.net/debian wheezy main 
deb-src http://http.debian.net/debian wheezy main

deb http://http.debian.net/debian wheezy-updates main 
deb-src http://http.debian.net/debian wheezy-updates main

deb http://security.debian.org/ wheezy/updates main 
deb-src http://security.debian.org/ wheezy/updates main


Podemos añadir o quitar repositorios manualmente en este archivo pero también se puede hacer mediante interfaz gráfica.
Editar Sección

¿ Muy bien, y como los utilizo ?



Si nos queremos comunicar con los repositorios lo vamos a tener que hacer mediante un gestor de paquetes, un gestor de paquetes a rasgos generales es una herramienta que nos ayuda con la instalación, actualización, configuración y eliminación de paquetes en nuestro sistema. Las diferentes familias de distribuciones utilizan diferentes gestores de paquetes y dependiendo del gestor que utilice nuestra distribución nos vamos a conectar de diferente manera ( muy similar ), tanto en linea de comandos como en la interfaz gráfica.

domingo, 25 de enero de 2015

CONFIGURACIÓN BIND9 ADS

Esta guía describirá cómo autenticar contra servidores de Active Directory utilizando BIND9 sin actualizaciones de DNS dinámico (DDNS).
Esta solución ES compatible con Windows Server 2000 y 2003 y server 2008 en los esquemas de Active Directory.

Idenfificación de IP requeridas y Host Name Información
Nombre de dominio completo (FQDN) de su dominio de Active Directory:
ex: eleyzam.com
IP de los servidores de Active Directory:
por ejemplo: 192.168.200.2
por ejemplo: 192.168.200.3
Nombre de servidores de Active Directory:
ex: ads01
ex: ads02
Nombre del Servidor DNS
ex: ads01
ex: ads02
IP del servidor DNS
192.168.200.14

Ver GUID de dominio
El GUID de dominio es un GUID estático para el directorio de nombres de dominio.
Para obtener el GUID de dominio, abra una ventana CMD en el servidor de Active Directory de Windows y escriba:
repadmin /showreps ServerName

al ejecutar este comando se imprimiran en pantalla los siguientes datos

Opciones de DSA: IS_GC
Opciones de sitio: (none)
GUID del objeto DSA: 5d4cf62e-0ba2-4259-b1ef-b2502a3867b6
Id. de invocación de DSA: 5a8bfb19-d996-45fb-b9cf-377d410cc729
==== VECINOS DE ENTRADA ======================================

DC=eleyzam,Dc=com
    eleyzam\ADS02 vía RPC
        GUID del objeto DSA: 80f2e338-c293-4d3c-95d3-e702b98c09a4
        El último intento, efectuado el 2014-09-05 12:19:35, se completó correctamente.

CN=Configuration,DC=eleyzam,Dc=com
    eleyzam\ADS02 vía RPC
        GUID del objeto DSA: 80f2e338-c293-4d3c-95d3-e702b98c09a4
        El último intento, efectuado el 2014-09-05 12:07:58, se completó correctamente.

CN=Schema,CN=Configuration,DC=eleyzam,Dc=com
    eleyzam\ADS02 vía RPC
        GUID del objeto DSA: 80f2e338-c293-4d3c-95d3-e702b98c09a4
        El último intento, efectuado el 2014-09-05 12:07:59, se completó correctamente.

DC=DomainDnsZones,DC=eleyzam,Dc=com
    eleyzam\ADS02 vía RPC
        GUID del objeto DSA: 80f2e338-c293-4d3c-95d3-e702b98c09a4
        El último intento, efectuado el 2014-09-05 12:07:59, se completó correctamente.

DC=ForestDnsZones,DC=eleyzam,Dc=com
    eleyzam\ADS02 vía RPC
        GUID del objeto DSA: 80f2e338-c293-4d3c-95d3-e702b98c09a4
        El último intento, efectuado el 2014-09-05 12:07:59, se completó correctamente.

En este caso las UID son del servidor ADS Primario y los vecinos sería el de respaldo.


Alias ​​GUID
El Alias ​​GUID DNS es necesario cuando hay varios servidores de Active Directory en un solo dominio. Esto ayudará a Active Directory a replicar entre servidores.


Configure el archivo de zona
Vamos a utilizar la instalación de Debian 7 BIND9 para los siguientes ejemplos.
Utilice un editor de texto para crear y modificar el archivo siguiente (requiere privilegios de root para crear y modificar) o el uso de webmin
buscamos "/etc/bind/named.conf.local"
//===================ACTIVE DIRECTORY=========================       

        zone "eleyzam.com" {
                type master;
                file "/var/cache/bind/db.eleyzam.com.interno";
                };

luego editamos dicho archivo, agregando la siguiente información

;
; archivo BIND para zona eleyzam.com
;
$TTL    604800
@    IN    SOA    eleyzam.com. hostmaster.igvsv.com.ve. (
            2014030631
            1200
            300
            2419200
            1200 )
eleyzam.com.                    IN    NS    ads01.eleyzam.com
eleyzam.com.                    IN    NS    ads02.eleyzam.com
eleyzam.com.                IN    MX    1 mail.eleyzam.com.
eleyzam.com.                IN    TXT    "v=spf1 mx -all"
eleyzam.com.                   IN      SPF     "v=spf1 mx -all"   

;Servidores DNS

eleyzam.com.                    IN    A       192.168.200.2
ads01.eleyzam.com    IN    A    192.168.200.2
ads02.eleyzam.com    IN    A       192.168.200.3


;Servicios ADS

_ldap._tcp.eleyzam.com. SRV 0 0 389 ads01.eleyzam.com
_ldap._tcp.eleyzam.com. SRV 0 0 389 ads02.eleyzam.com
_ldap._tcp.dc._msdcs.eleyzam.com. SRV 0 0 389 ads01.eleyzam.com
_ldap._tcp.dc._msdcs.eleyzam.com. SRV 0 0 389 ads02.eleyzam.com

_ldap._tcp.5d4cf62e-0ba2-4259-b1ef-b2502a3867b6.domains._msdcs.eleyzam.com. SRV 0 0 389 ads01.eleyzam.com
_ldap._tcp.80f2e338-c293-4d3c-95d3-e702b98c09a4.domains._msdcs.eleyzam.com. SRV 0 0 389 ads02.eleyzam.com

_ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.eleyzam.com. SRV 0 0 389 ads01.eleyzam.com
_ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.eleyzam.com. SRV 0 0 389 ads02.eleyzam.com
_ldap._tcp._sites.dc._msdcs.eleyzam.com. SRV 0 0 389 ads01.eleyzam.com
_ldap._tcp._sites.dc._msdcs.eleyzam.com. SRV 0 0 389 ads02.eleyzam.com
_ldap._tcp.Default-First-Site-Name._sites.eleyzam.com. SRV 0 0 389 ads01.eleyzam.com
_ldap._tcp.Default-First-Site-Name._sites.eleyzam.com. SRV 0 0 389 ads02.eleyzam.com
_ldap._tcp.Default-First-Site-Name._sites.ForestDnsZones.intranet.domain.com SRV 0 0 389 ads01.eleyzam.com
_ldap._tcp.Default-First-Site-Name._sites.DomainDnsZones.intranet.domain.com SRV 0 0 389 ads01.eleyzam.com
_ldap._tcp.DomainDnsZones.intranet.domain.com SRV 0 0 389 ads01.eleyzam.com
_ldap._tcp.ForestDnsZones.intranet.domain.com SRV 0 0 389 ads01.eleyzam.com

;This record list which one you consider your Primary Controller if you have more then one AD server
_ldap._tcp.pdc._msdcs.eleyzam.com. SRV 0 0 389 ads01.eleyzam.com


ForestDnsZones.eleyzam.com. A 192.168.200.2
DomainDnsZones.eleyzam.com. A 192.168.200.3

_kpasswd._udp.eleyzam.com. SRV 0 0 464 ads01.eleyzam.com
_kpasswd._udp.eleyzam.com. SRV 0 0 464 ads02.eleyzam.com
_kpasswd._tcp.eleyzam.com. SRV 0 0 464 ads01.eleyzam.com
_kpasswd._tcp.eleyzam.com. SRV 0 0 464 ads02.eleyzam.com

_kerberos._tcp.eleyzam.com. SRV 0 0 88 ads01.eleyzam.com
_kerberos._udp.eleyzam.com. SRV 0 0 88 ads01.eleyzam.com
_kerberos._tcp.eleyzam.com. SRV 0 0 88 ads02.eleyzam.com
_kerberos._udp.eleyzam.com. SRV 0 0 88 ads02.eleyzam.com
_kerberos._tcp.dc._msdcs.eleyzam.com. SRV 0 0 88 ads01.eleyzam.com
_kerberos._tcp.dc._msdcs.eleyzam.com. SRV 0 0 88 ads02.eleyzam.com
_kerberos._udp.dc._msdcs.eleyzam.com. SRV 0 0 88 ads01.eleyzam.com
_kerberos._udp.dc._msdcs.eleyzam.com. SRV 0 0 88 ads02.eleyzam.com
_kerberos._tcp.Default-First-Site-Name._sites.eleyzam.com. SRV 0 0 88 ads01.eleyzam.com
_kerberos._tcp.Default-First-Site-Name._sites.eleyzam.com. SRV 0 0 88 ads02.eleyzam.com
_kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.eleyzam.com. SRV 0 0 88 ads01.eleyzam.com
_kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs.eleyzam.com. SRV 0 0 88 ads02.eleyzam.com
_kerberos._tcp._sites.dc._msdcs.eleyzam.com. SRV 0 0 88 ads01.eleyzam.com
_kerberos._tcp._sites.dc._msdcs.eleyzam.com. SRV 0 0 88 ads02.eleyzam.com

_ldap._tcp.Default-First-Site-Name._sites.gc._msdcs.eleyzam.com. SRV 0 0 3268 ads01.eleyzam.com
_ldap._tcp.Default-First-Site-Name._sites.gc._msdcs.eleyzam.com. SRV 0 0 3268 ads02.eleyzam.com
_ldap._tcp.gc._msdcs.eleyzam.com. SRV 0 0 3268 ads01.eleyzam.com
_ldap._tcp.gc._msdcs.eleyzam.com. SRV 0 0 3268 ads02.eleyzam.com


_gc._tcp.Default-First-Site-Name._sites.eleyzam.com. SRV 0 0 3268 ads01.eleyzam.com
_gc._tcp.Default-First-Site-Name._sites.eleyzam.com. SRV 0 0 3268 ads02.eleyzam.com
_gc._tcp.eleyzam.com. SRV 0 0 3268 ads01.eleyzam.com
_gc._tcp.eleyzam.com. SRV 0 0 3268 ads02.eleyzam.com


5d4cf62e-0ba2-4259-b1ef-b2502a3867b6._msdcs.eleyzam.com. 600 IN CNAME ADS01.eleyzam.com
80f2e338-c293-4d3c-95d3-e702b98c09a4._msdcs.eleyzam.com. 600 IN CNAME ADS02.eleyzam.com

Guardamos el archivo, verificamos si bind9 acepta la configuración sin errores y procedemos a probar con una instalación de windows si funciona nuestra configuración.



CREAR LVM PARA CARPETA OPT DE ZIMBRA

He aquí una guía rápida para la creación por LVM de el volumen OPT Zimbra
sudo su

fdisk -l 
pvcreate /dev/xvdc 
vgcreate /dev/xvdc 
vgcreate zcs01 /dev/xvdc 
lvcreate -L 500G --name zimbra zcs01 
mkfs.ext4 /dev/mapper/zcs01-zimbra 
mount /dev/mapper/zcs01-zimbra /opt/ 
nano /etc/fstab
#
# /etc/fstab
# Created by anaconda on Fri May 23 16:47:05 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-lv_root /                       ext4    defaults        1 1
UUID=7ab2aa7d-8247-407f-a114-b0c9dd3bcb60 /boot                   ext4    defaults        1 2
/dev/mapper/VolGroup-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/mapper/zcs01-zimbra /opt                   ext4    defaults        0 0
Edit Plugin:code
Ver estatus de los volumenes montados
df -h
Edit Plugin:code