<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3419696413132675684</id><updated>2012-01-16T08:55:51.567-08:00</updated><category term='º'/><title type='text'>El blog del Pheriko y Unix/Linux!!!</title><subtitle type='html'>Hola que tal, mi nombre es Pedro Moreno, soy Ingeniero en Sistemas Computacionales. He vivido y sigo viviendo en la bella ciudad de Tijuana, B.C., Mexico. Mi edad hasta ahorita es de 29 años y contando. Este blog lo voy a utilizar para ir contando las altas y bajas que tengo con los sistemas operativos que tanto aprecio como lo son Unix/Linux en especial FreeBSD/Centos. No quiero llevarme lo poco que se de ellos, por ello prefiero aqui plasmarlo aqui.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>82</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-7002318949086040384</id><published>2011-12-29T12:59:00.000-08:00</published><updated>2011-12-30T11:35:02.282-08:00</updated><title type='text'>Centos 5:Xen PCI Passthrough USB</title><content type='html'>&lt;div class="tr_bq" style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Hola, existen ocaciones donde necesitamos que nuestra maquina virtual pueda hacer uso de puertos como el USB, en mi caso de nuevo necesito que mi hvm pueda yo conectarle una memoria USB para que un software especifico funcione.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; El sistema que maneja recursos humanos que es muy usando en la empresas grandes llamado Tress hace uso de una memoria USB tipo HASP como candado de seguridad.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Entonces si deseamos virtualizar el servidor donde se ejecuta el Tress necesitamos este opcion disponible en nuestra HVM.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Pase varias semanas batallando esto, ya que uno se enfrenta a distintos obstaculos, entre ellas la mas critica y dificil que encontre:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Falta de documentacion por parte de los fabricantes tanto de placas madres como de procesadores.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Por que comento esto de los fabricantes de placas madres?, he logrado esto con 2 placas distintas:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Una tipo desktop:&lt;/div&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-size: x-small;"&gt;MoBo: &lt;b&gt;SABERTOOTH+990FX&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Procesador: &lt;b&gt;AMD Athlon II 640&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Dicen los de soporte de la MoBo que si esta habilitada la opcion, pero nunca la encontre, me comunique con ellos y dicen que no pueden arreglar el BIOS.&lt;/div&gt;&lt;br /&gt;&amp;nbsp; AMD esta en las mismas, la doc no dice nada de este dato.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Para no perder el chip me fui por la que sigue: &lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-size: x-small;"&gt;MoBo:Asus &lt;b&gt;M4A89TD PRO/USB3&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;Procesador: &lt;b&gt;AMD Athlon II 640&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; En esta si aparece la opcion en el BIOS para habilitar esta funcion, probe Xen 4.1.1 de gitco y gracias a el cielo que Xen me dio el mensaje esperado:&lt;/div&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size: x-small;"&gt;(XEN) I/O &lt;b&gt;virtualisation enabled&lt;/b&gt;&lt;br /&gt;(XEN) I/O&lt;b&gt; virtualisation for PV guests disabled&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Ya con el simple hecho de que nos de este mensaje ya es ventaja, no me interesa que mi PV no pueda ya que no tengo nada en ellas que lo requiera, bien en la 1er placa actualice el BIOS hasta la ultima version y nada de nada asi que no quice perder mas mi tiempo, por ello mejor me fui por la segura.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp; Esto me funciono en Centos 5.x, Xen 3.4.1,4.1 sin problemas, algo que note es que solo la v 1.1 del USB fue soportada, y las versiones de windows:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;XP Pro xp3&lt;/li&gt;&lt;li&gt;Windows 7 Pro&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Otro detalle fue que windows 7, probe varias memorias USB y algunas si funcionaron otras no, pero lo que mas llamo la atencion que la memoria HASP que un programa llamado LabelView de www.teklynx.com no funciono.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Pero mi plan era que el software llamado: Darwin de www.vanguardiatec.com funcionara y.... funciono, usa igual que el anterior una memoria HASP USB, entonces en este momento lo estan usando usando sin problemas.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Ahora la siguiente tarea que encontre fue, puedo virtualizar windows 2003(sin problemas) y que tenga soporte de USB?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; En este caso ya no estamos hablando de un equipo tipo desktop, aqui ya es una placa servidor, siempre estas van a tener mejor electronica que una desktop por ello las separan.&lt;/div&gt;&lt;br /&gt;Este es el equipo de SuperMicro:&lt;br /&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;SuperServer 5026T-TB&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Siempre hemos sido amantes de esta marca, no le pide nada a Dell, HP, IBM, es mas economica y se codea con ellos, la diferencia que aun en Mexico no existe una distribucion directa, todo viene de USA.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Haste eso que el soporte es excelente y no tienes pasar por una PBX&amp;nbsp; que hace una infinidad de preguntas y siempre estan dispuestos a ayudarte.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; El procesador es una Intel Xeon E5649 con memoria ECC 1333Mhz.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Dice la doc de Xen que tanto el MoBo como el CHIP deben tener soporte para que esta operacion funcione, por parte de la MoBo habia soporte, la doc de Intel como todas las demas, hasta AMD carece de informacion detallada.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Me comunique via char con el soporte de Intel, y el hizo lo mismo que uno del ambito haria antes de preguntar, leer la documentacion del chip, ahi no venia nada al respecto, espere un poco y me dice "No tiene soporte", ok gracias.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Entonces, ya era cuestion de probar por mi cuenta, por que en la lista de Xen, alguien comento que tenia algunos servidores con el chips de la familia 5600 y aparecia que si le aparecia el mensaje en su consola de:&lt;/div&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;(XEN) I/O virtualisation enabled&lt;/b&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div style="text-align: justify;"&gt;Pero no mostraba que chips, por ello no quedo otra que mancharme las manos.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Entonces ya fue mucho rollo, vamos a ver como habilitar esto en Xen:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;NOTA1: Este procedimiento es igual para todos los chips o MoBo.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;NOTA2: Xen 4.x no necesita el paso 1, ya viene por default.&lt;/div&gt;&lt;br /&gt;1; Si usan Xen anterior a 4.x deben habilitar la opcion en su kernel asi:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;kernel /xen.gz-3.4.3 dom0_max_vcpus=2 dom0_vcpus_pin dom0_mem=1024MB iommu=1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Xen 4.x ya lo tiene.&lt;br /&gt;&lt;br /&gt;Reiniciar el server.&lt;br /&gt;&lt;br /&gt;2; Asegurarse antes de nada que aparezca el mensaje esperado cuando ejecuten el comando: xen dmesg.&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;(XEN) I/O virtualisation enabled&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;Si no aparece esto, ni le sigan.&lt;br /&gt;&lt;br /&gt;2; Detectar la direccion de nuestro puerto USB.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Aqui estoy hablando de un puerto USB, pero aplica a los puertos que desean enviar, video, paralelo, etc, etc.&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Ahora como puedo yo saber cual es la direccion de una puerto USB especifico?&lt;/div&gt;&lt;br /&gt;Existe un comando poco usado llamado:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;udevmonitor&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Este comando lo que hace es monitorear los puertos para ver en consola que estamos conectando, cuando conectamos una memoria USB aparece esto en pantalla:&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;UEVENT[1325036667.645024] add@/devices/pci0000:00/0000:00:1a.7/usb1/1-2&lt;br /&gt;UEVENT[1325036667.645051] add@/devices/pci0000:00/0000:00:1a.7/usb1/1-2/usbdev1.3_ep00&lt;br /&gt;UEVENT[1325036667.645235] add@/devices/pci0000:00/0000:00:1a.7/usb1/1-2/1-2:1.0&lt;br /&gt;UEVENT[1325036667.645245] add@/class/scsi_host/host5&lt;br /&gt;UEVENT[1325036667.645251] add@/devices/pci0000:00/0000:00:1a.7/usb1/1-2/1-2:1.0/usbdev1.3_ep01&lt;br /&gt;UEVENT[1325036667.645257] add@/devices/pci0000:00/0000:00:1a.7/usb1/1-2/1-2:1.0/usbdev1.3_ep82&lt;br /&gt;UEVENT[1325036667.645264] add@/devices/pci0000:00/0000:00:1a.7/usb1/1-2/1-2:1.0/usbdev1.3_ep83&lt;br /&gt;UEVENT[1325036667.645270] add@/class/usb_device/usbdev1.3&lt;br /&gt;UDEV&amp;nbsp; [1325036667.656886] add@/devices/pci0000:00/0000:00:1a.7/usb1/1-2&lt;br /&gt;UDEV&amp;nbsp; [1325036667.764765] add@/devices/pci0000:00/0000:00:1a.7/usb1/1-2/usbdev1.3_ep00&lt;br /&gt;UDEV&amp;nbsp; [1325036668.179955] add@/devices/pci0000:00/0000:00:1a.7/usb1/1-2/1-2:1.0&lt;br /&gt;UDEV&amp;nbsp; [1325036668.389248] add@/class/scsi_host/host5&lt;br /&gt;UDEV&amp;nbsp; [1325036668.400871] add@/devices/pci0000:00/0000:00:1a.7/usb1/1-2/1-2:1.0/usbdev1.3_ep82&lt;br /&gt;UDEV&amp;nbsp; [1325036668.400884] add@/devices/pci0000:00/0000:00:1a.7/usb1/1-2/1-2:1.0/usbdev1.3_ep83&lt;br /&gt;UDEV&amp;nbsp; [1325036668.400891] add@/devices/pci0000:00/0000:00:1a.7/usb1/1-2/1-2:1.0/usbdev1.3_ep01&lt;br /&gt;UDEV&amp;nbsp; [1325036668.546698] add@/class/usb_device/usbdev1.3&lt;br /&gt;UEVENT[1325036672.644024] add@/devices/pci0000:00/0000:00:1a.7/usb1/1-2/1-2:1.0/host5/target5:0:0/5:0:0:0&lt;br /&gt;UEVENT[1325036672.644042] add@/class/scsi_disk/5:0:0:0&lt;br /&gt;UEVENT[1325036672.770313] add@/block/sdg&lt;br /&gt;UEVENT[1325036672.770326] add@/class/scsi_device/5:0:0:0&lt;br /&gt;UEVENT[1325036672.770333] add@/class/scsi_generic/sg7&lt;br /&gt;UDEV&amp;nbsp; [1325036672.894515] add@/devices/pci0000:00/0000:00:1a.7/usb1/1-2/1-2:1.0/host5/target5:0:0/5:0:0:0&lt;br /&gt;UDEV&amp;nbsp; [1325036673.105483] add@/class/scsi_disk/5:0:0:0&lt;br /&gt;UDEV&amp;nbsp; [1325036673.108784] add@/class/scsi_generic/sg7&lt;br /&gt;UDEV&amp;nbsp; [1325036673.314546] add@/class/scsi_device/5:0:0:0&lt;br /&gt;UDEV&amp;nbsp; [1325036673.399994] add@/block/sdg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Vamos buscar nuestro puerto:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;UEVENT[1325036667.645024] add@/devices/pci0000:00/&lt;b&gt;0000:00:1a.7&lt;/b&gt;/usb1/1-2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ahora vamos a compararlo con el listado de Centos:&lt;br /&gt;&lt;br /&gt;lspci&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;00:00.0 Host bridge: Intel Corporation 5520/5500/X58 I/O Hub to ESI Port (rev 22)&lt;br /&gt;00:01.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 1 (rev 22)&lt;br /&gt;00:03.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 3 (rev 22)&lt;br /&gt;00:05.0 PCI bridge: Intel Corporation 5520/X58 I/O Hub PCI Express Root Port 5 (rev 22)&lt;br /&gt;00:07.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 7 (rev 22)&lt;br /&gt;00:09.0 PCI bridge: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 9 (rev 22)&lt;br /&gt;00:14.0 PIC: Intel Corporation 5520/5500/X58 I/O Hub System Management Registers (rev 22)&lt;br /&gt;00:14.1 PIC: Intel Corporation 5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers (rev 22)&lt;br /&gt;00:14.2 PIC: Intel Corporation 5520/5500/X58 I/O Hub Control Status and RAS Registers (rev 22)&lt;br /&gt;00:14.3 PIC: Intel Corporation 5520/5500/X58 I/O Hub Throttle Registers (rev 22)&lt;br /&gt;00:16.0 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 22)&lt;br /&gt;00:16.1 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 22)&lt;br /&gt;00:16.2 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 22)&lt;br /&gt;00:16.3 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 22)&lt;br /&gt;00:16.4 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 22)&lt;br /&gt;00:16.5 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 22)&lt;br /&gt;00:16.6 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 22)&lt;br /&gt;00:16.7 System peripheral: Intel Corporation 5520/5500/X58 Chipset QuickData Technology Device (rev 22)&lt;br /&gt;00:1a.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4&lt;br /&gt;00:1a.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5&lt;br /&gt;00:1a.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6&lt;br /&gt;&lt;b&gt;00:1a.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2&lt;/b&gt;&lt;br /&gt;00:1c.0 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 1&lt;br /&gt;00:1c.1 PCI bridge: Intel Corporation 82801JI (ICH10 Family) PCI Express Port 2&lt;br /&gt;00:1d.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1&lt;br /&gt;00:1d.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2&lt;br /&gt;00:1d.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3&lt;br /&gt;00:1d.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1&lt;br /&gt;00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 90)&lt;br /&gt;00:1f.0 ISA bridge: Intel Corporation 82801JIR (ICH10R) LPC Interface Controller&lt;br /&gt;00:1f.2 IDE interface: Intel Corporation 82801JI (ICH10 Family) 4 port SATA IDE Controller #1&lt;br /&gt;00:1f.3 SMBus: Intel Corporation 82801JI (ICH10 Family) SMBus Controller&lt;br /&gt;00:1f.5 IDE interface: Intel Corporation 82801JI (ICH10 Family) 2 port SATA IDE Controller #2&lt;br /&gt;06:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection&lt;br /&gt;07:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection&lt;br /&gt;08:01.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1010 66MHz&amp;nbsp; Ultra3 SCSI Adapter (rev 01)&lt;br /&gt;08:04.0 VGA compatible controller: Matrox Graphics, Inc. MGA G200eW WPCM450 (rev 0a)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Ya dimos y confirmamos que es la direccion que necesitamos.&lt;br /&gt;&lt;br /&gt;3; Habilitar el modulo pciback en el kernel.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Este modulo ni RedHat ni Centos lo tienen compilado en el kernel,xen para ello tenemos 2 opciones:&lt;/div&gt;&lt;br /&gt;A) Agregarlo&lt;br /&gt;B) Compilar el kernel xen y habilitarlo.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Yo me voy por la mas rapida la A, para esto tenemos que hacer lo siguente.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;1.1 Esconder del Host el puerto requerido, ya tenemos la direccion que necesitamos, para esto modificamos el archivo modprobe.conf que esta en&amp;nbsp; /etc y agregamos esta linea a el final: &lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;options pciback hide=(00:1a.7)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Salvamos y salimos, como podran ver es la direccion que obtuvimos anteriormente cuando ejecutamos udevmonitor.&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;1.2 Agregamos el modulo a nuestro modulo initrd para que cada que reinicie lo cargue antes de darnos la consola del poder.&lt;/div&gt;&lt;br /&gt;Nos vamos a el folder boot:&lt;br /&gt;&lt;br /&gt;cd /boot&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;NOTA 3: Por seguridad hacer una copia del initrd actual por si algo sale mal:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;cp initrd-$(uname -r).img initrd-$(uname -r).img-default&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ahora si a agregar el modulo:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;mkinitrd -f --preload=pciback /boot/initrd-$(uname -r).img $(uname -r)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Como podran ver hemos agregado el modulo pciback para que cuando arranque el kernel lo tenga listo, asi cuando ejecute el modprobe.conf ya pueda el esconder nuestro puerto y quede libre para nuestra hvm, de lo contrario el host se negara&amp;nbsp; a soltar el puerto.&lt;/div&gt;&lt;br /&gt;1.3 Decirle a Xen que puerto el va a tomar control para entregar a la HVM que lo necesite.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Para esto vamos a buscar otro dato que necesitamos de nuestro hw, ya tenemos la direccion del puerto, pero Xen requiere otro mas de ese puerto, y este lo obtenemos ejectando el comando lspci -n, buscamos nuestro hw id y buscamos este dato:&lt;/div&gt;&lt;br /&gt;lspci -n&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;00:00.0 0600: 8086:3405 (rev 22)&lt;br /&gt;00:01.0 0604: 8086:3408 (rev 22)&lt;br /&gt;00:03.0 0604: 8086:340a (rev 22)&lt;br /&gt;00:05.0 0604: 8086:340c (rev 22)&lt;br /&gt;00:07.0 0604: 8086:340e (rev 22)&lt;br /&gt;00:09.0 0604: 8086:3410 (rev 22)&lt;br /&gt;00:14.0 0800: 8086:342e (rev 22)&lt;br /&gt;00:14.1 0800: 8086:3422 (rev 22)&lt;br /&gt;00:14.2 0800: 8086:3423 (rev 22)&lt;br /&gt;00:14.3 0800: 8086:3438 (rev 22)&lt;br /&gt;00:16.0 0880: 8086:3430 (rev 22)&lt;br /&gt;00:16.1 0880: 8086:3431 (rev 22)&lt;br /&gt;00:16.2 0880: 8086:3432 (rev 22)&lt;br /&gt;00:16.3 0880: 8086:3433 (rev 22)&lt;br /&gt;00:16.4 0880: 8086:3429 (rev 22)&lt;br /&gt;00:16.5 0880: 8086:342a (rev 22)&lt;br /&gt;00:16.6 0880: 8086:342b (rev 22)&lt;br /&gt;00:16.7 0880: 8086:342c (rev 22)&lt;br /&gt;00:1a.0 0c03: 8086:3a37&lt;br /&gt;&lt;span style="font-size: small;"&gt;00:1a.1 0c03:&lt;/span&gt;&lt;b&gt; 8086:3a38&lt;/b&gt;&lt;br /&gt;00:1a.2 0c03: 8086:3a39&lt;br /&gt;00:1a.7 0c03: 8086:3a3c&lt;br /&gt;00:1c.0 0604: 8086:3a40&lt;br /&gt;00:1c.1 0604: 8086:3a42&lt;br /&gt;00:1d.0 0c03: 8086:3a34&lt;br /&gt;00:1d.1 0c03: 8086:3a35&lt;br /&gt;00:1d.2 0c03: 8086:3a36&lt;br /&gt;00:1d.7 0c03: 8086:3a3a&lt;br /&gt;00:1e.0 0604: 8086:244e (rev 90)&lt;br /&gt;00:1f.0 0601: 8086:3a16&lt;br /&gt;00:1f.2 0101: 8086:3a20&lt;br /&gt;00:1f.3 0c05: 8086:3a30&lt;br /&gt;00:1f.5 0101: 8086:3a26&lt;br /&gt;06:00.0 0200: 8086:10d3&lt;br /&gt;07:00.0 0200: 8086:10d3&lt;br /&gt;08:01.0 0100: 1000:0021 (rev 01)&lt;br /&gt;08:04.0 0300: 102b:0532 (rev 0a)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Ahi lo tenemos, el dato que requiere Xen es: 8086:3a3c.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Abrimos el archivo de Xen llamado /etx/xen/xend-pci-permissive.sxp&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Y nos queda asi:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;###############################################################################&lt;br /&gt;(unconstrained_dev_ids&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #('0123:4567:89AB:CDEF')&lt;br /&gt;('8086:3a3c')&lt;br /&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; Viendo su archivo van a notar la diferencia, dice el doc que no es necesario, pero a mi me ha funcionado asi y no he tenido problema con mi HVM ni host.&lt;/div&gt;&lt;br /&gt;1.4 Agregar el puerto a la configuracion de nuestra HVM, en este caso Windows XP:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;pci = ["00:1a.7"]&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;&amp;nbsp;&amp;nbsp; Esto lo agregamos a el final del archivo.&lt;br /&gt;&lt;br /&gt;4; Reiniciar servidor y a probar.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;5; Arracamos nuestra maquina virtual, ya que este lista, le conectamos el USB y tenemos esto:&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-5rD_4huP-F0/TvzKFftjLwI/AAAAAAAAALw/x6MDCcRa0N4/s1600/mbx-xpxen1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/-5rD_4huP-F0/TvzKFftjLwI/AAAAAAAAALw/x6MDCcRa0N4/s320/mbx-xpxen1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;Imagen 1: Mostrando contenido del USB.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-4FBSMjKZM2Y/TvzKP11zbvI/AAAAAAAAAL8/hnsphhg04aw/s1600/mbx-xpxen1-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/-4FBSMjKZM2Y/TvzKP11zbvI/AAAAAAAAAL8/hnsphhg04aw/s320/mbx-xpxen1-1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;Imagen 2: Controlador de USB en Windows.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-zk_eGoW6JRY/TvzKR2amKMI/AAAAAAAAAME/SBgA2NdItvg/s1600/mbx-xpxen1-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-zk_eGoW6JRY/TvzKR2amKMI/AAAAAAAAAME/SBgA2NdItvg/s320/mbx-xpxen1-2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: x-small;"&gt;Imagen 3: Device Manager de Windows.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; No he tenido exito con USB 2.0, pero para lo que lo he necesitado que son las HASP USB Keys me ha funcionado sin problemas.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;OS probados y funcionando:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;Windows XP Profesional&lt;br /&gt;Windows 2003 Standard Edition&lt;br /&gt;Windows 7 Profesional &lt;/blockquote&gt;Saludos.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-7002318949086040384?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/7002318949086040384/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=7002318949086040384' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/7002318949086040384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/7002318949086040384'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2011/12/centos-5xen-pci-passthrough-usb.html' title='Centos 5:Xen PCI Passthrough USB'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-5rD_4huP-F0/TvzKFftjLwI/AAAAAAAAALw/x6MDCcRa0N4/s72-c/mbx-xpxen1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-707242703885612435</id><published>2011-11-22T10:29:00.001-08:00</published><updated>2011-11-22T11:06:23.179-08:00</updated><title type='text'>Centos 5: Migrar MySQL 5.1 de Windows a Linux.</title><content type='html'>&amp;nbsp;Hola, me encontre con un problema cuando quise migrar una base de datos corriendo MySQL 5.1.x en Windows XP y la trate de migrar a MySQL 5.1 corriendo Centos 5.7.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;La base de datos que me interesa es tipo InnoDB, entonces la manera tradicional es atraves del comando mysqldump asi:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; mysqldump -f --opt --single-transaction nombre-bd &amp;gt; nombre-bd.sql -u root -h windowsxp-ip -p&lt;br /&gt;&lt;br /&gt;&amp;nbsp; Para regresarla:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; mysql nombre-bd &amp;lt; nombre-bd.sql -p&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Todo esto hecho desde el mismo servidor centos.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; Bien ya tenemos nuestra bd, ahora es cuestion de reconfigurar nuestra app que este caso se ejecuta bajo Windows atraves de un ODBC, hecho lo anterior era cuestion de ejecutar el programa.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Pero para mi sorpresa no funciono, el programa empezo a marcar errorres, el odbc decia que todo bien, su test sin problemas, que estaba pasando?&lt;br /&gt;&lt;br /&gt;&amp;nbsp; Los logs son benditos, me vi en la necesidad de prender el log mysql, reinicie el servicio y a leer el log.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; Lo que sucedia era que la app mandaba los querys a la base de datos en mayusculas, recordar que Unix/Linux son sensibles a las minusculas/mayusculas, siempre han operado asi.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; Cuando yo corria el mismo query en la consola de mysql el me decia que encontraba la tabla dada, ahi venia el problema, MySQl windows cuando creo la&amp;nbsp; base de datos la tablas las nombro con Myusculas-Minusculas, cuando mysqldump restaura las tablas en Centos lo hace todo con minusculas ya que asi opera el por default.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Y esto llevo a que la app tronara, lo que hice fue modificar un parametro general de MySQL en centos este:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;lower_case_table_names = 1&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Por default es 0, lo que hace este parametro es que cuando compara los nombres no verifica si son mayusculas, minusculas, etc, una reiniciada a el servidor, y listo, la app empezo a funcionar.&lt;br /&gt;&lt;br /&gt;El parametro va en: /etc/my.cnf.&lt;br /&gt;&lt;br /&gt;Saludos!!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-707242703885612435?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/707242703885612435/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=707242703885612435' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/707242703885612435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/707242703885612435'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2011/11/centos-5-migrar-mysql-51-de-windows.html' title='Centos 5: Migrar MySQL 5.1 de Windows a Linux.'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-2155399661985616253</id><published>2011-10-26T11:54:00.000-07:00</published><updated>2011-10-26T12:02:54.443-07:00</updated><title type='text'>Windows 7: Como grabar en C: y otros directorios del sistema</title><content type='html'>&amp;nbsp;Me tope con una app que segun los de soporte me decian que el problema que tenia era que tenia problemas de permisos.&lt;br /&gt;&lt;br /&gt;Ahora bien, hice lo necesario, aplique los permisos a el folder como ellos me indicaron y aun asi la aplicacion se rehuzo a instalarse.&lt;br /&gt;&lt;br /&gt;De ahi, la persona de soporte me comento que iba a decirme como instalar la app a mano, segui sus instrucciones y nada.&lt;br /&gt;&lt;br /&gt;Despues me dijo que iba a revisar con su maquina para ver el problema, me mando un correo y me dijo que haya con el la app funciono, probo en windows 7 32/64 y que todo bien, que el problema era la falta de permisos en mi maquina.&lt;br /&gt;&lt;br /&gt;Entonces le pregunte, bien si dices que son por falta de permisos, dime donde los tengo que aplicar? Y claro que ni el sabia donde.&lt;br /&gt;&lt;br /&gt;Analizando la app, es una hecha en vb6 aun, los dlls mas nuevos son del 2008, los demas son viejos.&lt;br /&gt;&lt;br /&gt;El problema radica en que la app trata de instalar esos DLL en el folder C:\Windows\system32\ y claro que no le permite grabar los archivos.&lt;br /&gt;&lt;br /&gt;La app fue hecha para buscar los DLL en system32 y no para correrlos localmente en el folder donde esta el ejecutable como el queria hacerle.&lt;br /&gt;&lt;br /&gt;Bien, entonces descomprimi el folder, entre a el archivo CAB que tiene los DLL, y trate de copear todos los DLL a el system32 de mi Windows 7, BOOM, no dejo grabar ninguno.&lt;br /&gt;&lt;br /&gt;Empece a investigar el problema, y note que mi usuario que se dice estar en el grupo de "Administrators" no lo es, Microsoft trata de engañarnos haciendonos creer que si lo somos, pero al final vivimos en el engaño.&lt;br /&gt;&lt;br /&gt;Leyendo otros foros, habia uno donde nos indican esto, y existe una manera de habilitar el usuario "Administrator" que por default esta deshabilitado por seguridad.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-7m96m4ovqqg/TqhT13-2t2I/AAAAAAAAALM/DDj0XcrYn9c/s1600/img2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="173" src="http://2.bp.blogspot.com/-7m96m4ovqqg/TqhT13-2t2I/AAAAAAAAALM/DDj0XcrYn9c/s320/img2.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;Figura 1. Cuenta de Administrator.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Por default como indica la Figura 1, la cuenta esta deshabilitada.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-5rIIzPwrB0w/TqhUHtastTI/AAAAAAAAALU/E3Gub_w6biA/s1600/img3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-5rIIzPwrB0w/TqhUHtastTI/AAAAAAAAALU/E3Gub_w6biA/s320/img3.JPG" width="306" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Figura 2. Caracteristicas de la cuenta.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;Ya solo, le quitan la palomita para habilitarla, Apply - Ok y listo.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Notaran que la flecha ya no aparece en el usuario, por seguridad esta cuenta si es la de Administrator que teniamos en XP/2000, la que usamos es una de usuario normal con privilegios extras.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;Se deslogean y les aparecera la cuenta para logearse, no tiene password por default.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Una recomendacion que les hago, esta cuenta usenla para hacer aquellas cosas que su usuario normal no se los permite en mi caso:&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Grabar archivos en el C:\windows\system32\ como los DL por ejemplo.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Ya lo hice, una vez terminada mi tarea, deshabilito de nuevo la cuenta y entro con mi usuario normal, ya que con el si puedo hacer todas mis labores excepto grabar los DLL de mi aplicacion X.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;No abusen de esta cuenta, usenla cuando en realidad tengan problemas, esta forma de trabajar de Windows 7 no es mala, desgraciadamente ellos no proporcionan la informacion real, el foro donde lei todo esto ahi viene infinidad de gente que tuvo problemas parecidos a el mio, y varios de ellos indican que hasta hablaron con personas de soporte y aun asi ni ellos mismos lograron solucionar el problema, ni modo asi nos quieren tener y aparte nos cobran.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;Recordar que la cuenta por default no tiene password, por ello usenla y cierrenla.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;b&gt;NOTA&lt;/b&gt;: Algo que note cuando entre con el usuario Administrator es que los compartidos dejaron de operar, no me he metido mas a fondo pero en cuanto regrese con mi usuario normal los compartidos volvieron a trabajar.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Saludos!!!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-2155399661985616253?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/2155399661985616253/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=2155399661985616253' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/2155399661985616253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/2155399661985616253'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2011/10/windows-7-como-grabar-en-c-y-otros.html' title='Windows 7: Como grabar en C: y otros directorios del sistema'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-7m96m4ovqqg/TqhT13-2t2I/AAAAAAAAALM/DDj0XcrYn9c/s72-c/img2.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-958549081362853440</id><published>2011-10-24T00:26:00.000-07:00</published><updated>2011-10-24T00:26:57.213-07:00</updated><title type='text'>Centos 5.x: Xen arrancar DomU al iniciar sistema</title><content type='html'>&amp;nbsp;Existe una manera que me ha funcionado, la configuracion de las vm's se localiza en /etc/xen/, dentro de ese directorio hay otro de nombre auto.&lt;br /&gt;&lt;br /&gt;Bien, para poder arracar mis vm's cada que por alguna razon necesito reiniciar Dom0(actualizaciones) es crear un soft link hacia ese folder para DomU, ejemplo:&lt;br /&gt;&lt;br /&gt;ln -s /etc/xen/vm-1 /etc/xen/auto/vm-1&lt;br /&gt;&lt;br /&gt;Listo, prueben y veran que su vm-1 cada que reinicien su dom0, saludos!!!&lt;br /&gt;&lt;br /&gt;Xen 3.1/Xen 3.4.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-958549081362853440?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/958549081362853440/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=958549081362853440' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/958549081362853440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/958549081362853440'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2011/10/centos-5x-xen-arrancar-domu-al-iniciar.html' title='Centos 5.x: Xen arrancar DomU al iniciar sistema'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-6647922074955548311</id><published>2011-10-13T11:28:00.000-07:00</published><updated>2011-10-13T12:01:43.957-07:00</updated><title type='text'>MySQL 5.1: Reparar tablas MyISAM con mysqlcheck</title><content type='html'>&lt;div style="font-family: inherit;"&gt;&lt;br /&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;Bacula se nego a funcionar, la db es MySQL 5.1, el log de bacula es:&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre wrap=""&gt;12-Oct 19:47 bacula-dir JobId 12396: Fatal error: sql_create.c:870 Lock Filename table Query failed: LOCK TABLES Filename write, batch write, Filename as f write: ERR=Table './bacula/Filename' is marked as crashed and last (automatic?) repair failed&lt;/pre&gt;&lt;pre wrap=""&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre wrap=""&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Bueno, tenemos que reparar nuestras tablas, mysql nos proporciona varios comandos, entre ellos podemos tratar de compactar la bd completo o bien usar el comando: mysqlcheck para ver el estatus de las tablas y si necesitaramos reparar alguna tipo MYISAM esta el comando myisamchk.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;&lt;b&gt;NOTA&lt;/b&gt;: Recomendacion de MySQL, si van a reparar tablas es &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: small;"&gt;altamente recomendable que el servicio este apagado por seguridad, de lo contrario atenganse a las consecuencias si algo sale mal, ya que si un usuario esta tratando de ingresar datos, aunque la tabla ya no se lo permita pero puede estar abierto el aputador a el archivo y luego el comando myisamchk tambien trata de hacer modificaciones, nomas imaginense que puede pasar?.&lt;/span&gt;&lt;/div&gt;&lt;pre wrap=""&gt;&lt;/pre&gt;&lt;div ,serif;="" center;="" text-align:=""&gt;&lt;pre wrap=""&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div ,serif;="" center;="" style="text-align: center;" text-align:=""&gt;&lt;span style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif; font-size: x-large;"&gt;mysqlcheck&lt;/span&gt;&lt;/div&gt;&lt;pre wrap=""&gt;&lt;/pre&gt;&lt;pre wrap=""&gt;&amp;nbsp;&lt;/pre&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Si lo ejecutan solo, les va a dar todo su arsenal de parametros que soporta.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; text-align: justify;"&gt;Bacula tiene varias tablas, todas son usando el engine: myisam.&lt;br /&gt;&lt;br /&gt;Ahora vamos empezar por revisar la bd y que nos diga que tablas necesitan reparacion:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" wrap=""&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt;/var/lib/mysql/bacula/&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" wrap=""&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" wrap=""&gt;&lt;span style="font-size: x-small;"&gt;&lt;b&gt; -rw-rw---- 1 mysql mysql       8710 Jun 27 00:28 BaseFiles.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql          0 Jun 27 00:28 BaseFiles.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql       1024 Jun 27 00:28 BaseFiles.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql       8604 Jun 27 00:28 CDImages.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql          0 Jun 27 00:28 CDImages.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql       1024 Jun 27 00:28 CDImages.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql       8764 Jun 27 00:28 Client.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql       1904 Jun 27 00:28 Client.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql       3072 Jun 27 00:28 Client.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql       8732 Jun 27 00:28 Counters.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql          0 Jun 27 00:28 Counters.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql       1024 Jun 27 00:28 Counters.MYI&lt;br /&gt;-rwxr-xr-x 1 mysql mysql         65 Nov 26  2010 db.opt&lt;br /&gt;-rw-rw---- 1 mysql mysql       9290 Jun 27 00:28 Device.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql          0 Jun 27 00:28 Device.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql       1024 Jun 27 00:28 Device.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql       8806 Jun 27 00:28 File.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql 1756959048 Oct 12 22:34 File.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql  777433088 Oct 12 22:34 File.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql       8602 Jun 27 00:34 Filename.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql   69038080 Oct 12 18:15 Filename.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql   75943936 Oct 12 19:10 Filename.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql       8676 Jun 27 00:34 FileSet.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql       5104 Sep 14 19:20 FileSet.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql       2048 Sep 26 06:28 FileSet.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql       9618 Jun 27 00:34 Job.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql       9618 Jun 27 00:34 JobHisto.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql     167324 Jun 27 00:34 JobHisto.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql      20480 Jun 27 00:34 JobHisto.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql       8916 Jun 27 00:34 JobMedia.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql     423325 Oct 12 22:34 JobMedia.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql     304128 Oct 12 22:34 JobMedia.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql     334004 Oct 12 22:34 Job.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql      39936 Oct 12 22:34 Job.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql       8676 Jun 27 00:34 Location.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql       8881 Jun 27 00:34 LocationLog.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql          0 Jun 27 00:34 LocationLog.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql       1024 Jun 27 00:34 LocationLog.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql          0 Jun 27 00:34 Location.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql       1024 Jun 27 00:34 Location.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql       8660 Jun 27 00:34 Log.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql    5677120 Oct 12 22:34 Log.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql     732160 Oct 12 22:34 Log.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql      10453 Jun 27 00:34 Media.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql      11108 Oct 12 22:34 Media.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql       4096 Oct 12 22:34 Media.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql       8652 Jun 27 00:34 MediaType.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql        100 Jun 27 00:34 MediaType.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql       2048 Jun 27 00:34 MediaType.MYI&lt;br /&gt;-rw-r--r-- 1 root  root        6372 Jun 27 00:19 out.txt&lt;br /&gt;-rw-rw---- 1 mysql mysql       8594 Jun 27 00:34 Path.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql       8600 Jun 27 00:34 PathHierarchy.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql          0 Jun 27 00:34 PathHierarchy.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql       1024 Jun 27 00:34 PathHierarchy.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql   16394220 Oct 12 19:17 Path.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql   25443328 Oct 12 19:17 Path.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql       8658 Jun 27 00:34 PathVisibility.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql          0 Jun 27 00:34 PathVisibility.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql       1024 Jun 27 00:34 PathVisibility.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql       9699 Jun 27 00:34 Pool.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql        240 Oct  9 23:17 Pool.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql       3072 Oct 12 18:15 Pool.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql       8656 Jun 27 00:34 Status.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql        640 Jun 27 00:34 Status.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql       2048 Jun 27 00:34 Status.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql       8644 Jun 27 00:34 Storage.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql        120 Jun 27 00:34 Storage.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql       2048 Jun 27 00:34 Storage.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql       8678 Jun 27 00:34 UnsavedFiles.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql          0 Jun 27 00:34 UnsavedFiles.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql       1024 Jun 27 00:34 UnsavedFiles.MYI&lt;br /&gt;-rw-rw---- 1 mysql mysql       8570 Jun 27 00:34 Version.frm&lt;br /&gt;-rw-rw---- 1 mysql mysql          7 Jun 27 00:34 Version.MYD&lt;br /&gt;-rw-rw---- 1 mysql mysql       1024 Jun 27 00:34 Version.MYI&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre wrap=""&gt;&amp;nbsp;&lt;/pre&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;O bien si analizamos toda la bd debemos darle el usuario/password del root, el nombre de la bd y el sabe donde buscarlo, vamos empezando por esta opcion:&lt;/span&gt;&lt;br /&gt;&lt;pre wrap=""&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" wrap=""&gt;&lt;b&gt;&lt;span style="font-size: x-small;"&gt;bacula]# time mysqlcheck -a  -B bacula -p&lt;br /&gt;Enter password:&lt;br /&gt;bacula.BaseFiles                                   Table is already up to date&lt;br /&gt;bacula.CDImages                                    Table is already up to date&lt;br /&gt;bacula.Client                                      Table is already up to date&lt;br /&gt;bacula.Counters                                    Table is already up to date&lt;br /&gt;bacula.Device                                      Table is already up to date&lt;br /&gt;bacula.File                                        Table is already up to date&lt;br /&gt;bacula.FileSet                                     Table is already up to date&lt;br /&gt;bacula.Filename&lt;br /&gt;Error    : Table './bacula/Filename' is marked as crashed and last (automatic?) repair failed&lt;br /&gt;Error    : Table 'Filename' is marked as crashed and last (automatic?) repair failed&lt;br /&gt;error    : Corrupt&lt;br /&gt;bacula.Job                                         Table is already up to date&lt;br /&gt;bacula.JobHisto                                    Table is already up to date&lt;br /&gt;bacula.JobMedia                                    Table is already up to date&lt;br /&gt;bacula.Location                                    Table is already up to date&lt;br /&gt;bacula.LocationLog                                 Table is already up to date&lt;br /&gt;bacula.Log                                         Table is already up to date&lt;br /&gt;bacula.Media                                       Table is already up to date&lt;br /&gt;bacula.MediaType                                   Table is already up to date&lt;br /&gt;bacula.Path                                        Table is already up to date&lt;br /&gt;bacula.PathHierarchy                               Table is already up to date&lt;br /&gt;bacula.PathVisibility                              Table is already up to date&lt;br /&gt;bacula.Pool                                        Table is already up to date&lt;br /&gt;bacula.Status                                      Table is already up to date&lt;br /&gt;bacula.Storage                                     Table is already up to date&lt;br /&gt;bacula.UnsavedFiles                                Table is already up to date&lt;br /&gt;bacula.Version                                     Table is already up to date&lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre wrap=""&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;real    0m2.297s&lt;br /&gt;user    0m0.000s&lt;br /&gt;sys     0m0.000s&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&lt;/pre&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Con el parametro -a le pedimos que revise rapidamente los estatus de cada tabla de la bd, es rapido y nos dice la condicion de la tabla. Me gusta ver el tiempo que tardan las tareas en ejecutarse, nos indica la condicion de nuestro equipo en lo personal cuando se trata de bd siempre deseo saber este dato. &lt;/span&gt;&lt;br style="font-family: Arial,Helvetica,sans-serif;" /&gt;&lt;br style="font-family: Arial,Helvetica,sans-serif;" /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Ahora vamos solictando mas detalle, que no revise el estatus si no que abra cada tabla y le realice una revision normal.&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size: small;"&gt;&lt;br style="font-family: Arial,Helvetica,sans-serif;" /&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;pre style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" wrap=""&gt;&lt;span style="font-size: x-small;"&gt;time mysqlcheck  --check -B bacula -p&lt;br /&gt;Enter password:******&lt;br /&gt;bacula.BaseFiles                                   OK&lt;br /&gt;bacula.CDImages                                    OK&lt;br /&gt;bacula.Client                                      OK&lt;br /&gt;bacula.Counters                                    OK&lt;br /&gt;bacula.Device                                      OK&lt;br /&gt;bacula.File                                        OK&lt;br /&gt;bacula.FileSet                                     OK&lt;br /&gt;bacula.Filename&lt;br /&gt;&lt;b&gt;warning  : Table is marked as crashed and last repair failed&lt;br /&gt;warning  : 1 client is using or hasn't closed the table properly&lt;br /&gt;warning  : Size of indexfile is: 75943936      Should be: 14383104&lt;br /&gt;error    : Size of datafile is: 69038080         Should be: 69038956&lt;br /&gt;error    : Corruptbacula.Job                                         OK&lt;/b&gt;&lt;br /&gt;bacula.JobHisto                                    OK&lt;br /&gt;bacula.JobMedia                                    OK&lt;br /&gt;bacula.Location                                    OK&lt;br /&gt;bacula.LocationLog                                 OK&lt;br /&gt;bacula.Log                                         OK&lt;br /&gt;bacula.Media                                       OK&lt;br /&gt;bacula.MediaType                                   OK&lt;br /&gt;bacula.Path                                        OK&lt;br /&gt;bacula.PathHierarchy                               OK&lt;br /&gt;bacula.PathVisibility                              OK&lt;br /&gt;bacula.Pool                                        OK&lt;br /&gt;bacula.Status                                      OK&lt;br /&gt;bacula.Storage                                     OK&lt;br /&gt;bacula.UnsavedFiles                                OK&lt;br /&gt;bacula.Version                                     OK&lt;/span&gt;&lt;/pre&gt;&lt;pre style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" wrap=""&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" wrap=""&gt;&lt;span style="font-size: x-small;"&gt;real    1m19.222s&lt;br /&gt;user    0m0.000s&lt;br /&gt;sys     0m0.000s&lt;/span&gt;&lt;/pre&gt;&lt;pre wrap=""&gt;&amp;nbsp;&lt;/pre&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;Ahi esta la tabla que esta danada de nuevo.&lt;br /&gt;&lt;br /&gt;Pero que tal si ejecutamos la misma consulta pero agregamos el parametro -e que significa, revisa las tablas 100% sin importar el tiempo que tardes ("extendida").&lt;/span&gt; &lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre wrap=""&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" wrap=""&gt;&lt;span style="font-size: x-small;"&gt;time mysqlcheck  --check -e  -B bacula -p&lt;br /&gt;Enter password:&lt;br /&gt;bacula.BaseFiles                                   OK&lt;br /&gt;bacula.CDImages                                    OK&lt;br /&gt;bacula.Client                                      OK&lt;br /&gt;bacula.Counters                                    OK&lt;br /&gt;bacula.Device                                      OK&lt;br /&gt;bacula.File                                        OK&lt;br /&gt;bacula.FileSet                                     OK&lt;br /&gt;bacula.Filename&lt;br /&gt;warning  : Table is marked as crashed and last repair failed&lt;br /&gt;warning  : 1 client is using or hasn't closed the table properly&lt;br /&gt;warning  : Size of indexfile is: 75943936      Should be: 14383104&lt;br /&gt;error    : Size of datafile is: 69038080         Should be: 69038956&lt;br /&gt;error    : Corrupt&lt;br /&gt;bacula.Job                                         OK&lt;br /&gt;bacula.JobHisto                                    OK&lt;br /&gt;bacula.JobMedia                                    OK&lt;br /&gt;bacula.Location                                    OK&lt;br /&gt;bacula.LocationLog                                 OK&lt;br /&gt;bacula.Log                                         OK&lt;br /&gt;bacula.Media                                       OK&lt;br /&gt;bacula.MediaType                                   OK&lt;br /&gt;bacula.Path                                        OK&lt;br /&gt;bacula.PathHierarchy                               OK&lt;br /&gt;bacula.PathVisibility                              OK&lt;br /&gt;bacula.Pool                                        OK&lt;br /&gt;bacula.Status                                      OK&lt;br /&gt;bacula.Storage                                     OK&lt;br /&gt;bacula.UnsavedFiles                                OK&lt;br /&gt;bacula.Version                                     OK&lt;/span&gt;&lt;/pre&gt;&lt;pre style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;" wrap=""&gt;&lt;span style="font-size: x-small;"&gt;real    2m8.610s&lt;br /&gt;user    0m0.000s&lt;br /&gt;sys     0m0.008s&lt;/span&gt;&lt;/pre&gt;&lt;pre wrap=""&gt;&amp;nbsp;&lt;/pre&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Si ven el tiempo de ejecucion fue un poco mas.&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;b style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: x-large;"&gt;MyIsamChk&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: x-large;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Ya sabemos que tabla esta danada, ahora vamos a tratar de repararla, los archivos que este comando nos pide son los que tienen extension "MYI". asi que vamos a ejecutar el comando de la siguiente manera.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Si saben donde esta el archivo deben darle la ruta de el o bien se meten a el folder donde estan los archivos, en mi caso es:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/var/lib/mysql/bacula&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Pero antes de vamos a apagar el servicio en lo que reparamos la tabla, claro esto lo hago ya despues de horas de trabajo, cuando se que a nadie le afecta si el servicio no esta operando.&lt;/span&gt;&lt;/div&gt;&lt;pre wrap=""&gt;&lt;/pre&gt;&lt;pre wrap=""&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre wrap=""&gt;&lt;b&gt;service mysql stop&lt;/b&gt;&lt;/pre&gt;&lt;pre wrap=""&gt;&lt;/pre&gt;&lt;pre wrap=""&gt;&amp;nbsp;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Ahora si, segun el comando tenemos 2 parametros a usar para la reparacion:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;-r == repara de manera rapida, la mayor parte del tiempo funciona.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;-o == repara al modo antiguo, este siempre funciona, es mas lento pero efectivo.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Yo hago uso del metodo antiguo por ello uso el parametro -o, tengo tiempo, nadie me esta esperando por el servicio asi que lo ejecuto:&lt;/span&gt;&lt;/div&gt;&lt;pre wrap=""&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre wrap=""&gt;&lt;/pre&gt;&lt;pre wrap=""&gt;time myisamchk -o Filename.MYI&lt;br /&gt;- recovering (with keycache) MyISAM-table 'Filename.MYI'&lt;br /&gt;Data records: 1409502&lt;br /&gt;Found block that points outside data file at 69038076&lt;br /&gt;Data records: 1409472&lt;br /&gt;&lt;br /&gt;real    0m27.491s&lt;br /&gt;user    0m19.417s&lt;br /&gt;sys     0m0.384s&lt;/pre&gt;&lt;pre wrap=""&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre wrap=""&gt;&lt;/pre&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Bien parece que todo esta reparado, ahora si a levantar el servicio de nuevo.&lt;/span&gt;&lt;br /&gt;&lt;pre wrap=""&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre wrap=""&gt;&lt;/pre&gt;&lt;pre wrap=""&gt;&lt;b&gt;service mysql start&lt;/b&gt;&lt;/pre&gt;&lt;pre wrap=""&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre wrap=""&gt;&lt;/pre&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;De nuevo regresamos a el comando mysqlchk para revisar nuestra base de datos:&lt;/span&gt;&lt;br /&gt;&lt;pre style="font-family: Arial,Helvetica,sans-serif;" wrap=""&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre wrap=""&gt;&lt;/pre&gt;&lt;pre wrap=""&gt;time mysqlcheck --check -e  -B bacula -p&lt;br /&gt;Enter password:&lt;br /&gt;bacula.BaseFiles                                   OK&lt;br /&gt;bacula.CDImages                                    OK&lt;br /&gt;bacula.Client                                      OK&lt;br /&gt;bacula.Counters                                    OK&lt;br /&gt;bacula.Device                                      OK&lt;br /&gt;bacula.File                                        OK&lt;br /&gt;bacula.FileSet                                     OK&lt;br /&gt;bacula.Filename                                    OK&lt;br /&gt;bacula.Job                                         OK&lt;br /&gt;bacula.JobHisto                                    OK&lt;br /&gt;bacula.JobMedia                                    OK&lt;br /&gt;bacula.Location                                    OK&lt;br /&gt;bacula.LocationLog                                 OK&lt;br /&gt;bacula.Log                                         OK&lt;br /&gt;bacula.Media                                       OK&lt;br /&gt;bacula.MediaType                                   OK&lt;br /&gt;bacula.Path                                        OK&lt;br /&gt;bacula.PathHierarchy                               OK&lt;br /&gt;bacula.PathVisibility                              OK&lt;br /&gt;bacula.Pool                                        OK&lt;br /&gt;bacula.Status                                      OK&lt;br /&gt;bacula.Storage                                     OK&lt;br /&gt;bacula.UnsavedFiles                                OK&lt;br /&gt;bacula.Version                                     OK&lt;br /&gt;&lt;br /&gt;real    4m56.098s&lt;br /&gt;user    0m0.000s&lt;br /&gt;sys     0m0.000s&lt;/pre&gt;&lt;pre wrap=""&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre wrap=""&gt;&lt;/pre&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Listo, asi es como debemos tener nuestras tablas, ahora si a seguir trabajando, saludos!!!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-6647922074955548311?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/6647922074955548311/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=6647922074955548311' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/6647922074955548311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/6647922074955548311'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2011/10/mysql-51-reparar-tablas-myisam-con.html' title='MySQL 5.1: Reparar tablas MyISAM con mysqlcheck'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-2377916623666091957</id><published>2011-10-07T14:32:00.000-07:00</published><updated>2011-12-29T13:30:06.749-08:00</updated><title type='text'>Centos 5: Virtualizando Windows con Xen 4.x.</title><content type='html'>Ahora que ya logre que Xen 4.1.1 del repo de Gitco funcionara, es momento de llevar a cabo la instalacion de Windows7 para empezar, necesito correr a este software para instalar una app que solo se puede ejecutar ahi y ademas otras cosas que deben correr en Centos asi que vamos a virtualizar Windows 7 y Centos 5.7.&lt;br /&gt;&lt;br /&gt;Este vez le toca a windows 7 Pro, ya que estara bajo un dominio con un PDC Linux por ello no debe ser una version home edition.&lt;br /&gt;&lt;br /&gt;Vamos empezando:&lt;br /&gt;&lt;br /&gt;1; Sacar la imagen del DVD de instalacion, mi maquinas virtuales estaran almacenadas en la particion:&lt;br /&gt;&lt;br /&gt;/opt/&lt;br /&gt;&lt;br /&gt;Ahi voy a crear un folder: &lt;br /&gt;&lt;br /&gt;cd /opt&lt;br /&gt;mkdir vmwin7&lt;br /&gt;cd vmwin7&lt;br /&gt;&lt;br /&gt;Sacamos la imagen:&lt;br /&gt;&lt;br /&gt;dd if=/dev/dvdrw of=win7Pro.iso&lt;br /&gt;&lt;br /&gt;Tarda un rato, pero con esto tenemos nuestra imagen lista para hacer usadas por Xen.&lt;br /&gt;&lt;br /&gt;2; Crear la imagen para ser usada como disco duro virtual, vamos a crear una de unos 65GB, no requiero mas ya hice mis calculos y no es necesario mas.&lt;br /&gt;&lt;br /&gt;dd if=/dev/zero of=win7Pro.img oflag=direct bs=1M count=65535&lt;br /&gt;&lt;br /&gt;Tambien tarda un rato, ya tenemos nuestros 2 archivos:&lt;br /&gt;&lt;br /&gt;-rw-r--r-- 1 root root 68718428160 Oct&amp;nbsp; 7 20:31 win7Pro.img&lt;br /&gt;-rw-r--r-- 1 root root&amp;nbsp; 2564784128 Oct&amp;nbsp; 7 19:01 win7Pro.iso&lt;br /&gt;&lt;br /&gt;3; Crear la vm:&lt;br /&gt;&lt;br /&gt;La gran ventaja de esto, que a mi en lo personal me agrada es:&lt;br /&gt;&lt;br /&gt;a) No requiero tener una instalacion grafica en el server, un servidor solo debe ejecutar los programas necesarios.&lt;br /&gt;&lt;br /&gt;b) Atraves de otra maquina puedo llevar a cabo las instalaciones de este tipo, ya que trae soporte para VNC de fabrica.&lt;br /&gt;&lt;br /&gt;Que mas necesitamos?&lt;br /&gt;&lt;br /&gt;Aqui vamos:&lt;br /&gt;&lt;br /&gt;virt-install -n darwin -r 2048 -f /opt/vmwin7/win7Pro.img -b xenbr0 --vnc --vnclisten=192.168.2.48&amp;nbsp; -v -c /opt/vmwin7/win7Pro.iso&lt;br /&gt;&lt;br /&gt;esto recibo de mensajes:&lt;br /&gt;&lt;br /&gt;Starting install...&lt;br /&gt;Creating domain...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00&lt;br /&gt;&lt;br /&gt;(virt-viewer:5331): Gtk-WARNING **: cannot open display:&lt;br /&gt;Domain installation still in progress. You can reconnect to&lt;br /&gt;the console to complete the installation process.&lt;br /&gt;&lt;br /&gt;Para Windows XP:&lt;br /&gt;&lt;br /&gt;virt-install -n xp1 -r 2048 -f /opt/xp1/winxp.img -b virbr0 --vnc --vnclisten=192.168.2.48 -v -c /opt/xp1/windowsxppro.iso&lt;br /&gt;&lt;br /&gt;Para Windows 2003:&lt;br /&gt;&lt;br /&gt;virt-install --name win2k3 --ram 2048 --hvm --vcpus=2&amp;nbsp; --cpuset="auto" --disk path=/vm/win2k3/win2k3.img --network bridge=xenbr0 mac=mac-address --vnc --vnclisten=192.168.2.21&amp;nbsp; --os-type=windows --os-variant=win2k3 --noautoconsole --cdrom /vm/win2k3/win2k3.iso --video=cirrus&lt;br /&gt;&lt;br /&gt;Aqui fuimos mas especificos, es cuestion de jugar con todos los parametros de virt-install, el parametro:&lt;br /&gt;&lt;br /&gt;--noautoconsole&lt;br /&gt;&lt;br /&gt;Nos sirve para eliminar el mensaje:&lt;br /&gt;&lt;br /&gt;(virt-viewer:5331): Gtk-WARNING **: cannot open display:&lt;br /&gt;&lt;br /&gt;Vamos revisando que dice xen:&lt;br /&gt;&lt;br /&gt;xm list&lt;br /&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ID&amp;nbsp;&amp;nbsp; Mem VCPUs&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; State&amp;nbsp;&amp;nbsp; Time(s)&lt;br /&gt;Domain-0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp; 1024&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r-----&amp;nbsp;&amp;nbsp;&amp;nbsp; 324.5&lt;br /&gt;darwin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;nbsp; 2048&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -b----&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 13.7&lt;br /&gt;&lt;br /&gt;Algo aparte del DOM-0 esta ejecutandose, como le dije me abriera una conexion a esta instalacion vnv a el IP del server, vamos revisando en otro equipo para ver si es cierto:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-77c7Z6qJeMY/To9oK8I9y_I/AAAAAAAAALE/qDxGP7y47ZA/s1600/win7-1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="253" src="http://2.bp.blogspot.com/-77c7Z6qJeMY/To9oK8I9y_I/AAAAAAAAALE/qDxGP7y47ZA/s320/win7-1.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Figura 1: Instalacion desde una sesion VNC.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;No voy a poner mas imagenes ya que me puede llevar mas tiempo, lo importante es saber como llevar a cabo esto con Xen+Centos.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;La 1ra vez reiniciara y no abra manera de que reinicie solo, asi que vamos a crear el archivo de configuracion de Windows 7 en xen, lo voy a llamar vm-darwin y lleva esto:&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;name = "Darwin"&lt;br /&gt;uuid = ""&lt;br /&gt;memory = 2048&lt;br /&gt;vcpus = 2&lt;br /&gt;cpus = "1,2"&lt;br /&gt;builder = "hvm"&lt;br /&gt;kernel = "/usr/lib/xen/boot/hvmloader"&lt;br /&gt;boot = "c"&lt;br /&gt;pae = 1&lt;br /&gt;acpi = 1&lt;br /&gt;apic = 1&lt;br /&gt;localtime = 0&lt;br /&gt;on_poweroff = "destroy"&lt;br /&gt;on_reboot = "restart"&lt;br /&gt;on_crash = "destroy"&lt;br /&gt;device_model = "/usr/lib64/xen/bin/qemu-dm"&lt;br /&gt;sdl = 0&lt;br /&gt;vnc = 1&lt;br /&gt;display = "Darwin:0.0"&lt;br /&gt;vncunused = 1&lt;br /&gt;vnclisten = "192.168.2.48"&lt;br /&gt;vncpassword = ""&lt;br /&gt;keymap = "en-us"&lt;br /&gt;disk = [ "file:/opt/vmwin7/win7Pro.img,hda,w" ]&lt;br /&gt;vif = [ "mac=00:16:36:09:96:b6,bridge=xenbr0,script=vif-bridge" ]&lt;br /&gt;parallel = "none"&lt;br /&gt;serial = "pty"&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;El dato mas critico es la MAC address, yo tengo un control de ellas, atraves de otras se cual colocarlo, voy a meterme mas de lleno aqui para poner saber como generar este dato, aqui agarre la otra maquina y jugarle, los 2 primero digitos son de entrada.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Ahora lo volvemos arrancar para que continue la instalacion:&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;xm create /etx/xen/vm-darwin&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Como ya le indicamos que cuando reciba un reboot --&amp;gt; reinicie entonces ya el debe hacerlo sin intervencion de nosotros.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Gk6ZJhDK9R0/To9vFyCHdKI/AAAAAAAAALI/RgURWxGYRRg/s1600/win7-2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="254" src="http://2.bp.blogspot.com/-Gk6ZJhDK9R0/To9vFyCHdKI/AAAAAAAAALI/RgURWxGYRRg/s320/win7-2.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Figura 2: Windows 7 Instalado bajo Xen&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Ya solo vamos a terminar de configurarlo y listo.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Ya una vez terminado el proceso de instalacion, recordar que como en mi caso no estoy haciendo uso de ningun entorno grafico, le instale rapidamente el servicio VNC para poder administrarlo remotamente y no he tenido problemas hasta el momento.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-2377916623666091957?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/2377916623666091957/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=2377916623666091957' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/2377916623666091957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/2377916623666091957'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2011/10/centos-5-virtualizando-windows-7-con.html' title='Centos 5: Virtualizando Windows con Xen 4.x.'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-77c7Z6qJeMY/To9oK8I9y_I/AAAAAAAAALE/qDxGP7y47ZA/s72-c/win7-1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-8056360460761180402</id><published>2011-10-07T11:41:00.000-07:00</published><updated>2011-10-07T11:44:00.027-07:00</updated><title type='text'>Centos 5: Boot Xen 4.1 Gitco</title><content type='html'>&lt;br /&gt;&amp;nbsp;Me vi en la necesidad de instalar otra maquina con Xen, cuando se trata de virtualizar me gusta tener software mas actualizado, lo malo que Centos no esta a la vanguardia en esto, y en la rama 6 ya mejoraron las cosas.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Desgraciadamente no puedo aun moverme a la rama 6 ya que varios de mis servidores estan en la 5.7 y migrar todos seria un poco complicado, y no complicado, con la carga de trabajo no me es facil(tiempo).&lt;br /&gt;&lt;br /&gt;&amp;nbsp; Ahora si deseamos hacer unos de las funciones que nos brinda la version 4.1 de Xen tenemos solo 3 opciones:&lt;br /&gt;&lt;br /&gt;1) Hacerlo a mano.&lt;br /&gt;2) Hacer uso de repo externos como Gitco.&lt;br /&gt;3) Usar la version que trae por default Centos si no queremos complicarnos la existencia.&lt;br /&gt;&lt;br /&gt;Yo opto por la #2.&lt;br /&gt;&lt;br /&gt;Ahora lo que tenemos que hacer es lo siguiente:&lt;br /&gt;&lt;br /&gt;a)Deshistalar todo el paquete que no sea de utilidad.&lt;br /&gt;&lt;br /&gt;yum remove ...&lt;br /&gt;&lt;br /&gt;b)Actualizar nuestro sistema:&lt;br /&gt;&lt;br /&gt;yum update&lt;br /&gt;&lt;br /&gt;c) Apagar servicios que no sean necesarios, y deshabilitarlos:&lt;br /&gt;&lt;br /&gt;service nombre-del-servicio stop&lt;br /&gt;chkconfig nombre-del-servicio off&lt;br /&gt;&lt;br /&gt;d) Bajar el repo de Gitco:&lt;br /&gt;&lt;br /&gt;cd /etc/yum.repos/ &lt;br /&gt;wget http://www.gitco.de/repo/GITCO-XEN4.1.1_x86_64.repo&lt;br /&gt;&lt;br /&gt;e) Deshistalar todo lo relacionado a Xen(si ya tenian algo):&lt;br /&gt;&lt;br /&gt;yum groupremove Virtualization&lt;br /&gt;&lt;br /&gt;NOTA: Yo no uso selinux lo tengo deshabilitado.&lt;br /&gt;&lt;br /&gt;Con lo anterior hecho, reiniciamos.&lt;br /&gt;&lt;br /&gt;Ya de regreso:&lt;br /&gt;&lt;br /&gt;f)La instalacion:&lt;br /&gt;&lt;br /&gt;yum groupinstall Virtualization&lt;br /&gt;&lt;br /&gt;Por default Centos deja el el kernel normal como arranque, pero yo quiero el otro asi que modifico la prioridad, ademas, Xen tiene un footprint muy pequeo, no requerimos 1TB de memoria, los ultimos benchmark que saque me indicaron que con 1GB de memoria trabaja sin problemas.&lt;br /&gt;&lt;br /&gt;Ademas decian que solo requeria un Core del #total que tenemos, pero el benchmark me dijo que deberia dejarle 2 ya que todas mis instalaciones llevan un arreglo de disco, ya sea Raid5/Raid10, el Raid1 no tiene problemas los otros si les beneficia dejarle 2 cores a el DOM-O.&lt;br /&gt;&lt;br /&gt;Asi queda mi kernel:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;default=0&lt;br /&gt;timeout=5&lt;br /&gt;splashimage=(hd1,0)/grub/splash.xpm.gz&lt;br /&gt;hiddenmenu&lt;br /&gt;title CentOS (2.6.18-274.3.1.el5xen)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root (hd1,0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kernel /xen.gz-4.1.1 dom0_max_vcpus=2 dom0_vcpus_pin dom0_mem=1024MB&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; module /vmlinuz-2.6.18-274.3.1.el5xen ro root=/dev/VolGroup00/LogVol00 pci=nomsi&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; module /initrd-2.6.18-274.3.1.el5xen.img&lt;br /&gt;title CentOS (2.6.18-274.3.1.el5)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root (hd1,0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kernel /vmlinuz-2.6.18-274.3.1.el5 ro root=/dev/VolGroup00/LogVol00&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initrd /initrd-2.6.18-274.3.1.el5.img&lt;br /&gt;title CentOS (2.6.18-194.el5)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root (hd1,0)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/VolGroup00/LogVol00&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; initrd /initrd-2.6.18-194.el5.img&lt;br /&gt;&lt;br /&gt;Si usteds creen que 1 solo core es necesario para su DOM-0, entonces cambian el parametro: dom0_max_vcpus=1.&lt;br /&gt;&lt;br /&gt;Con todo lo anterior le pedimos que:&lt;br /&gt;&lt;br /&gt;Si tengo un server que me da N numero de cores&lt;br /&gt;Me da M numero de memoria RAM&lt;br /&gt;&lt;br /&gt;Que solo me de: 2 cores de mi N numero y que solo le asigne el M cantidad de memoria RAM, asi la demas Xen podra administrarla para sus VM's, de lo contrario Xen tendria que preocuparse en buscar que core ejecutar las tareas tanto del DOM-0 y como de sus DOM-U si no le especificamos estos datos.&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: inherit;"&gt;Le agregue por ultimo el parametro:&lt;/div&gt;&lt;br /&gt;pci=nomsi&lt;br /&gt;&lt;br /&gt;Por que Xen no quiso arrancar, segun gitco en el README dice:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: inherit;"&gt;IMPORTANT: I cannot ensure the stability of these packages, &lt;br /&gt;so feel free, if you deploy them on a production environment !&lt;br /&gt;&lt;br /&gt;xen3.4.3 (x86_64)   =&amp;gt; stable&lt;br /&gt;xen4.1.0 (x86_64)   =&amp;gt; stable (in some cases, you need the kernel parameter pci=nomsi)&lt;/pre&gt;&lt;pre style="font-family: inherit;"&gt;&lt;/pre&gt;&lt;pre style="font-family: inherit;"&gt;xen4.1.1 (x86_64)   =&amp;gt; stable (in some cases, you need the kernel parameter pci=nomsi)&lt;/pre&gt;&lt;pre style="font-family: inherit;"&gt;&lt;/pre&gt;&lt;pre style="font-family: inherit;"&gt;Asi que eso hice y funciono.&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="font-family: inherit;"&gt;Ahora ya tengo un Xen listo para operar:&lt;/pre&gt;&lt;pre&gt; &lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;xm info&lt;br /&gt;host                   : impexpo.import.local&lt;br /&gt;release                : 2.6.18-274.3.1.el5xen&lt;br /&gt;version                : #1 SMP Tue Sep 6 20:57:11 EDT 2011&lt;br /&gt;machine                : x86_64&lt;br /&gt;nr_cpus                : 4&lt;br /&gt;nr_nodes               : 1&lt;br /&gt;cores_per_socket       : 4&lt;br /&gt;threads_per_core       : 1&lt;br /&gt;cpu_mhz                : 3000&lt;br /&gt;hw_caps                : 178bf3ff:efd3fbff:00000000:00001710:00802001:00000000:000037ff:00000000&lt;br /&gt;virt_caps              : hvm&lt;br /&gt;total_memory           : 3839&lt;br /&gt;free_memory            : 2766&lt;br /&gt;free_cpus              : 0&lt;br /&gt;xen_major              : 4&lt;br /&gt;xen_minor              : 1&lt;br /&gt;xen_extra              : .1&lt;br /&gt;xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64&lt;br /&gt;xen_scheduler          : credit&lt;br /&gt;xen_pagesize           : 4096&lt;br /&gt;platform_params        : virt_start=0xffff800000000000&lt;br /&gt;xen_changeset          : unavailable&lt;br /&gt;xen_commandline        : dom0_max_vcpus=2 dom0_vcpus_pin dom0_mem=1024MB&lt;br /&gt;cc_compiler            : gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)&lt;br /&gt;cc_compile_by          : root&lt;br /&gt;cc_compile_domain      : gitco.tld&lt;br /&gt;cc_compile_date        : Sun Sep  4 23:28:19 CEST 2011&lt;br /&gt;xend_config_format     : 4&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;\ \/ /___ _ __   | || |  / | / |&lt;br /&gt; \  // _ \ '_ \  | || |_ | | | |&lt;br /&gt; /  \  __/ | | | |__   _|| |_| |&lt;br /&gt;/_/\_\___|_| |_|    |_|(_)_(_)_|&lt;br /&gt;&lt;br /&gt;(XEN) Xen version 4.1.1 (root@gitco.tld) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)) Sun Sep  4 23:28:19 CEST 2011&lt;br /&gt;(XEN) Latest ChangeSet: unavailable&lt;br /&gt;(XEN) Bootloader: GNU GRUB 0.97&lt;br /&gt;(XEN) Command line: dom0_max_vcpus=2 dom0_vcpus_pin dom0_mem=1024MB&lt;br /&gt;(XEN) Video information:&lt;br /&gt;(XEN)  VGA is text mode 80x25, font 8x16&lt;br /&gt;(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds&lt;br /&gt;(XEN) Disc information:&lt;br /&gt;(XEN)  Found 2 MBR signatures&lt;br /&gt;(XEN)  Found 2 EDD information structures&lt;br /&gt;(XEN) Xen-e820 RAM map:&lt;br /&gt;(XEN)  0000000000000000 - 000000000009f400 (usable)&lt;br /&gt;(XEN)  000000000009f400 - 00000000000a0000 (reserved)&lt;br /&gt;(XEN)  00000000000e6000 - 0000000000100000 (reserved)&lt;br /&gt;(XEN)  0000000000100000 - 00000000cffb0000 (usable)&lt;br /&gt;(XEN)  00000000cffb0000 - 00000000cffbe000 (ACPI data)&lt;br /&gt;(XEN)  00000000cffbe000 - 00000000cffe0000 (ACPI NVS)&lt;br /&gt;(XEN)  00000000cffe0000 - 00000000d0000000 (reserved)&lt;br /&gt;(XEN)  00000000ff700000 - 0000000100000000 (reserved)&lt;br /&gt;(XEN)  0000000100000000 - 0000000120000000 (usable)&lt;br /&gt;(XEN) ACPI: RSDP 000FB4E0, 0014 (r0 ACPIAM)&lt;br /&gt;(XEN) ACPI: RSDT CFFB0000, 0040 (r1 060710 RSDT1719 20100607 MSFT       97)&lt;br /&gt;(XEN) ACPI: FACP CFFB0200, 0084 (r2 060710 FACP1719 20100607 MSFT       97)&lt;br /&gt;(XEN) ACPI: DSDT CFFB0450, 99F6 (r1  78LCP 78LCP607       16 INTL 20051117)&lt;br /&gt;(XEN) ACPI: FACS CFFBE000, 0040&lt;br /&gt;(XEN) ACPI: APIC CFFB0390, 007C (r1 060710 APIC1719 20100607 MSFT       97)&lt;br /&gt;(XEN) ACPI: MCFG CFFB0410, 003C (r1 060710 OEMMCFG  20100607 MSFT       97)&lt;br /&gt;(XEN) ACPI: OEMB CFFBE040, 0071 (r1 060710 OEMB1719 20100607 MSFT       97)&lt;br /&gt;(XEN) ACPI: SRAT CFFB9E50, 00E8 (r3 AMD    FAM_F_10        2 AMD         1)&lt;br /&gt;(XEN) ACPI: HPET CFFB9F40, 0038 (r1 060710 OEMHPET  20100607 MSFT       97)&lt;br /&gt;(XEN) ACPI: SSDT CFFB9F80, 088C (r1 A M I  POWERNOW        1 AMD         1)&lt;br /&gt;(XEN) System RAM: 3839MB (3931452kB)&lt;br /&gt;(XEN) Domain heap initialised&lt;br /&gt;(XEN) Processor #0 0:5 APIC version 16&lt;br /&gt;(XEN) Processor #1 0:5 APIC version 16&lt;br /&gt;(XEN) Processor #2 0:5 APIC version 16&lt;br /&gt;(XEN) Processor #3 0:5 APIC version 16&lt;br /&gt;(XEN) IOAPIC[0]: apic_id 4, version 33, address 0xfec00000, GSI 0-23&lt;br /&gt;(XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs&lt;br /&gt;(XEN) Table is not found!&lt;br /&gt;(XEN) Using scheduler: SMP Credit Scheduler (credit)&lt;br /&gt;(XEN) Detected 3000.291 MHz processor.&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family: inherit;"&gt;A trabajar sobre el, saludos!!! &lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-8056360460761180402?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/8056360460761180402/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=8056360460761180402' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/8056360460761180402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/8056360460761180402'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2011/10/centos-5-boot-xen-41-gitco.html' title='Centos 5: Boot Xen 4.1 Gitco'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-1400921521082307575</id><published>2011-08-27T08:55:00.000-07:00</published><updated>2011-08-27T09:17:04.429-07:00</updated><title type='text'>Pfsense 2 Squid Deshabilitar Cache</title><content type='html'>&lt;br /&gt;Squid nos permite a nosotros deshabilitar el cache, este es util en sistemas embebidos donde tenemos como medio de almacenamiento una tarjeta de memoria CF de 2 GB.&lt;br /&gt;&lt;br /&gt;Si estamos usando el GUI de pfsense tenemos que hacer lo siguiente:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-mejTyiQ8i-0/TlkVTRmP5AI/AAAAAAAAAKw/II-Lj3WHtWo/s1600/squid-disable-cache.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 108px;" src="http://4.bp.blogspot.com/-mejTyiQ8i-0/TlkVTRmP5AI/AAAAAAAAAKw/II-Lj3WHtWo/s320/squid-disable-cache.JPG" alt="" id="BLOGGER_PHOTO_ID_5645567028771152898" border="0" /&gt;&lt;/a&gt;Figura 1. Deshabilitando cache de GUI.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Una vez hecho esto, salvamos y listo. Ahora si desean ver que le paso a nuestra archivo de configuración entonces, vamos a tener estos cambios:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-DKRpvZwBPAw/TlkV9Wy17MI/AAAAAAAAAK4/AOFLElq7PPA/s1600/squid-disable-cache1.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 143px;" src="http://2.bp.blogspot.com/-DKRpvZwBPAw/TlkV9Wy17MI/AAAAAAAAAK4/AOFLElq7PPA/s320/squid-disable-cache1.JPG" alt="" id="BLOGGER_PHOTO_ID_5645567751720660162" border="0" /&gt;&lt;/a&gt;Figura 2. squid.conf con cache deshabilitado.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Como pueden ver ahi esta el parametro dado de alta, su cache.log ya no registrara nada.&lt;br /&gt;&lt;br /&gt;Ahora van a ver su archivo log access.log casi puros TCP_MISS:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-QoE1GE2Mpz8/TlkYUuPvRaI/AAAAAAAAALA/LEYZMb78VM0/s1600/squid-disable-cache2.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 157px;" src="http://1.bp.blogspot.com/-QoE1GE2Mpz8/TlkYUuPvRaI/AAAAAAAAALA/LEYZMb78VM0/s320/squid-disable-cache2.JPG" alt="" id="BLOGGER_PHOTO_ID_5645570352176121250" border="0" /&gt;&lt;/a&gt;Figura 3. access.log TCP_MISS.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Saludos!!!&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-1400921521082307575?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/1400921521082307575/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=1400921521082307575' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/1400921521082307575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/1400921521082307575'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2011/08/pfsense-2-squid-deshabilitar-cache.html' title='Pfsense 2 Squid Deshabilitar Cache'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-mejTyiQ8i-0/TlkVTRmP5AI/AAAAAAAAAKw/II-Lj3WHtWo/s72-c/squid-disable-cache.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-9111007336387463068</id><published>2011-07-02T00:57:00.000-07:00</published><updated>2011-08-15T09:04:35.549-07:00</updated><title type='text'>Pfsense 2 OpenVPN Site2Site TLS/SSL</title><content type='html'>Vamos a ver, esta ultimas semanas hemos estado trabajando duro con Pfsense 2.0RC3 Current i386 para unir 2 redes atraves de una VPN, hay ocaciones donde no es posible alquilar una T1 para este tipo de tareas, no quedaria nada de ganancia para la empresa.&lt;br /&gt;&lt;br /&gt;Por ello con los costos que se manejan actualmente en las conexiones tipo ADSL/Cable y las velocidades uno en el area voltea a verlas como una opcion.&lt;br /&gt;&lt;br /&gt;Ahora hablando de las VPN, he trabajado con OpenVPN desde la version 1.0 de Pfsense si mal no recuerdo, desde que conoci a este firewall basado en FreeBSD me enfoque de lleno en el, ya que yo conoci a el mundo Unix gracias a FreeBSD y aun maestro(Lic. en Informatica Rene) de redes del Instituto Tecnologico de Tijuana, gracias profe.&lt;br /&gt;&lt;br /&gt;Bien, anteriormente teniamos que hacer uso de las herramientas de openvpn que son usa serie de scripts que nos generan los archivos necesarios para tener una comunicacion segura, ya que el tema es: OpenVPN SSL/TLS, el cual se basa en tener una llave privada y una publica con la cual el tunel encriptara/desencriptara los paquetes que por ahi fluyan, esto es termimos basicos.&lt;br /&gt;&lt;br /&gt;Ahora con pfsense 2.0 esto a cambiado, ya que el trae atraves de su gui las herramientas necesarias para llevar a cabo la generacion de los archivos  antes mencionados.&lt;br /&gt;&lt;br /&gt;Vamos a mostrar la red que deseamos unir atraves de openvpn.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-5DPryNlnOuc/TkYMKOVSGQI/AAAAAAAAAFg/W8HZhuj2P1s/s1600/pfsense1.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 170px;" src="http://3.bp.blogspot.com/-5DPryNlnOuc/TkYMKOVSGQI/AAAAAAAAAFg/W8HZhuj2P1s/s320/pfsense1.JPG" alt="" id="BLOGGER_PHOTO_ID_5640208953113712898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Como se podra ver es una red muy comun, ahora esa red que se muestra pareciera que todo esta comunicado pero no, ya que solo muestro que ambas redes tiene una conexion a Internet, pero no hay ningun medio de comunicacion seguro entre ambas.&lt;br /&gt;&lt;br /&gt;Por default sabemos que pfsense pide como minimo 2 tarjetas de red:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;LAN&lt;/li&gt;&lt;li&gt;WAN&lt;/li&gt;&lt;/ul&gt;   Son las que se muestran en la figura 1.&lt;br /&gt;&lt;br /&gt;No voy a entrar en detalle hacerca openssl, PKI, etc, ya que de eso ahi mucho en Internet.&lt;br /&gt;&lt;br /&gt;Vamos ensuciarnos las manos.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;  Certificados&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;   Que necesitamos?&lt;br /&gt;&lt;br /&gt;1; CA.&lt;br /&gt;Common Name: ca.&lt;br /&gt;&lt;br /&gt;2; Certificado Servidor.&lt;br /&gt;Common Name: server.&lt;br /&gt;&lt;br /&gt;Esto nos va generar en total 4 archivos.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ca.crt   ===&amp;gt; todos deben ternerlo   ==&amp;gt; Secreto (No)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;ca.key   ===&amp;gt; todos deben ternerlo   ===&amp;gt; Secreto (Si)&lt;/li&gt;&lt;li&gt;server.crt   ===&amp;gt; Solo el server debe tenerlo ===&amp;gt; Secreto (No)&lt;/li&gt;&lt;li&gt;server.key   ===&amp;gt;  Solo el server debe tenerlo   ===&amp;gt; Secreto (Yes)&lt;/li&gt;&lt;/ul&gt;   Estos son los archivos que va a necesitar el server, ahora tambien tenemos que generar los archivos del cliente y tendremos esto:&lt;br /&gt;&lt;br /&gt;1; cliente1.&lt;br /&gt;Common Name: cliente1.&lt;br /&gt;&lt;br /&gt;Esto nos va generar en total 2 archivos.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;cliente1.crt   ==&amp;gt;  Debe tenerlos tanto el cliente1 como el server   ===&amp;gt; Secreto(No).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;cliente1.key   ===&amp;gt; Debe tenerlos tanto el cliente1 como el server   ===&amp;gt; Secreto (Si)&lt;/li&gt;&lt;/ul&gt;   Algo que tiene openvpn es que uno puede usar los mismos archivos del cliente en N numero de clientes pero no esto no me agrada, por ello yo prefiero generar para cada uno sus respectivas credenciales.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;     Dyndns&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left; font-weight: normal;"&gt;   OpenVPN se basa en la direccion de Internet, pero con un servicio de adsl/cable nuestras direcciones publicas cambian y es dificil para OpenVPN mantener a el dia su operacion. Internet no es nada sin los DNS asi que por ello hago uso del servicio de dyndns y tengo lo siguiente:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;server . dyndns . org&lt;/li&gt;&lt;li&gt;cliente1 . dyndns . org&lt;/li&gt;&lt;/ul&gt;   Una vez dados de alta, debemos configurar el servicio de "&lt;span style="font-weight: bold;"&gt;Dynamic DNS&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-HuH2Ob8WOy0/TkYXimoPRXI/AAAAAAAAAFo/w2ORl4wyt-8/s1600/dyndns1.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 220px;" src="http://2.bp.blogspot.com/-HuH2Ob8WOy0/TkYXimoPRXI/AAAAAAAAAFo/w2ORl4wyt-8/s320/dyndns1.JPG" alt="" id="BLOGGER_PHOTO_ID_5640221466580436338" border="0" /&gt;&lt;/a&gt;Figura 2: Configurando Dinamic Dyndns.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/-ufT-QWhxS0M/TkYXwsyF3BI/AAAAAAAAAFw/ZFw5P-GDJ8g/s1600/dyndns2.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 100px;" src="http://4.bp.blogspot.com/-ufT-QWhxS0M/TkYXwsyF3BI/AAAAAAAAAFw/ZFw5P-GDJ8g/s320/dyndns2.JPG" alt="" id="BLOGGER_PHOTO_ID_5640221708750543890" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center; font-weight: normal;"&gt;Figura 3: Estatus de Dinamic Dyndns..&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;  Esto debe hacerse en todos sus servers y clientes, la figura 3 nos debe mostrar nuestra IP en color, si no muestra su IP deben solucionarlo, lo que me ha pasado es que  a veces el password lo pongo mal.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;Creando credenciales--Cert Manager&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;1; Creando el CA certificado de Autenticidad.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-JGMQA4wYySE/TkYfFbD886I/AAAAAAAAAF4/OOSADaXmcso/s1600/cert1.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 89px;" src="http://2.bp.blogspot.com/-JGMQA4wYySE/TkYfFbD886I/AAAAAAAAAF4/OOSADaXmcso/s320/cert1.JPG" alt="" id="BLOGGER_PHOTO_ID_5640229761352266658" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 4: Creando CA.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-W2t__NE8tLE/TkYfVAgd4vI/AAAAAAAAAGA/FNCHM4BdXIc/s1600/cert2.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 186px;" src="http://2.bp.blogspot.com/-W2t__NE8tLE/TkYfVAgd4vI/AAAAAAAAAGA/FNCHM4BdXIc/s320/cert2.JPG" alt="" id="BLOGGER_PHOTO_ID_5640230029102015218" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 5: Ingresando datos de CA.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt; Debemos poner atención&lt;/span&gt;  &lt;span style="font-weight: normal;"&gt;en los&lt;/span&gt; &lt;span style="font-weight: normal;"&gt;datos que ingresamos y siempre recordar el nombre que se ingresa en "Common Name" debe ser unico&lt;span style="font-weight: bold;"&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;  Y sobre todo&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;el valor que elegimos en la duracion de la llave, ya que si se nos olvida y llega su tiempo la conexion se caera automaticamente, pero a muchos les gusta poner datos muy grandes para nunca preocuparse de cambiarlas, yo estoy usando 365 dias, pero me gusta mas hacer esto cada 180 dias.&lt;br /&gt;&lt;br /&gt;Otro campo que deben ustedes juzgar en sus pruebas es el tamaño en bits de la llave, esto tiene una relacion con el CPU, ya que mientras mas grande, mas segura pero esto sacrifica CPU, si van a conectar varias redes aun punto central recordar que el server debe ser un equipo con un buen CPU.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-CnqRJCfVSrw/TkYhlZA_xxI/AAAAAAAAAGI/8kqvDNX2t8Y/s1600/cert3.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 84px;" src="http://1.bp.blogspot.com/-CnqRJCfVSrw/TkYhlZA_xxI/AAAAAAAAAGI/8kqvDNX2t8Y/s320/cert3.JPG" alt="" id="BLOGGER_PHOTO_ID_5640232509582067474" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 6: Resultado de la creacion del CA.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;   Como podran ver ya tenemos el CA del server, con este vamos a firmar todos los certificados que vamos a crear enseguida.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-mPKnHvNG5C8/TkYiBc3JAYI/AAAAAAAAAGQ/fXbqEVJb4z4/s1600/cert4.JPG"&gt;&lt;img style="cursor: pointer; width: 320px; height: 80px;" src="http://3.bp.blogspot.com/-mPKnHvNG5C8/TkYiBc3JAYI/AAAAAAAAAGQ/fXbqEVJb4z4/s320/cert4.JPG" alt="" id="BLOGGER_PHOTO_ID_5640232991650808194" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: normal;"&gt;Figura 7: Creacion de certificados.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://3.bp.blogspot.com/-ubLoDfzDG5c/TkYiPhOAMqI/AAAAAAAAAGY/cW92BIKWR7Y/s1600/cert5.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 198px;" src="http://3.bp.blogspot.com/-ubLoDfzDG5c/TkYiPhOAMqI/AAAAAAAAAGY/cW92BIKWR7Y/s320/cert5.JPG" alt="" id="BLOGGER_PHOTO_ID_5640233233338610338" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 8: Creando el certificado del servidor.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;   Ver la figura 8, hemos basado los datos en los que ingresamos cuando creamos los CA, recordar siempre nuestro "Common Name".&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-trwiDxrsKbA/TkYiv56yBtI/AAAAAAAAAGg/6rmEO1H-nt0/s1600/cert6.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 198px;" src="http://2.bp.blogspot.com/-trwiDxrsKbA/TkYiv56yBtI/AAAAAAAAAGg/6rmEO1H-nt0/s320/cert6.JPG" alt="" id="BLOGGER_PHOTO_ID_5640233789724690130" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 9: Creando certificado de nuestro cliente.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://1.bp.blogspot.com/-vKX0H79XCGo/TkYjMo5S7tI/AAAAAAAAAGo/p-OiBHEAAMU/s1600/cert7.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 107px;" src="http://1.bp.blogspot.com/-vKX0H79XCGo/TkYjMo5S7tI/AAAAAAAAAGo/p-OiBHEAAMU/s320/cert7.JPG" alt="" id="BLOGGER_PHOTO_ID_5640234283371261650" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 10: Listado de certificados creados.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-i9kHM9sDlYg/TkYjZmy_B-I/AAAAAAAAAGw/doBzvgkqQeY/s1600/cert8.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 82px;" src="http://2.bp.blogspot.com/-i9kHM9sDlYg/TkYjZmy_B-I/AAAAAAAAAGw/doBzvgkqQeY/s320/cert8.JPG" alt="" id="BLOGGER_PHOTO_ID_5640234506146220002" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 11: Nuestro CA mostrando los certificados firmados.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;Ya tenemos todos nuestros archivos creados, es momento de ir a openvpn a configurar nuestro 1er servidor.&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;OpenVPN&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;  Vamos mostrando en nuestra red quien sera el server y quien sera el cliente1 para mayor claridad.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-7hacEq6t8rQ/TkaTWoh-SBI/AAAAAAAAAHI/3mrwlyzkV30/s1600/pfsense1.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 154px;" src="http://1.bp.blogspot.com/-7hacEq6t8rQ/TkaTWoh-SBI/AAAAAAAAAHI/3mrwlyzkV30/s320/pfsense1.JPG" alt="" id="BLOGGER_PHOTO_ID_5640357600374442002" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 12: Detalle de red con OpenVPN.&lt;/span&gt; &lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: normal;"&gt;La&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: normal;"&gt;figura 12 muestra claramente donde vamos a iniciar la configuracion, sera en la red marcado como "OpenVPN-server"&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: normal;"&gt;ahi es donde mi cliente desea entrar a utilizar mis recursos que son impresoras, servidor ERP, servidores de bases de datos, correo, archivos compartidos, etc.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;Recordar que en OpenVPN no cambia el diseño servidor-cliente, por cada red que deseamos conectar a nuestro tunel(server) creamos un cliente, empezamos.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-iS2ziETLs1A/TkYqM5QiYxI/AAAAAAAAAG4/DsDQbVYTHSg/s1600/server1.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 66px;" src="http://2.bp.blogspot.com/-iS2ziETLs1A/TkYqM5QiYxI/AAAAAAAAAG4/DsDQbVYTHSg/s320/server1.JPG" alt="" id="BLOGGER_PHOTO_ID_5640241984345105170" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 13: Creando el servidor.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-vQwIQY20Pmw/TkarOL3GsAI/AAAAAAAAAJY/wSEevtNAuRI/s1600/server2.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 188px; height: 320px;" src="http://3.bp.blogspot.com/-vQwIQY20Pmw/TkarOL3GsAI/AAAAAAAAAJY/wSEevtNAuRI/s320/server2.JPG" alt="" id="BLOGGER_PHOTO_ID_5640383843518558210" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 14: Configurando el server.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span class="vexpl"&gt;&lt;span style="font-weight: normal;"&gt;Nuestro tunel cruzara por la red: 10.0.99.0/24, ninguna de sus redes debe hacer uso de esta red, el server siempre tomas las primera IP de esa red:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-q48za0mpILQ/TkaVmSf8pKI/AAAAAAAAAHQ/ABQhycxuRug/s1600/int1.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 49px;" src="http://2.bp.blogspot.com/-q48za0mpILQ/TkaVmSf8pKI/AAAAAAAAAHQ/ABQhycxuRug/s320/int1.JPG" alt="" id="BLOGGER_PHOTO_ID_5640360068361528482" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 15: Interface del server.&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Sylx-pSF2UQ/TkaWGVix3ZI/AAAAAAAAAHY/_k3hAwyes48/s1600/server3.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 70px;" src="http://3.bp.blogspot.com/-Sylx-pSF2UQ/TkaWGVix3ZI/AAAAAAAAAHY/_k3hAwyes48/s320/server3.JPG" alt="" id="BLOGGER_PHOTO_ID_5640360618934525330" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 16: Mostrando el server creado.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;Ahora, yo deseo agregar unos parametros para mi cliente importantisimos de lo contrario mi tunel no funcionara bien. Para ello hago uso de la etiqueta que dice "Custom specific override¨.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-2YYIUh_plLI/TkaWthPotUI/AAAAAAAAAHg/Fsur4GwMUMY/s1600/server5.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 283px; height: 320px;" src="http://3.bp.blogspot.com/-2YYIUh_plLI/TkaWthPotUI/AAAAAAAAAHg/Fsur4GwMUMY/s320/server5.JPG" alt="" id="BLOGGER_PHOTO_ID_5640361292090357058" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 17: Agregando parametros adicionales a mi cliente1.&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-QJ1GSmsX6kw/TkaXAthVtCI/AAAAAAAAAHo/n7Q4jcXJGXA/s1600/server6.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 71px;" src="http://4.bp.blogspot.com/-QJ1GSmsX6kw/TkaXAthVtCI/AAAAAAAAAHo/n7Q4jcXJGXA/s320/server6.JPG" alt="" id="BLOGGER_PHOTO_ID_5640361621803349026" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 18: Estatus de la opcion personalizada.&lt;/span&gt; &lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;Hasta &lt;/span&gt;&lt;span style="font-weight: normal;"&gt;aqui hemos terminado la configuraciion de nuestro servidor de parte de OpenVPN, lo que sigue es abrir el puerto en el firewall para permitir el acceso a server por parte de los clientes, datos de la conexion:&lt;/span&gt; &lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: normal;"&gt;Interface: WAN.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: normal;"&gt;Protocolo: UDP.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: normal;"&gt;Puerto: 1194 (Default).&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: normal;"&gt;Con esto se supone que nuestro servidor debe estar escuchando por peticiones en ese puerto via UDP, vamos a revisar:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-QW-zf-GGBtk/TkaYrdG7oVI/AAAAAAAAAHw/BKdkbSRjrrE/s1600/int2.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 18px;" src="http://1.bp.blogspot.com/-QW-zf-GGBtk/TkaYrdG7oVI/AAAAAAAAAHw/BKdkbSRjrrE/s320/int2.JPG" alt="" id="BLOGGER_PHOTO_ID_5640363455643623762" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura19: Server escuchando peticiones.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;Lo que sigue es &lt;/span&gt;&lt;span style="font-weight: normal;"&gt;abrir el puerto 1194 en la WAN:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-_LOzytfcHE8/TkaZ8NrgEnI/AAAAAAAAAIA/vxAsvjsqX0M/s1600/fw1.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 301px;" src="http://1.bp.blogspot.com/-_LOzytfcHE8/TkaZ8NrgEnI/AAAAAAAAAIA/vxAsvjsqX0M/s320/fw1.JPG" alt="" id="BLOGGER_PHOTO_ID_5640364843071443570" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 20: Regla para OpenVPN.&lt;/span&gt; &lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-lx6F_LHJ2kA/TkaZzpKrcfI/AAAAAAAAAH4/OUJhpfAZc9c/s1600/fw2.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 136px;" src="http://2.bp.blogspot.com/-lx6F_LHJ2kA/TkaZzpKrcfI/AAAAAAAAAH4/OUJhpfAZc9c/s320/fw2.JPG" alt="" id="BLOGGER_PHOTO_ID_5640364695831146994" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 21: Estatus de la regla.&lt;/span&gt; &lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Algo que hace Pfsense automaticamente es agregar una interface llamada "Openvpn" en las reglas de su firewall y es sencilla "Todo entra y sale", que es lo hace en la v. 1.2.3, la diferencia es que ahora uno ya puede controlarla aun mas por que ya podemos configurar nuestras reglas como en la LAN/WAN,algo que muchos pediamos en las versiones anteriores, por fin se cumplio.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-kWLW_NDd8sw/Tkab0CaYGiI/AAAAAAAAAII/xOvy7K9UP-I/s1600/fw3.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 136px;" src="http://1.bp.blogspot.com/-kWLW_NDd8sw/Tkab0CaYGiI/AAAAAAAAAII/xOvy7K9UP-I/s320/fw3.JPG" alt="" id="BLOGGER_PHOTO_ID_5640366901631130146" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 22: Regla de VPN en el firewall.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Ya con esto podemos recibir a nuestros clientes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:130%;"&gt;Configuracion de nuestro 1er cliente&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;Vamos sobre nuestro 1er cliente que desea accesar atraves de OpenVPN de manera segura.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Pero antes de llegar a openvpn, debemos recordar que nuestro cliente necesita ciertas credenciales para entablar esa comunicacion, arriba se los aclare, necesitamos por parte del server:&lt;/span&gt; &lt;ul style="font-weight: normal;"&gt;&lt;li&gt;ca.crt&lt;/li&gt;&lt;li&gt;ca.key&lt;/li&gt;&lt;li&gt;cliente1.crt&lt;/li&gt;&lt;li&gt;cliente1.key&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: normal;"&gt;Vamos a bajarlos a nuestra computadora, ustedes deciden como llevarlos hasta el server yo uso memorias usb y voy fisicamente a el cliente1 para darselos.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-ljnVKyF1mls/TkaeJdaOQ3I/AAAAAAAAAIQ/H0UB4IgrkD0/s1600/cert9.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 84px;" src="http://4.bp.blogspot.com/-ljnVKyF1mls/TkaeJdaOQ3I/AAAAAAAAAIQ/H0UB4IgrkD0/s320/cert9.JPG" alt="" id="BLOGGER_PHOTO_ID_5640369468678751090" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 23: Bajando archivos CA.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-D51GxopqHB0/TkaeVqI08lI/AAAAAAAAAIY/SA72_7Bentw/s1600/cert10.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 106px;" src="http://3.bp.blogspot.com/-D51GxopqHB0/TkaeVqI08lI/AAAAAAAAAIY/SA72_7Bentw/s320/cert10.JPG" alt="" id="BLOGGER_PHOTO_ID_5640369678253879890" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 24: Bajando archivos de nuestro cliente&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;Una vez que tiene su cliente esos archivos es momento de darselos, para ello deben abrirlos en con algun ed&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;itor de texto, yo estoy usando WordPad, copeo el contenido y lo pego donde lo necesito:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-1jblPGYopyc/Tkah7fhMe9I/AAAAAAAAAIg/RhnwwlDCPns/s1600/cert1.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 89px;" src="http://2.bp.blogspot.com/-1jblPGYopyc/Tkah7fhMe9I/AAAAAAAAAIg/RhnwwlDCPns/s320/cert1.JPG" alt="" id="BLOGGER_PHOTO_ID_5640373626773208018" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 25: Agregando CA as cliente1.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-NPGm33-7zME/TkaiMF5mp7I/AAAAAAAAAIo/ksdfoKoG6-c/s1600/llave1.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 260px;" src="http://3.bp.blogspot.com/-NPGm33-7zME/TkaiMF5mp7I/AAAAAAAAAIo/ksdfoKoG6-c/s320/llave1.JPG" alt="" id="BLOGGER_PHOTO_ID_5640373911954040754" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 26: Contenido ejemplo de el contenido de las credenciales.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-gMyGr-bqs9Q/TkaigJm9oDI/AAAAAAAAAIw/dwklaJLWhkg/s1600/llave2.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 226px;" src="http://2.bp.blogspot.com/-gMyGr-bqs9Q/TkaigJm9oDI/AAAAAAAAAIw/dwklaJLWhkg/s320/llave2.JPG" alt="" id="BLOGGER_PHOTO_ID_5640374256546979890" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 27: Pegando el contenido en cada campo.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/-Zs2wx0gnJjQ/Tkaiyd-200I/AAAAAAAAAI4/GFXWMz4kb54/s1600/cert11.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 78px;" src="http://4.bp.blogspot.com/-Zs2wx0gnJjQ/Tkaiyd-200I/AAAAAAAAAI4/GFXWMz4kb54/s320/cert11.JPG" alt="" id="BLOGGER_PHOTO_ID_5640374571253551938" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: normal;"&gt;Figura 28: CA dado de alta en nuestro cliente1.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-nUwKnTyc90g/TkajAz4rOgI/AAAAAAAAAJA/z4_qG8cpUG4/s1600/cert12.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 86px;" src="http://3.bp.blogspot.com/-nUwKnTyc90g/TkajAz4rOgI/AAAAAAAAAJA/z4_qG8cpUG4/s320/cert12.JPG" alt="" id="BLOGGER_PHOTO_ID_5640374817651374594" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figuara 29: Dando de alta los certificados del cliente1.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-dgLrKSXpyU0/TkajO7vgpfI/AAAAAAAAAJI/7ASzmI6kj10/s1600/cert13.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 202px;" src="http://4.bp.blogspot.com/-dgLrKSXpyU0/TkajO7vgpfI/AAAAAAAAAJI/7ASzmI6kj10/s320/cert13.JPG" alt="" id="BLOGGER_PHOTO_ID_5640375060278584818" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 30: Agregar el contenido donde se indica.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-0jyN8svPDaA/TkajcSdhMII/AAAAAAAAAJQ/eMdAC_xZVmI/s1600/cert14.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 98px;" src="http://3.bp.blogspot.com/-0jyN8svPDaA/TkajcSdhMII/AAAAAAAAAJQ/eMdAC_xZVmI/s320/cert14.JPG" alt="" id="BLOGGER_PHOTO_ID_5640375289715437698" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 31: Certificados de cliente1 dados de alta.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;Ya tenemos de lado del cliente todo lo necesario, lo que sigue es configurar nuestro openvpn para entablar la comunicacion con nuestro server.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ihVTNE6oPFQ/Tkar0Cee5SI/AAAAAAAAAJg/RvYOk6gdXxE/s1600/cliente1.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 66px;" src="http://3.bp.blogspot.com/-ihVTNE6oPFQ/Tkar0Cee5SI/AAAAAAAAAJg/RvYOk6gdXxE/s320/cliente1.JPG" alt="" id="BLOGGER_PHOTO_ID_5640384493834396962" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 32: Configurando cliente1.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-Q4HPG2RajpU/TkasIvZqk7I/AAAAAAAAAJo/-NE7RbJylSY/s1600/cliente2.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 178px; height: 320px;" src="http://1.bp.blogspot.com/-Q4HPG2RajpU/TkasIvZqk7I/AAAAAAAAAJo/-NE7RbJylSY/s320/cliente2.JPG" alt="" id="BLOGGER_PHOTO_ID_5640384849491170226" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 33: Configuracion de cliente1.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-sWVVhgr9lEE/Tkasa0IXqRI/AAAAAAAAAJw/8b_nz1sECn4/s1600/cliente3.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 70px;" src="http://3.bp.blogspot.com/-sWVVhgr9lEE/Tkasa0IXqRI/AAAAAAAAAJw/8b_nz1sECn4/s320/cliente3.JPG" alt="" id="BLOGGER_PHOTO_ID_5640385159998449938" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 34: Finalizacion de cliente1.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-6L87lIbmYA0/TkatS_QCupI/AAAAAAAAAJ4/XYE92QkyfF4/s1600/server-estatus.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 47px;" src="http://2.bp.blogspot.com/-6L87lIbmYA0/TkatS_QCupI/AAAAAAAAAJ4/XYE92QkyfF4/s320/server-estatus.JPG" alt="" id="BLOGGER_PHOTO_ID_5640386125056096914" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 35: Estatus de OpenVPN en el server.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-JXnU1kNOf98/TkatdTlNsCI/AAAAAAAAAKA/JfAIHoK54P8/s1600/cliente-estatus.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 56px;" src="http://3.bp.blogspot.com/-JXnU1kNOf98/TkatdTlNsCI/AAAAAAAAAKA/JfAIHoK54P8/s320/cliente-estatus.JPG" alt="" id="BLOGGER_PHOTO_ID_5640386302312296482" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 36: Estatus de OpenVPN en cliente1.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Probando Comunicacion&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Ya nuestro tunel esta arriba, nuestro pfsense-cliente estos datos de interface del tunel:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-qF5UApcG8PI/TkawtkukIgI/AAAAAAAAAKI/2VS1Bnh9v4c/s1600/int3.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 51px;" src="http://3.bp.blogspot.com/-qF5UApcG8PI/TkawtkukIgI/AAAAAAAAAKI/2VS1Bnh9v4c/s320/int3.JPG" alt="" id="BLOGGER_PHOTO_ID_5640389880327709186" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 37: Interface vpn del cliente1.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Ahora el tunel esta creado, pero si ustedes de cualquier lado del tunel tratan de llegar a los clientes no pasaran, porque una cosa es comunicacion entre el tunel 10.0.99.0/24 y otra cosa esa comunicacion entre las redes fisicas 192.168.2.0/24 y 192.168.50.0/24.&lt;/span&gt;  &lt;span style="font-weight: normal;"&gt;Entonces la regla del tunel esta libre, ustedes deben abrir  a nivel LAN en ambos lados para que fluya la comunicacion entre las 2 redes.&lt;/span&gt;  &lt;span style="font-weight: normal;"&gt;En su firewall de lado del server abran una regla que permita todo de su LAN hacia la red 192.168.50.0/24, lo mismo del lado del cliente, una regla LAN que permita el trafico hacia la 192.168.2.0/24, pueden crear hasta un alias si gustan, esto es para pruebas, cuando se vayan a produccion deben permitir solo lo necesario.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Pingeo entre ambos servidores&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-P1qvkNw8hUk/TkaykiKE6kI/AAAAAAAAAKQ/0NnNk0b148k/s1600/test1.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 123px;" src="http://3.bp.blogspot.com/-P1qvkNw8hUk/TkaykiKE6kI/AAAAAAAAAKQ/0NnNk0b148k/s320/test1.JPG" alt="" id="BLOGGER_PHOTO_ID_5640391924042230338" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 38: Pingeo operando en ambos lados.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-Mb2gcKsw50w/TkazEjUNx-I/AAAAAAAAAKY/oe0lchO9-jI/s1600/test2.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 268px;" src="http://4.bp.blogspot.com/-Mb2gcKsw50w/TkazEjUNx-I/AAAAAAAAAKY/oe0lchO9-jI/s320/test2.JPG" alt="" id="BLOGGER_PHOTO_ID_5640392474109003746" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 39: Pingeo de lado del cliente.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-SYWTa80Nilg/Tkaz-qZqLNI/AAAAAAAAAKg/ep1cHZ0ulos/s1600/test3.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 212px;" src="http://1.bp.blogspot.com/-SYWTa80Nilg/Tkaz-qZqLNI/AAAAAAAAAKg/ep1cHZ0ulos/s320/test3.JPG" alt="" id="BLOGGER_PHOTO_ID_5640393472443296978" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 40: Pingeo de lado del server.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Listo.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left; font-weight: normal;"&gt;Parece que la comunicacion esta operando, espero les sirva a alguien, lo que sigue es ajustar o probar varias tipos de escenarios principalmente lo referente a el tamaño de las llaves, el algoritmo de encriptacion, mientras mas fuerte creemos las llaves o elijamos un algoritmo mas alto recordar que su CPU sera afectado, pero esto sus pruebas se los diran y ustedes tendran que tomar la decision, saludos.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Versiones de pfsense&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-1pfUkSLjhCM/Tka1dM00HHI/AAAAAAAAAKo/pArcyS_oXIE/s1600/vpfsense.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 143px;" src="http://1.bp.blogspot.com/-1pfUkSLjhCM/Tka1dM00HHI/AAAAAAAAAKo/pArcyS_oXIE/s320/vpfsense.JPG" alt="" id="BLOGGER_PHOTO_ID_5640395096591703154" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: normal;"&gt;Figura 41: Version de pfsense para este manual.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Necesitan soporte en Baja California y sus alrededores: pmoreno@bajaopensolutions.com&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;NOTE: If u want this manual to be translate to English let me know please!!!&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-9111007336387463068?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/9111007336387463068/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=9111007336387463068' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/9111007336387463068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/9111007336387463068'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2011/07/pfsense-20.html' title='Pfsense 2 OpenVPN Site2Site TLS/SSL'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-5DPryNlnOuc/TkYMKOVSGQI/AAAAAAAAAFg/W8HZhuj2P1s/s72-c/pfsense1.JPG' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-4392811201280469761</id><published>2011-05-01T22:00:00.001-07:00</published><updated>2011-05-01T22:47:08.395-07:00</updated><title type='text'>FreeBSD: newsyslog</title><content type='html'>Bien el mundo BSD tiene un programa para rotar sus logs de nombre:newsyslog.&lt;br /&gt;&lt;br /&gt; Cada que instalamos por ejemplo a FreeBSD se instala en /etc ya que es una aplicacion base, y nos da una configuracion como esta:&lt;br /&gt;&lt;br /&gt;/var/log/all.log                        600  7     *    @T00  J&lt;br /&gt;/var/log/amd.log                        644  7     100  *     J&lt;br /&gt;/var/log/auth.log                       600  7     100  *     JC&lt;br /&gt;/var/log/console.log                    600  5     100  *     J&lt;br /&gt;/var/log/cron                           600  3     100  *     JC&lt;br /&gt;/var/log/daily.log                      640  7     *    @T00  JN&lt;br /&gt;/var/log/debug.log                      600  7     100  *     JC&lt;br /&gt;/var/log/kerberos.log                   600  7     100  *     J&lt;br /&gt;/var/log/lpd-errs                       644  7     100  *     JC&lt;br /&gt;/var/log/maillog                        640  7     *    @T00  JC&lt;br /&gt;/var/log/messages                       644  5     100  *     JC&lt;br /&gt;/var/log/monthly.log                    640  12    *    $M1D0 JN&lt;br /&gt;/var/log/pflog                          600  3     100  *     JB    /var/run/pflogd.pid&lt;br /&gt;/var/log/ppp.log        root:network    640  3     100  *     JC&lt;br /&gt;/var/log/security                       600  10    100  *     JC&lt;br /&gt;/var/log/sendmail.st                    640  10    *    168   B&lt;br /&gt;/var/log/weekly.log                     640  5     1    $W6D0 JN&lt;br /&gt;/var/log/wtmp                           644  3     *    @01T05 B&lt;br /&gt;/var/log/xferlog                        600  7     100  *     JC&lt;br /&gt;&lt;br /&gt;Si ustedes revisan algunos parametros han cambiado para mi, pero algunos continuan igual.&lt;br /&gt;Lo que deseo es agregar dos ya que el programa no instala ningun script que rote sus logs, por ejemplo clamavis.&lt;br /&gt;&lt;br /&gt;Por ello agrego lo siguiente:&lt;br /&gt;&lt;br /&gt;/var/log/clamav/freshclam.log   clamav:clamav   640     10      *       @T00    J&lt;br /&gt;/var/log/clamav/clamd.log       clamav:clamav   640     10      *       @T00    J&lt;br /&gt;&lt;br /&gt;El man page de newsyslog.conf dice lo siguiente:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;logfile name owner:group mode count size when&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;flag&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Vamos a romperlo:&lt;br /&gt;&lt;br /&gt;logfile name--&amp;gt; /var/log/clamav/freshclam.log&lt;br /&gt;owner:group--&amp;gt;clamav:clamav&lt;br /&gt;NOTA:si uno no agrega este parametro se pone por default root:wheel.&lt;br /&gt;mode--&amp;gt; 640&lt;br /&gt;count--&amp;gt;10&lt;br /&gt;size --&amp;gt;*&lt;br /&gt;Nota: cuando colocamos un "*" significa que no importa el tamaño, cuando llegue su momento el sistema lo va a rotar.&lt;br /&gt;when --&amp;gt; T00&lt;br /&gt;Aqui es donde le indicamos a que horas del dia lo va hacer, aqui es a las 12:00AM&lt;br /&gt;flag --&amp;gt; J&lt;br /&gt;Aqui le indicamos por ejemplo si deseamos que cuando lo rote lo comprima J = bzip.&lt;br /&gt;&lt;br /&gt;Tenemos 2 maneras de trabajar, cuando le indicamos en el 6to campo un "*", entonces el espera que le indiquemos aque horas lo va hacer, como en mi caso u otra cosa puede ser que le indiquemos que a cierto tamaño el tiene que rotarlo asi:&lt;br /&gt;&lt;br /&gt;/var/log/clamav/clamd.log       clamav:clamav   640     30      250      *    Z&lt;br /&gt;&lt;br /&gt;Cada que pase el tamaño de 256Kb el lo va a rotar, ademas  va a usar 30 archivos y a cada archivo lo va a comprimir usando gzip, entonces tendremos 30 archivos ejemplo:&lt;br /&gt;&lt;br /&gt;clamd.0.bzip&lt;br /&gt;clamd.1.bzip&lt;br /&gt;clamd.2.bzip&lt;br /&gt;clamd.3.bzip&lt;br /&gt;etc...&lt;br /&gt;&lt;br /&gt;Ahora, que pasa con el parametro "when" o cuando en español?&lt;br /&gt;&lt;br /&gt;Ese parametro esta sabroso, ya que usa el formato "ISO 8601" para el tiempo, segun el man page dice que debe empezar con @:&lt;br /&gt;&lt;br /&gt;$D0     rotar cada noche a las 12:00AM igual a @T00.&lt;br /&gt;$D23   Todos los dias a las 23:00PM igual que @T23.&lt;br /&gt;$W0D23  Cada semana en domingo a las 23:00PM.  Dia de la semana 0 = domingo.&lt;br /&gt;$W5D16 Rotar cada semana el viernes a las 16:00PM.&lt;br /&gt;$M1D0   El 1er dia de cada mes a las 12:00AM igual a @01T00.&lt;br /&gt;$M5D6   El 5to dia de cada mes a las 06:00AM igual que @05T06.&lt;br /&gt;&lt;br /&gt; Entonces ya con esto ustedes podran modificar a su antojo, si no me preguntan, animo.&lt;br /&gt;&lt;br /&gt; Solo recordar que cada que modifican a newsylog.conf deben re-iniciarlo.&lt;br /&gt;&lt;br /&gt;/etc/rc.d/newsyslog restart.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-4392811201280469761?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/4392811201280469761/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=4392811201280469761' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/4392811201280469761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/4392811201280469761'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2011/05/freebsd-newsyslog.html' title='FreeBSD: newsyslog'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-1673789041846582883</id><published>2011-02-02T10:37:00.000-08:00</published><updated>2011-02-02T10:45:16.839-08:00</updated><title type='text'>Centos 5.x: Sacar imagen de cd/dvd.</title><content type='html'>Con xen necesitamos tener las imagenes de los disco de instalacion Windows para mayor facilidad a la hora de hacer la instalacion.&lt;br /&gt;&lt;br /&gt;  Existe un comando viejisimo que sigue siendo util: dd.&lt;br /&gt;&lt;br /&gt;  En mi maquina la unidad de CD se llama: /dev/sr0, entonces ejecuto esto:&lt;br /&gt;&lt;br /&gt;  dd if=/dev/sr0 of=/opt/win2k3.iso  &lt;enter&gt;&lt;br /&gt;&lt;br /&gt;   /dev/sr0 --&gt; Mi unidad de cd/dvd&lt;br /&gt;   /opt/win2k3.iso --&gt; ruta y nombre del archivo deseado.&lt;br /&gt;&lt;br /&gt;  Ya solo espero que termine y poder usarla en Xen para arrancar la instalacion.&lt;br /&gt;&lt;br /&gt;  Saludos!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-1673789041846582883?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/1673789041846582883/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=1673789041846582883' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/1673789041846582883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/1673789041846582883'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2011/02/centos-5x-sacar-imagen-de-cddvd.html' title='Centos 5.x: Sacar imagen de cd/dvd.'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-6438928817158502424</id><published>2011-01-22T10:38:00.000-08:00</published><updated>2011-01-27T00:20:26.280-08:00</updated><title type='text'>Centos 5.x: OpenLDAP 2.3.x Replica</title><content type='html'>Buenos dias.&lt;br /&gt;&lt;br /&gt;Esta vez vamos a ver como hacer un servidor de respaldo para LDAP, por lo general es conveniente cuando ya tenemos un dominio con mas de 50 usuarios.&lt;br /&gt;&lt;br /&gt;Cuand hablo de dominio me estoy refiriendo a Samba+LDAP, yo deseo que si mi servidor PDC cae por alguna razon, mis usuarios no se vean afectados, otra es que solo deseo tener un solo dominio para mi empresa,  poder tener el PDC en Tijuana y el BDC en San Diego, atravez de un enlace privado o P2P o VPN.&lt;br /&gt;&lt;br /&gt;En este ejemplo, los usuarios de Tijuana haran uso del PDC maestro y los de San Diego haran uso del BDC que esta en San Diego, no tendrian ellos que comunicarse para Tijuana a buscar info del dominio. La unica situacion sera cuando ldap de Tijuana requiera actualizar informacion en su servidor ldap de respaldo de San Diego.&lt;br /&gt;&lt;br /&gt;Bien, ya no voy a tocar el tema de como configurar un dominio con Samba+LDAP ya que en mi blog viene como, nomas ahi que buscarle.&lt;br /&gt;&lt;br /&gt;Lo que voy hacer es lo siguiente:&lt;br /&gt;&lt;br /&gt;1; Debemos sacar una copia del ldap maestro y pasarsela a el esclavo,  todo esto  se tiene que hacer con el maestro apagado y el esclavo  apagado, y cuando hagan la copia no hagan ya ningun movimiento con el  maestro, de lo contrario la copia no sera exacta, por ello yo lo apago.&lt;br /&gt;&lt;br /&gt;2; Habilitar en el ldap maestro las opciones para hacer operar la replica, que es llevada a cabo por un servicio llamado slurp, cuando arranquen el ldap maestro veran que aparece un servicio con ese nombre.&lt;br /&gt;&lt;br /&gt;3; Enviar la copia a el esclavo.&lt;br /&gt;&lt;br /&gt;4; Configurar el esclavo tal cual esta el maestro, y agregar las opciones de esclavo.&lt;br /&gt;&lt;br /&gt;5; cargar la BD del maestro a el esclavo.&lt;br /&gt;&lt;br /&gt;6; Arrancar el esclavo, enseguida el maestro.&lt;br /&gt;&lt;br /&gt;7; Probar.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Paso 1.&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;slapadd -l klb.ldif&lt;br /&gt;&lt;/div&gt;Paso 2.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Abrimos el archivo de configuracion slapd.conf del maestro y agregamos esto a el final:&lt;br /&gt;&lt;br /&gt;replogfile /var/lib/ldap/replog&lt;br /&gt;replica host=slave1.klabacita.local:389&lt;br /&gt;binddn="cn=Manager,dc=klabacita,dc=local"&lt;br /&gt;      credentials=Manager-password&lt;br /&gt;      bindmethod=simple&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;NOTA:&lt;/span&gt; Cuando den de alta estos parametros, recordar que despues de "replica host" los siguientes deben de tener un tab de separacion, de lo contrario ldap marcara errores cuando lo ejecuten.&lt;br /&gt;&lt;br /&gt;Aqui mi dominio se llama KLABACITA.LOCAL.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;replica host=&lt;/span&gt;&lt;span&gt;servidor &lt;/span&gt;&lt;span&gt;esclavo que recibe los updates.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;server-name&lt;/span&gt;= pueden poner el IP del servidor, si trabajan con DNS o hosts poner el nombre del servidor, si usan nombre recuerden siempre probar la resolucion de nombre a IP.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;credentials&lt;/span&gt;= password del root user del ldap.&lt;br /&gt;&lt;br /&gt;El archivo de nombre: &lt;span style="font-weight: bold;"&gt;replog&lt;/span&gt; no va a existir, deben crearlo en la ruta elegida y debe tener como usuario y grupo a ldap.&lt;br /&gt;&lt;br /&gt;Si desean tener multiples esclavos deben agregar los mismo parametros pero apuntando a cada uno de sus esclavos.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Paso 3.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Para poder enviar la copia, hago uso de scp:&lt;br /&gt;&lt;br /&gt;scp klb.ldif root@ip-del-esclavo:/opt/&lt;br /&gt;&lt;br /&gt;Ya deben saber como usar scp, correcto!!!&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Paso 4.&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;Aparte de tener el slapd.conf del esclavo igual que el maestro, hablando tambien de la misma version de samba y los schemas tambien deben existir en el esclavo, agregamos las siguientes opciones a el esclavo a el final del archivo:&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;updatedn "cn=Manager,dc=klabacita,dc=local"&lt;br /&gt;updateref ldap://master-ldap-server:389/&lt;br /&gt;&lt;br /&gt;master-ldap-server= IP/Nombre del servidor maestro de LDAP.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Paso 5.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;El ldap esclavo debe estar apagado y ejecutar:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;slapadd -l /opt/klb.ldif&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Paso 6.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;En el esclavo:&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;service ldap start&lt;br /&gt;&lt;br /&gt;service ldap start&lt;br /&gt;Checking configuration files for slapd:  config file testing succeeded&lt;br /&gt;                                                         [  OK  ]&lt;br /&gt;Starting slapd:                                 [  OK  ]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;En el maestro:&lt;/span&gt;&lt;br /&gt;service ldap start&lt;br /&gt;&lt;br /&gt;service ldap start&lt;br /&gt;Checking configuration files for slapd:  config file testing succeeded&lt;br /&gt;                                                         [  OK  ]&lt;br /&gt;Starting slapd:                                 [  OK  ]&lt;br /&gt;Starting slurpd:                               [  OK  ]&lt;br /&gt;&lt;br /&gt;Ya aparecio el slurp.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Paso 7.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Para probar debemos configurar a centos para que use a LDAP como su provedor de usuarios y grupos. Para ello debemos agregar a ambos sistemas ambos servidores por si uno cae tenga otro de donde sacar la info.&lt;br /&gt;&lt;br /&gt;Configurar el /etc/ldap.conf y agregar el que falta, empezando por el maestro:&lt;br /&gt;&lt;br /&gt;host 127.0.0.1 pdc-srv&lt;br /&gt;&lt;br /&gt;Ahora el esclavo:&lt;br /&gt;&lt;br /&gt;host 127.0.0.1 pdc-dos&lt;br /&gt;&lt;br /&gt;pdc-srv = nombre de mi servidor esclavo.&lt;br /&gt;pdc-dos = nombre de mi servidor maestro.&lt;br /&gt;&lt;br /&gt;Ahora sigue /etc/openldap/ldap.conf&lt;br /&gt;&lt;br /&gt;Maestro:&lt;br /&gt;&lt;br /&gt;URI     ldap://127.0.0.1 ldap://pdc-srv&lt;br /&gt;HOST    127.0.0.1 pdc-srv&lt;br /&gt;&lt;br /&gt;Esclavo:&lt;br /&gt;&lt;br /&gt;URI     ldap://127.0.0.1 ldap://pdc-dos&lt;br /&gt;HOST    127.0.0.1 pdc-dos&lt;br /&gt;&lt;br /&gt;Ejecutamos el servicio authconfig-tui y volvemos a configurar a ldap, cuando pasen a la pantalla siguiente en ambos sistemas deberan ver como se agrego el segundo servidor.&lt;br /&gt;&lt;br /&gt;Listo, lo que sigue es probar esto, apaguen el maestro, supongamos que tenemos un usuario de nombre: test.&lt;br /&gt;&lt;br /&gt;Con el servidor maestro apagado, ejecutamos el comando:&lt;br /&gt;&lt;br /&gt;id test en ambos sistemas y nos debe dar la misma informacion:&lt;br /&gt;&lt;br /&gt;Maestro:&lt;br /&gt;id test&lt;br /&gt;uid=1003(test) gid=513(Domain Users) groups=513(Domain Users)&lt;br /&gt;&lt;br /&gt;Esclavo:&lt;br /&gt;&lt;br /&gt;id test&lt;br /&gt;uid=1003(test) gid=513(Domain Users) groups=513(Domain Users)&lt;br /&gt;&lt;br /&gt;Arranquen el maestro y apaguen el esclavo, debe ocurrir lo mismo.&lt;br /&gt;&lt;br /&gt;Agreguen un usuario, hagan lo mismo y deben recibir respuesta aunque cualquiera de ambos este apagado, monitorien el archivo de las replica en el maestro.&lt;br /&gt;&lt;br /&gt;Si quieren aun mas ver si se estan llevando las replicas, en el esclavo ejecutamos el tcpdump para el puerto 389 y deben ver la comunicacion cuando el maestro manda los cambios.&lt;br /&gt;&lt;br /&gt;Esclavo:&lt;br /&gt;&lt;br /&gt;tcpdump -i eth0 port 389&lt;br /&gt;&lt;br /&gt;Maestro:&lt;br /&gt;&lt;br /&gt;agreguen un usuario, como estamos hablando de samba+ldap, entonces vamos hacer uso de smbldap-tools comando smbldap-useradd.&lt;br /&gt;&lt;br /&gt;smbldap-useradd -a -m test2&lt;br /&gt;&lt;br /&gt;Tan pronto ejecuten esto, en la pantalla del esclavo van a ver comunicacion, y prueban de nuevo con el comando id, debe su esclavo ya tener info del usuario:&lt;br /&gt;&lt;br /&gt;id test2&lt;br /&gt;&lt;br /&gt;Es todo, saludos!!!&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-6438928817158502424?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/6438928817158502424/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=6438928817158502424' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/6438928817158502424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/6438928817158502424'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2011/01/centos-5x-openldap-23x-replica.html' title='Centos 5.x: OpenLDAP 2.3.x Replica'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-1395710739655344924</id><published>2010-11-22T22:53:00.000-08:00</published><updated>2010-11-23T19:29:51.006-08:00</updated><title type='text'>Centos 5x: Herramientas de desempeño de disco duro</title><content type='html'>Tenemos 2 tipos de raid comunmente usados, Raid-5 y Raid-10. Ahora uno puede comprar una tarjeta controladora que soporta estos y muchos mas, el unico detalle es que muchas no tiene drivers para Linux/Unix y sus herramientas de monitoreo requieren modulo grafico para poder usarlas.&lt;br /&gt;&lt;br /&gt;  Bien desde que conoci a md en Linux o gmirror en FreeBSD he optado por llevar a cabo mis arreglos via software con estas 2 herramientas.&lt;br /&gt;&lt;br /&gt;  Ahora que herramientas tenemos a la mano Open Source que podamos usar para ver el desempeño de nuestros discos duros o arreglos?&lt;br /&gt;&lt;br /&gt;  Aqui muestro algunas de ellas y las herramientas que podemos usar para capturar la informacion para posteriormente analizarla y tomar una decision sobre cual de los arreglos nos proporciona el mejor desempeño.&lt;br /&gt;&lt;br /&gt;  Vamos empezando por las internas, las que siempre vamos a encontrar en Linux, especificamente hablando de Centos.&lt;br /&gt;&lt;br /&gt;  Antes de continuar vamos a ver que herramientas vamos a usar para monitorear, bueno yo estoy usando a dstat, ya que me permite capturar toda su informacion en un archivo csv para posteriormente analizar.&lt;br /&gt;&lt;br /&gt;  Estos son los parametros que uso:&lt;br /&gt;&lt;br /&gt;dstat -c -C 0,1,total -d -i -g -m --noheaders --output=nombredearchivo.csv&lt;br /&gt;&lt;br /&gt;  Ahora en mi caso me interesa saber el desempeño de mi arreglo en especial donde van a estar operando mis maquinas virtuales ya que estoy trabajando sobre Xen y la particion se llama /vm -&gt; /dev/md2, es donde voy a enfocarme.&lt;br /&gt;&lt;br /&gt;  Antes de arrancar la ejecucion de cada aplicacion, estoy ejecutando dstat con el nombre de cada programa que ejecuto como salida, para el final, cambiar los parametros de mi arreglo y volver a repetir los pasos, asi podre comparar manzanas con manzanas y saber cual me ofrece mejor desempeño.&lt;br /&gt;&lt;br /&gt;  Vamos procesos los voy a repetir porque si solo lo hacemos una vez tendemos a estar solo comparando el buffer del disco duro:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;dd&lt;/li&gt;&lt;li&gt;hdparm&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;dd&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Esta herramienta sencilla es lineal no hay nada de manera aleatoria, asi que vamos a ver como a vamos a ejecutar:&lt;br /&gt;&lt;br /&gt;time dd if=/dev/zero of=/vm/bench/out.img bs=8k count=2048 &amp;amp;&amp;amp; echo  "Leyendo" &amp;amp;&amp;amp; time dd of=/dev/null if=/vm/bench/out.img bs=8k count=2048 &amp;amp;&amp;amp; echo "borrando" time rm -rf out.img &amp;amp;&amp;amp; time dd if=/dev/zero of=/vm/bench/out.img bs=16k count=2048 &amp;amp;&amp;amp; echo  "Leyendo" &amp;amp;&amp;amp; time dd of=/dev/null if=/vm/bench/out.img bs=16k count=2048 &amp;amp;&amp;amp; echo "borrando" time rm -rf out.img &amp;amp;&amp;amp; time dd if=/dev/zero of=/vm/bench/out.img bs=32k count=2048 &amp;amp;&amp;amp; echo  "Leyendo" &amp;amp;&amp;amp; time dd of=/dev/null if=/vm/bench/out.img bs=32k count=2048 &amp;amp;&amp;amp; echo "borrando" &amp;amp;&amp;amp; time rm -rf out.img &amp;amp;&amp;amp; time dd if=/dev/zero of=/vm/bench/out.img bs=256k count=2048 &amp;amp;&amp;amp; echo  "Leyendo" &amp;amp;&amp;amp; time dd of=/dev/null if=/vm/bench/out.img bs=256k count=2048 &amp;amp;&amp;amp; echo "borrando" &amp;amp;&amp;amp; time rm -rf out.img &amp;amp;&amp;amp; time dd if=/dev/zero of=/vm/bench/out.img bs=512k count=2048 &amp;amp;&amp;amp; echo  "Leyendo" &amp;amp;&amp;amp; time dd of=/dev/null if=/vm/bench/out.img bs=512k count=2048 &amp;amp;&amp;amp; echo "borrando" &amp;amp;&amp;amp; time rm -rf out.img &amp;amp;&amp;amp; time dd if=/dev/zero of=/vm/bench/out.img bs=1024k count=2048 &amp;amp;&amp;amp; echo  "Leyendo" &amp;amp;&amp;amp; time dd of=/dev/null if=/vm/bench/out.img bs=1024k count=2048 &amp;amp;&amp;amp; echo "borrando" &amp;amp;&amp;amp; time rm -rf out.img &amp;amp;&amp;amp; time dd if=/dev/zero of=/vm/bench/out.img bs=2048k count=2048 &amp;amp;&amp;amp; echo  "Leyendo" &amp;amp;&amp;amp; time dd of=/dev/null if=/vm/bench/out.img bs=2048k count=2048 &amp;amp;&amp;amp; echo "borrando" &amp;amp;&amp;amp; time rm -rf out.img&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;hdparm&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;time hdparm -Tt /dev/md2 &amp;amp;&amp;amp; time hdparm -Tt /dev/md2 &amp;amp;&amp;amp; time hdparm -Tt /dev/md2&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;   Las que siguen con aplicaciones que no se encuentran en el sistema base asi que necesitamos instalarlas.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Bonnie&lt;br /&gt;&lt;div style="text-align: left;"&gt;Con esta aplicacion hemos hecho varias corrida con distintos parametros, como sigue:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;time bonnie -s 100 -m mbx-xenserver &amp;amp;&amp;amp;&lt;br /&gt;time bonnie -s 100 -m mbx-xenserver -y &amp;amp;&amp;amp;&lt;br /&gt;time bonnie -s 1024 -m mbx-xenserver  &amp;amp;&amp;amp;&lt;br /&gt;time bonnie -s 1024 -m mbx-xenserver -y &amp;amp;&amp;amp;&lt;br /&gt;time bonnie -s 2048 -m mbx-xenserver  &amp;amp;&amp;amp;&lt;br /&gt;time bonnie -s 2048 -m mbx-xenserver -y&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Bonnie++&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Una version de bonnie mejorada.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;time bonnie++ -d ./ -u root &amp;amp;&amp;amp; time bonnie++ -d ./ -u root -s 32 -n 128 -r 16 &amp;amp;&amp;amp; time bonnie++ -d ./ -u root -s 256 -n 16 -r 128 &amp;amp;&amp;amp; time bonnie++ -d ./ -u root -s 1024 -n 8 -r 512 -b&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;dbench&lt;br /&gt;&lt;div style="text-align: left;"&gt;Emula un samba.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;time dbench -c /usr/share/dbench/client.txt 40&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Fio&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Aqui tenemos que crear un archivo y correr en una ejecucion varias tareas distintas, muy practico.&lt;br /&gt;&lt;br /&gt;bench.fio:&lt;br /&gt;&lt;br /&gt;[global]&lt;br /&gt;directory=/opt/bench/fio&lt;br /&gt;&lt;br /&gt;[test1]&lt;br /&gt;rw=rw&lt;br /&gt;size=128m&lt;br /&gt;nrfiles=16&lt;br /&gt;sync=0&lt;br /&gt;bsrange=4k-8k,16k-32k&lt;br /&gt;zero_buffers&lt;br /&gt;file_service_type=random&lt;br /&gt;ioengine=sync&lt;br /&gt;iomem=malloc&lt;br /&gt;&lt;br /&gt;[test2]&lt;br /&gt;rw=write&lt;br /&gt;size=512m&lt;br /&gt;nrfiles=2&lt;br /&gt;sync=0&lt;br /&gt;bsrange=16k-32k,64k-128k&lt;br /&gt;file_service_type=roundrobin&lt;br /&gt;ioengine=psync&lt;br /&gt;iomem=shm&lt;br /&gt;&lt;br /&gt;[test3]&lt;br /&gt;rw=randread&lt;br /&gt;size=8m&lt;br /&gt;nrfiles=256&lt;br /&gt;bsrange=4k-8k,32k-64k&lt;br /&gt;sync=1&lt;br /&gt;zero_buffers&lt;br /&gt;file_service_type=random&lt;br /&gt;ioengine=libaio&lt;br /&gt;&lt;br /&gt;[test6]&lt;br /&gt;rw=randrw&lt;br /&gt;size=1024m&lt;br /&gt;nrfiles=2&lt;br /&gt;bsrange=8k-32k,64k-128k&lt;br /&gt;refill_buffers&lt;br /&gt;file_service_type=roundrobin&lt;br /&gt;&lt;br /&gt;Para entender lean el man page, para ejecutarlo:&lt;br /&gt;&lt;br /&gt;time fio bench.fio&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;tiobench&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Un sistema parecido a fio.&lt;br /&gt;&lt;br /&gt;time tiobench -size 512 --size 1024 --size 2048 --numruns 2 --block 4096 --block 8192 --threads 2&lt;br /&gt;&lt;br /&gt;  Como mencione anteriormente, estoy usando dstat para capturar informacion de como esta trabajando el equipo para posteriormente analizarla.&lt;br /&gt;&lt;br /&gt; Por que estoy siempre incluyendo el comando "time"? Aparte de ver como se comporta tanto el CPU como el arreglo, me interesa saber que tan rapido se estan llevando a cabo cada tarea, cuando decida por cual arreglo irme, voy a tomar en cuenta estos 3 parametros:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Mas I/O del disco&lt;/li&gt;&lt;li&gt;Menor uso de CPU&lt;/li&gt;&lt;li&gt;Menor tiempo de ejecucion&lt;/li&gt;&lt;/ul&gt;Por ello siempre la incluyo, la salida del "dstat" es larga aqui no puedo ponerla, pero ustedes veran la salida.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-1395710739655344924?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/1395710739655344924/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=1395710739655344924' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/1395710739655344924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/1395710739655344924'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/11/centos-5x-herramientas-de-desempeno-de.html' title='Centos 5x: Herramientas de desempeño de disco duro'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-7956695878337027167</id><published>2010-10-20T16:05:00.001-07:00</published><updated>2011-08-15T07:16:56.091-07:00</updated><title type='text'>Centos 5: Respaldos con Bacula + MySQL 5.1.</title><content type='html'>Esta vez le toca el turno a el tema de los respaldos. Yo siempre he tratado de usar codigo libre para hacer lo que sea posible en un departamento de sistemas. Y como toda area de informatica, necesitamos respaldos.&lt;br /&gt;&lt;br /&gt;Me vi un dia a la tarea de buscar que software podriamos usar para respaldas los servidores, encontre varias opciones:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;amanda&lt;/li&gt;&lt;li&gt;rsync&lt;/li&gt;&lt;li&gt;tar&lt;/li&gt;&lt;li&gt;bacula&lt;/li&gt;&lt;/ul&gt;De todas ellas la que mas me lleno el ojo fue bacula, ya que existen clientes para una gama de sistemas operativos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Windows&lt;/li&gt;&lt;li&gt;Linux&lt;/li&gt;&lt;li&gt;Mac&lt;/li&gt;&lt;li&gt;Unix&lt;/li&gt;&lt;/ul&gt;Lo cual lo hizo un contendiente vs symantec backup.&lt;br /&gt;&lt;br /&gt;Utilizabamos veritas(que ya lo compro symantec creo yo) pero como todo software hecho para windows no tiene clientes para Linux/Unix y ademas que en el servidor de respaldos tenia que mapear todos los compartidos que ocupaba respaldar.&lt;br /&gt;&lt;br /&gt;No es nada amigable, buscar otra alternativa era invertir una gran cantidad de dinero, licencias, etc. Con bacula me olvide de todo eso.&lt;br /&gt;&lt;br /&gt;Otra cosa que los demas no tienen hablando del mundo de open source es no poder&lt;br /&gt;hacer uso de una virtud que aparecio en windows 2000 en adelante llamada "Shadow Copy".&lt;br /&gt;&lt;br /&gt;Esta funcion lo que hace es crear un respaldo de windows incluyendo los archivos abiertos, bacula puede hacer que las versiones que tienen esta utileria lo hagan y cuando terminan le envian el achivo a bacula, que gran cualidad de bacula.&lt;br /&gt;&lt;br /&gt;En Linux/Unix no tenemos ese problema que ataca Redmont con esta funcion.&lt;br /&gt;&lt;br /&gt;Otra gran caracteristica de Bacula es la gran gama de medios de almacenamiento que soporta, como todo inicia con Linux, pues ellos le dejaron la tarea a Linux y no se amarraron a tener que crear los latosos "Drivers" si no que le dejaron la tarea a Linux/Unix, a que me refieron con esto, cualquier medio de almacenamiento que soporte Linux/Unix sera bien recibido por Bacula como pueden ser:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Disco Duro- Externo e Interno, USB/Ata/Sata/Solido etc etc.&lt;/li&gt;&lt;li&gt;Quemadores de CD/DVD&lt;/li&gt;&lt;li&gt;Memorias USB&lt;/li&gt;&lt;li&gt;Unidades de Cinta - Internas/Externas&lt;/li&gt;&lt;li&gt;Floppies&lt;/li&gt;&lt;/ul&gt;En fin, si pueden almacenar informacion en Linux/Unix bacula la podra usar.&lt;br /&gt;&lt;br /&gt;Y ademas que el demonio de almacenamiento(luego hablo de el) de bacula no necesita estar donde esta el director(luego hablo de el) podemos tener un servidor de bacula y otro de almacenamiento solamente, asi de flexible.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Modulos de Bacula&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Bacula esta disenado inteligentemente, existen los siguientes modulos y cada uno tiene su funcion:&lt;br /&gt;&lt;br /&gt;Director: El director es el administrador de todo llamado bacula-dir, medios de almacenamiento que son administrados por el demonio de almacenamiento llamado bacula-sd, comunicacion con los clientes, administrar la agenda de tareas, informarnos de errores, tareas hechas, o sea toda la operacion el la controla por ello el nombre de director.&lt;br /&gt;&lt;br /&gt;Almacenamiento: Este modulo llamado tecnicamente bacula-sd se encarga de administrar todos los medios de almacenamiento, cuando el director necesita sacar o meter informacion se comunica con este modulo y el hace la tarea. Puede o no residir donde esta el director, depende totalmente del hosts donde esta para hacer uso de los medios de almacenamiento.&lt;br /&gt;&lt;br /&gt;Consola: Llamado tecnicamente bconsole, este modulo es la interface que tenemos los administradores de bacula para poder interactuar con el director, los clientes, bacula-sd.&lt;br /&gt;&lt;br /&gt;Clientes: Llamado bacula-fd, es el modulo que cada cliente debe tener instalado para poder ser respaldado, cuando el Director necesita respaldar o restaurar algun directorio o archivo se comunica con este modulo.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Lo anterior son los actores que nos vamos a encontrar a la hora de trabajar con bacula, algo que me gustaria notar es que cada modulo tiene su archivo de configuracion, estos son:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Director ---&amp;gt; bacula-dir.conf&lt;/li&gt;&lt;li&gt;Almacenamiento --&amp;gt; bacula-sd.conf&lt;/li&gt;&lt;li&gt;Clientes --&amp;gt; bacula-fd.conf&lt;/li&gt;&lt;li&gt;Consola --&amp;gt; bconsole.conf&lt;/li&gt;&lt;/ul&gt;Para entender un poco mas como opera bacula, vamos a hablar un poco de que son los pools y volumenes, porque mas adelante se los van a encontrar, ya cuando lleguen a donde los tienen que usar tendrar un mejor panorama de como configurarlos.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Pools y Volumenes&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Bacula como mencione, almacena todo en una BD, de ahi siguen los pool, que vienen siendo&lt;br /&gt;contenedores de volumenes, los volumenes son ya los medios donde se almacenan los archivos a respaldar. Entonces tenemos que:&lt;br /&gt;&lt;br /&gt;1 Pool puede contener N numero de volumenes, un volumen fisicamente es ya el medio de almacenamiento, si estamos usando el mismo disco duro, y tengo un volumen llamado "FullFile-0001", en mi directorio donde guardo mis backups, tendre esto:&lt;br /&gt;&lt;br /&gt;-rw-r-----  1 bacula  bacula  20781361 Nov  3 18:51 FullFile-0001&lt;br /&gt;&lt;br /&gt;Un archivo con ese nombre, si fuera una cinta, entonces tendria una cinta etiquetada con ese nombre, etc, etc. Espero les haya quedado claro eso.&lt;br /&gt;&lt;br /&gt;Ahora bien, uno puede tener cuantos Pools desea, yo por ejemplo tengo 2 en este ejemplo, 1 para mis Full Backups y otro para mis Difrenciales(luego vamos a llegar a esto),  y cada uno de ellos tienen sus volumenes, cuantos tengo, depende de como los configuren y la capacidad de sus medio de almacenamiento.&lt;br /&gt;&lt;br /&gt;Aqui estan mis Pools:&lt;br /&gt;&lt;br /&gt;*list pools&lt;br /&gt;+--------+---------------+---------+---------+----------+-------------+&lt;br /&gt;| PoolId | Name          | NumVols | MaxVols | PoolType | LabelFormat |&lt;br /&gt;+--------+---------------+---------+---------+----------+-------------+&lt;br /&gt;|      1 | BajaOFullFile |       1 |       0 | Backup   | FullFile-   |&lt;br /&gt;|      2 | BajaODiffFile |       1 |       0 | Backup   | FileDiff-   |&lt;br /&gt;|      3 | Scratch       |       0 |       0 | Backup   | *           |&lt;br /&gt;+--------+---------------+---------+---------+----------+-------------+&lt;br /&gt;&lt;br /&gt;El Scratch aun no he tenido la necesidad de usarlo.&lt;br /&gt;&lt;br /&gt;Un punto importante, si observan la columna de nombre "Label Format", cuando bacula inicia un respaldo, y no tiene ningun "Volumen" disponible, hay una opcion de la configuracion que le indicamos que si no tiene de donde agarrar, el tiene la autoridad de crear uno nuevo, entonces cuando el lo crea, le agrega a este campo un numero consecutivo,  vean:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;FullFile-0001&lt;/li&gt;&lt;li&gt;FileDiff-0002&lt;/li&gt;&lt;/ul&gt;Si fuera necesario agregar otro volumen a mis "Full" backups, el agregaria:&lt;br /&gt;&lt;br /&gt;FullFile-0002&lt;br /&gt;&lt;br /&gt;Asi sucesivamente, interesante no.&lt;br /&gt;&lt;br /&gt;Con esto dejo lo referente a Pools, y Volumenes&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Tipo de Respaldos "Level"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Cuando respaldamos, tenemos otra seccion donde tenemos que decirle a el director cual sera nuestra forma de respaldar, aqui tenemos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Full&lt;/li&gt;&lt;li&gt;Diferencial&lt;/li&gt;&lt;li&gt;Incremental&lt;/li&gt;&lt;/ul&gt;Full: Aqui no tenemos pierde, bacula agarra todos directorios y archivos indicados y los respalda.&lt;br /&gt;&lt;br /&gt;Diferencial: Segun mis entedimientos, cualquier tipo de respaldo excepto Full, debe de existir un respaldo Full antes de llevarse a cabo, aqui entran todos los demas, como el diferencial, incremental, verificador. Ahora el diferencial, lo que hace es solo respaldar los archivos que han cambiado(fecha de apertura mas nueva) en base a el ultimo Full, por ejemplo, si mi Full de ayer tiene un archivo de nombre "Test.txt, y hoy cuando mi diferencial se ejecute ese archivo tiene la fecha de hoy, bacula lo respaldara. Si mi Full fue la semana pasada, bacula compara los archivos que han cambiado en base a el ultimo Full. Asi cuando restauremos un sistema completo, solo necesitaremos el ultimo Full + ultimo diferencial.&lt;br /&gt;&lt;br /&gt;Incremental: Aqui a diferencia del diferencial, este respalda los archivos que han cambiado en base a el ultimo respaldo, sease Full o incremental, asi que si necesitaramos restaurar un sistema completo, necesitaremos el ultimo Full+ todos los incrementales despues de ese Full, con esto ya podran darse cuentad de la diferencia entre un Diferencial e Incremental.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Configuracion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Ahora viene la parte mas compleja, la configuracion.&lt;br /&gt;&lt;br /&gt;Pero antes de entrar a esta parte que a la mayoria siempre le interesa, vamos a especificar los sistemas que vamos a respaldar:&lt;br /&gt;&lt;br /&gt;A; Centos 5.5 192.168.50.130 ---&amp;gt;Aqui se ejecuta el bacula server.&lt;br /&gt;B; Centos 5.5 192.168.50.103 ---&amp;gt; Aqui ejecuto el servidor mysql.&lt;br /&gt;C; Centos 5.5 192.168.50.4&lt;br /&gt;D; Windows XP Pro 192.168.50.122&lt;br /&gt;E; Windows 7 Ultimate Edition Cliente 192.168.50.121&lt;br /&gt;&lt;br /&gt;Como podran ver les voy a mostrar una confiracion que se usa comumente en produccion.&lt;br /&gt;&lt;br /&gt;El servidor sera Centos, asi que tambien tiene que respaldarse por ello lo incluyo. Como nota Centos por default no tiene a Bacula en sus paquetes, necesitamos compilarlo desde las fuentes.&lt;br /&gt;&lt;br /&gt;La base de datos esta otro servidor.&lt;br /&gt;&lt;br /&gt;Para ello tenemos este link, ya lo hice y funciona:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.bacula.org/doku.php?id=howto_install_bacula_5.0.2_from_src.rpm_on_rhel_5_or_centos_5"&gt;Compilar Bacula 5.0.2 en Centos 5.5&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Yo lo hice con la ultima verion 5.0.3.&lt;br /&gt;&lt;br /&gt;Algo que me gustaria marcar es que el link habla hacerca de wxconsole, php, esto va enfocado a un sistema con GUI, lo cual conmigo no aplica, ya que un servidor que yo levante raramente tendra un modo grafico al menos que sea Windows, pero no es mi caso.&lt;br /&gt;&lt;br /&gt;Por ello yo no agregue paquetes que se estan enfocados a GUI:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;php&lt;/li&gt;&lt;li&gt;qt&lt;/li&gt;&lt;/ul&gt;Mientras menos paquetes, menor probabilidad de ser atacado por bugs.&lt;br /&gt;&lt;br /&gt;Otra cosa, Centos viene con MySQL 5.0 el cual ya hace tiempo dejo de ser actualizado al menos que sea por bugs, por ello yo baje el RPM directamente de Mysql:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dev.mysql.com/downloads/mysql/"&gt;Community Edition 5.1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Por seguridad cuando se instala bacula en Centos, el se encarga de configurar la BD en MySQL, en FreeBSD uno tiene que hacerlo, pero ninguno de los 2 sistemas le ponen password a el usuario bacula de la BD, por ello les recomiendo que lo hagan.&lt;br /&gt;&lt;br /&gt;Ya tenemos un mejor panorama de lo que necesitamos, no voy a pasar por la instalacion de los paquetes o compilacion ya que los links son muy claros, si tienen dudas claro que les podre ayudar.&lt;br /&gt;&lt;br /&gt;Todo lo que sigue es referente a la configuracion del servidor, a el final vamos a ver los clientes.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Director&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Es el archivo mas complejo ya que aqui se juntan todos los modulos, clientes, base de datos, etc. No se asusten, voy a tratar de explicar cada una de las entradas hasta donde mi entendimiento me deje.&lt;br /&gt;&lt;br /&gt;Este archivo esta divido en secciones, cuando instalan bacula la configuracion nos da por default un archivo de nombre bacula-dir.conf.sample, todos los archivos de bacula deben terminar en .conf.&lt;br /&gt;&lt;br /&gt;Esta es la 1ra seccion:&lt;br /&gt;&lt;br /&gt;NOTA: Aqui ya voy a mostrar la configuracion tal cual la tengo en uno de los servidores que respaldo.&lt;br /&gt;&lt;br /&gt;Director {                            # define myself&lt;br /&gt;Name = bacula-dir&lt;br /&gt;DIRport = 9101                # where we listen for UA connections&lt;br /&gt;QueryFile = "/usr/lib/bacula/query.sql"&lt;br /&gt;WorkingDirectory = "/var/lib/bacula"&lt;br /&gt;PidDirectory = "/var/run"&lt;br /&gt;Maximum Concurrent Jobs = 20&lt;br /&gt;Password = "mi-password"         # Console password&lt;br /&gt;Messages = Daemon&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Detalles:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Name: una cadena de texto abierta, cada quien le pone como guste, asi lo van a conocer todos los clientes.&lt;/li&gt;&lt;li&gt;DIRport = Por default el director usa el puerto 9101, no lo cambien al menos que tengan alguna razon.&lt;/li&gt;&lt;li&gt;QueryFile = Ya esta hecho no cambiarlo.&lt;/li&gt;&lt;li&gt;WorkingDirectory = Directorio que bacula usa para sacar la chamba, logs, bsr, etc, usar el default.&lt;/li&gt;&lt;li&gt;PidDirectory = Los unixeros saben que esto, asi dejenlo.&lt;/li&gt;&lt;li&gt;Maximum Concurrent Jobs = Cuantos jobs al mismo tiempo, prueba y error les dira, cuando quieran respaldar mas de un cliente a la vez tiene que jugar con este valor hasta conseguir su objetivo.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Password = Cuando quieran comunicarse con el director este password necesitaran, cambienlo a su gusto.&lt;/li&gt;&lt;li&gt;Messages = A donde mandar los mensajes, por default a el mismo demonio.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Jobs&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; de Respaldo&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Los jobs es lo que bacula usa para configurar las parametros escenciales de cada cliente, ya muchos campos que aparecen los he mencionado, seguimos.&lt;br /&gt;&lt;br /&gt;Tenemos 2 tipos aqui, un &lt;span style="font-weight: bold;"&gt;JobsDefs&lt;/span&gt; y &lt;span style="font-weight: bold;"&gt;Jobs&lt;/span&gt;, el 1ro es como una plantilla, la uso por que todos mis clientes tienen muchas opciones en comun, el 2do es ya la configuracion de cada uno de mis clientes, y si se dan cuenta en esta opcion hago un llamado a "JobsDefs".&lt;br /&gt;&lt;br /&gt;JobDefs {&lt;br /&gt;Name = "DefaultJob"&lt;br /&gt;Type = Backup&lt;br /&gt;Level = Full&lt;br /&gt;Storage = File&lt;br /&gt;Messages = Standard&lt;br /&gt;Pool = FullFile&lt;br /&gt;}&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Definicion.&lt;br /&gt;&lt;br /&gt;Name = Entre comillas, nombre de mi plantilla.&lt;br /&gt;Type = Tipo de jobs puede ser, Backup, Restore, Verify, Admin.&lt;br /&gt;NOTA: Cuando vamos a respaldar:Backup, cuando vamos a recuperar datos:Restore, cuando deseamos comparar el contenido de  nuestro respaldo vs los archivos reales:Verify, el otro nunca lo he usado.&lt;br /&gt;Level = Ya hable de este.&lt;br /&gt;Storage = Nuestro medio de almacenamiento.&lt;br /&gt;Messages = Tipo de mensaje que enviara cuando termine el jobs ya sea bueno o malo, a correo o archivo. Dejar el que viene por default.&lt;br /&gt;Pool = Ya hable de el.&lt;br /&gt;Priority = Cada job tiene una prioridad, asi que a cada uno le asignamos uno, aqui nunca he tenido problemas, ya que yo ejecuto un cliente a la vez.&lt;br /&gt;&lt;br /&gt;Ya tenemos nuestra platilla, ahora sigue definir los jobs, aqui es donde uso mi &lt;span style="font-weight: bold;"&gt;JobsDefs&lt;/span&gt; o mi platilla.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Jobs Para Cliente A&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;Job {&lt;br /&gt;Name = "BackupXen"&lt;br /&gt;JobDefs = "DefaultJob"&lt;br /&gt;Write Bootstrap = "/var/lib/bacula/xenserver.bsr"&lt;br /&gt;Client = XENSERVER-FD&lt;br /&gt;FileSet = "XENSERVER-FS"&lt;br /&gt;Schedule = "XENSERVER-SCH"&lt;br /&gt;Priority = 11&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;NOTA: Asi es estoy respaldando un linux donde tengo corriendo a Xen para virtualizar.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Definicion:&lt;/span&gt;&lt;br /&gt;Name = "" enter comillas, ya saben libre el nombre, consejo que sea el nombre referente a el cliente que van a respaldar, el mio dice &lt;span style="font-weight: bold;"&gt;BackupXen&lt;/span&gt; , entonces eso me dice quien es rapidamente.&lt;br /&gt;JobDefs = "" entre comillas, le hablo a mi plantilla, ya hable de esto anteriormente.&lt;br /&gt;Write Bootstrap = "" entre comillas, es archivo que usa bacula para cada cliente, cuando va a restaurar.&lt;br /&gt;Client = Ahora si, el nombre de mi cliente, existe una configuracion con este nombre, bacula la va a buscar, mas abajo la van a ver.&lt;br /&gt;FileSet = "" entre comillas, igual que la anterior, es donde defininimos lo que vamos a respaldar.&lt;br /&gt;Schedule = "" entre comillas, igual que la anterior, es donde indicamos la agenda a seguir automaticamente.&lt;br /&gt;Priority = Ya le explique.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Jobs de Recuperacion&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Asi como existen Jobs para los backups, tenemos que generar los contrarios o sea para recuperar nuestros datos, y aplica lo mismo, podemos tener una plantilla o mas plantillas segun sus gustos.&lt;br /&gt;&lt;br /&gt;Tenemos esto:&lt;br /&gt;&lt;br /&gt;JobDefs {&lt;br /&gt;Name = "RestoreFiles"&lt;br /&gt;Type = Restore&lt;br /&gt;Storage = File&lt;br /&gt;Pool = FullFile&lt;br /&gt;Messages = Standard&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Name = un nombre caracteristico.&lt;br /&gt;Type = Restore, no hay de otra aqui.&lt;br /&gt;Storage = Nuestro medio de almacenimiento de donde vamos a sacar los datos.&lt;br /&gt;Pool = Ya se la saben.&lt;br /&gt;Messages = Ya se la saben.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;Job Restore Para Cliente A&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Job {&lt;br /&gt;Name = "RestoreXENSERVER"&lt;br /&gt;JobDefs = "RestoreFiles"&lt;br /&gt;Client = XENSERVER-FD&lt;br /&gt;FileSet = "XENSERVER-FS"&lt;br /&gt;Where = "/opt/restore"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;El parametro "&lt;span style="font-weight: bold;"&gt;Where&lt;/span&gt;" lo que dice es para este cliente donde queremos que mande los archivos cuando se restauren. Asi que debe exister ese directorio en el cliente. Yo lo hago para cuando obtengo los datos no sobre escribir los datos actuales.&lt;br /&gt;&lt;br /&gt;Hasta aqui ya hemos visto parte de la configuracion, espero ya tengan una idea mas clara de como opera bacula.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;File Set&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Ahora sigue la seccion donde vamos a indicarle que archivos y directorios deseamos respaldar para cada cliente, van encontrarse con  nuevos parametros, algunos ya seran conocidos.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;FileSet {&lt;br /&gt;Name = "XENSERVER-FS"&lt;br /&gt;Enable VSS = No&lt;br /&gt;Include {&lt;br /&gt;  Options {&lt;br /&gt;    signature = MD5&lt;br /&gt;    compression = GZIP&lt;br /&gt;  }&lt;br /&gt;  File = "/etc"&lt;br /&gt;  File = "/opt/data"&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;NOTA: Poner mucho cuidado en los corchetes {} cuando abrirlos y cerrarlos.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Name = "", arriba en los Jobs definen uno para cada cliente, debe ser el mismo nombre que haya definieron, aqui ya es la configuracion de cada uno de los File Set's.&lt;br /&gt;Include {&lt;br /&gt;Options {&lt;br /&gt;signature = dejar la entrada por default, MD5 es buen algoritmo.&lt;br /&gt;compression = si es en disco, CD,DVD,USB usenla siempre, si es en cinta ponerla en No, ya que la cinta ya tiene compresion por HW, seria innecesario este parametro.&lt;br /&gt;}&lt;br /&gt;File = "" ahora si aqui definimos cada uno de los directorios o archivos a respaldar, no se pueden juntar, ejemplo, tengo un directorio en /var/db y otro en /usr/videos, no puedo hacer esto:&lt;br /&gt;File = "/var/db" "/usr/videos", por cada uno una entrada.&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Hasta aqui hemos trabajado sobre un cliente Linux, voy a mostrar el File Set de un cliente para explicar una funcion que tiene bacula para los clientes Windows, que aparecio apartir de Windows 2000.&lt;br /&gt;&lt;br /&gt;Ya posteriormente  mostrare todo el archivo completo.&lt;br /&gt;&lt;br /&gt;FileSet {&lt;br /&gt;Name = "WINDOWSXP-FS"&lt;br /&gt;Enable VSS = Yes&lt;br /&gt;Include {&lt;br /&gt;  Options {&lt;br /&gt;    signature = MD5&lt;br /&gt;    compression = GZIP&lt;br /&gt;  }&lt;br /&gt;  File = "C:/Documents and Settings/Administrator/My Documents/"&lt;br /&gt;}&lt;br /&gt;Exclude {&lt;br /&gt;  File = "C:/Documents and Settings/Administrator/My Documents/My Music"&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;El parametro es:&lt;br /&gt;&lt;br /&gt;Enable VSS = yes&lt;br /&gt;&lt;br /&gt;Este parametro lo que hace es que antes de empezar a enviar los respaldos, ejecute un "Shadow Copy" de ellos, una vez terminado que los envie.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Otra parte que agregue es:&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Exclude&lt;/span&gt;&lt;span&gt;, todo lo que aqui se agrege sera ignorado por bacula cuando respalde este cliente. O sea que  cuando mande el cliente todos los datos de "My Documents" no mandara todo lo que este dentro de "My Music".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Definicion:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;  Name = "" Ya sabes el significado.&lt;br /&gt;Enable VSS = Solo para clientes windows Yes / No&lt;br /&gt;Include {&lt;br /&gt;  Options {&lt;br /&gt;    Aqui van las opciones que deseamos agregar, el manual tiene muchas.&lt;br /&gt;    signature = Este parametro no lo toquen nucan he tenido problemas con el.&lt;br /&gt;    compression = Deseamos compresion Si o No, Si no estan respaldando en  cinta siempre usenlo, ya que cuando se respalda en disco duro, interno, externo, CD, DVD, memorias USB se comprime todo, ahorra espacio. Hacerlo en cinta no es recomendable ya que ya traen compresion por HW, no es recomendable.&lt;br /&gt;  }&lt;br /&gt; File = "" Para cada folder o archivo que vayamos a respaldar aqui debemos ponerlo, por cada directorio debe a ver una entrada de estas, no podemos juntarlas asi:&lt;br /&gt;File = /var /usr /etc&lt;br /&gt;&lt;br /&gt;Si no que debemos darle a cada uno su entrada asi:&lt;br /&gt;File = /var&lt;br /&gt;File = /usr&lt;br /&gt;File = /etc&lt;br /&gt;}&lt;br /&gt;Exclude {&lt;br /&gt;  File = "" aqui ponemos lo que no deseamos respaldar de lo incluido en "Include".&lt;br /&gt;}&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Schedule&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;Aqui vamos a configurar la agenda de bacula, ya que una vez que bacula empiece operaciones, si no existen problemas, el trabajara automaticamente, nomas que necesitamos decirle los horarios para ejecutar cada respaldo, y hay parametros que podemos cambiar si asi lo deseamos.&lt;br /&gt;&lt;br /&gt;Schedule {&lt;br /&gt;Name = "XENSERVER-SCH"&lt;br /&gt;Run = mon-fri at 19:00&lt;br /&gt;Run = Level = Differential Storage = File Pool = DiffFile tue-sat at 19:00&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Definicion:&lt;br /&gt;Name = "", ya saben debe llamarse tal cual lo declararon en el Jobs.&lt;br /&gt;Run = Aque horas lo vamos a ejecutar.&lt;br /&gt;&lt;br /&gt;Como podran ver tengo 2 Run, por que? No podemos mezclar, uno para los Full y otro para los diferenciales. Cuando solo pongo la hora, bacula considera los parametros del Job definido, ahora como en mi caso uso un Pool distinto para los diferenciales aqui lo defino como podran ver.&lt;br /&gt;&lt;br /&gt;Otro paremetro que puede cambiar es "Storage", en otro servidor tengo una cinta y espacio en disco, tengo 3 Run's asi:&lt;br /&gt;&lt;br /&gt;Name = "CATALOG-SCH"&lt;br /&gt;Run = sun at 20:00&lt;br /&gt;Run = Storage = File Pool = FullFile mon at 23:40&lt;br /&gt;Run = Level = Differential Storage = File Pool = DiffFile tue-thu at 21:00&lt;br /&gt;&lt;br /&gt;El parametro de la hora nos permite hacer muchas cosas, indicarle un solo dia, varios, cierto dia del mes, de la semana, etc, ejemplo:&lt;br /&gt;&lt;br /&gt;tue-thu, que lo ejecute de martes a jueves a las 21:00.&lt;br /&gt;sun, solo el domingo a las 20:00&lt;br /&gt;mon,solo el lunes a las 23:40&lt;br /&gt;&lt;br /&gt;Para mas detalles ver el manual.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Clientes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Ahora si viene la configuracion de cada cliente, esta es la informacion que usa el Director para comunicarse con cada cliente.&lt;br /&gt;&lt;br /&gt;Client {&lt;br /&gt;Name = XENSERVER-FD&lt;br /&gt;Address = 192.168.50.104&lt;br /&gt;FDPort = 9102&lt;br /&gt;Catalog = MyCatalog&lt;br /&gt;Password = "mi password"          # password for FileDaemon&lt;br /&gt;File Retention = 30 days            # 30 days&lt;br /&gt;Job Retention = 6 months            # six months&lt;br /&gt;AutoPrune = yes                     # Prune expired Jobs/Files&lt;br /&gt;Maximum Concurrent Jobs = 3&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Definicion:&lt;br /&gt;Name = Tal cual lo definieron en el Jobs.&lt;br /&gt;Address = Ip o nombre si tienen un hosts o dns funcional.&lt;br /&gt;FDPort = Puerto, los clientes usan el 9102, si quieren otro lo pueden hacer.&lt;br /&gt;Catalog = Nombre de la BD de bacula, yo no he tenido razon de cambiarlo.&lt;br /&gt;Password = "", entre comillas ustedes lo deciden.&lt;br /&gt;File Retention = Cuanto tiempo desean mantener la info en la BD de los archivos para este cliente. Pasando este tiempo bacula los purga para que la BD no crezca demasiado, si tenemos los datos en cinta, aunque los borre aun los podemos recuperar. Este parametro ustedes deben calcularlo bien.&lt;br /&gt;Job Retention = Lo mismo, pero para este jobs, son cosas distintas.&lt;br /&gt;AutoPrune = yes/no, indicarle si deseamos que el purge automaticamente o no para nosotros hacerlo, esto es basado en los parametros anteriores.&lt;br /&gt;Maximum Concurrent Jobs = Ya tendremos la razon de este parametro en la seccion extra.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Storage&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Le toca el turno a el medio de almacenamiento, como bacula esta secciona por modulos, aqui solo le indicamos a el Director como comunicarse con el programa que administra los medios de almacenamiento, la configuracion real esta en otro archivo, mas adelante los vamos a ver.&lt;br /&gt;&lt;br /&gt;Storage {&lt;br /&gt;Name = File&lt;br /&gt;Address = 192.168.50.130                # N.B. Use a fully qualified name here&lt;br /&gt;SDPort = 9103&lt;br /&gt;Password = "password del sd daemon"&lt;br /&gt;Device = FileStorage&lt;br /&gt;Media Type = File&lt;br /&gt;Maximum Concurrent Jobs = 10&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;  Name = File&lt;br /&gt;Address = IP o nombre.&lt;br /&gt;SDPort = Usen el default, al menos que gusten cambiarlo.&lt;br /&gt;Password = "", entre comillas, el que gusten.&lt;br /&gt;Device = Nombre configurado en el archivo bacula-sd-conf&lt;br /&gt;Media Type = Tipo de Medio de almacenamiento.&lt;br /&gt;Maximum Concurrent Jobs = Ya lo mencione anteriormente.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Me gustaria comentar que no hay limite para los servicios de respaldo, podemos tener tantos queramos, por ejemplo si tuvieramos otro servidor donde desearamos enviar datos, solo le indicamos el IP y el password, ese servidor solo debera tener operando el bacula-sd que es nombre del demonio que se encarga delos medios de almacenamiento.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Catalogo&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Catalog {&lt;br /&gt;Name = MyCatalog&lt;br /&gt;dbname = "bacula"; dbuser = "bacula"; dbpassword = "mipassword"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt; Sencillo, aqui configuramos los datos para que el director pueda meter o sacar informacion de la BD, muy simple no.&lt;br /&gt;&lt;br /&gt;Lo mismo, no necesariamente tenemos que tener nuestro servidor de respaldo donde esta el director, podemos tenerlo en otro equipo, por ejemplo en un sistema de producion, mysql se ejecuta en otro servidor distinto a el de bacula-dir, y mi definicion del Catalogo es asi:&lt;br /&gt;&lt;br /&gt;dbname = "bacula"; DB Address =192.168.50.3; dbuser = "bacula"; dbpassword = "passworddelusuario"&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Mensajes&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;Messages {&lt;br /&gt;Name = Standard&lt;br /&gt;mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \&amp;lt;%r\&amp;gt;\" -s \"Bacula: %t %e of %c %l\" %r"&lt;br /&gt;operatorcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \&amp;lt;%r\&amp;gt;\" -s \"Bacula: Intervention needed for %j\" %r"&lt;br /&gt;mail = root@localhost = all, !skipped&lt;br /&gt;operator = root@localhost = mount&lt;br /&gt;console = all, !skipped, !saved&lt;br /&gt;append = "/var/lib/bacula/log" = all, !skipped&lt;br /&gt;catalog = all&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Messages {&lt;br /&gt;Name = Daemon&lt;br /&gt;mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \&amp;lt;%r\&amp;gt;\" -s \"Bacula daemon message\" %r"&lt;br /&gt;mail = root@localhost = all, !skipped&lt;br /&gt;console = all, !skipped, !saved&lt;br /&gt;append = "/var/lib/bacula/log" = all, !skipped&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Esta seccion no la cambien, bacula manda informacion de todo lo que hace via correo local y aparte en un archivo log.&lt;br /&gt;&lt;br /&gt;En mi caso, yo hago uso de mi correo interno, para ello utlilizo el programa llamado "SSMTP", a sendmail lo desinstalo ya que es mucho para lo que necesito. Asi me llega todo a mi cuenta de correo, aqui tengo un ejemplo:&lt;br /&gt;&lt;br /&gt;Messages {&lt;br /&gt;Name = Standard&lt;br /&gt;mailcommand = "/usr/sbin/bsmtp -h 192.168.50.7:25 -f \"\(Bacula\) %r\" -s \"Bacula BajaO: %t %e of %c %l\" %r"&lt;br /&gt;operatorcommand = "/usr/sbin/bsmtp -h 192.168.50.7:25 -f \"\(Bacula\) %r\" -s \"Bacula BajaO: Necesito un Favor Para %j\" %r"&lt;br /&gt;mail = root@localhost = all, !skipped&lt;br /&gt;operator = root@localhost = mount&lt;br /&gt;console = all, !skipped, !saved&lt;br /&gt;append = "/var/lib/bacula/log" = all, !skipped&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Messages {&lt;br /&gt;Name = Daemon&lt;br /&gt;mailcommand = "/usr/sbin/bsmtp -h 192.168.50.7:25 -f \"\(Bacula\) %r\" -s \"Bacula Mensaje Demonial\" %r"&lt;br /&gt;mail = root@localhost = all, !skipped&lt;br /&gt;console = all, !skipped, !saved&lt;br /&gt;append = "/var/lib/bacula/log" = all, !skipped&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Asi de simple.&lt;br /&gt;&lt;br /&gt;Aunque no tengamos un servidor de correo, bacula envia los datos a el servicio local de Linux, ademas que todos los mensajes los escribe en /var/lib/bacula/log en distribuciones RedHat y derivados, en FreeBSD van en /var/db/bacula/log, si algun mensaje se les va de la consola, tenemos este archivito "log".&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Pools&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Ahora viene la definicion de los Pools, que ya hable de ellos anteriormente, asi los tengo declarados:&lt;br /&gt;&lt;br /&gt;Pool {&lt;br /&gt;Name = FullFile&lt;br /&gt;Maximum Volumes = 0&lt;br /&gt;Pool Type = Backup&lt;br /&gt;Use Volume Once = no&lt;br /&gt;Maximum Volume Jobs = 8&lt;br /&gt;Maximum Volume Files = 0&lt;br /&gt;Maximum Volume Bytes = 0&lt;br /&gt;Volume Use Duration = 0&lt;br /&gt;Catalog Files = yes&lt;br /&gt;AutoPrune = yes&lt;br /&gt;Volume Retention = 120 days&lt;br /&gt;Recycle Current Volume = no&lt;br /&gt;Recycle = yes&lt;br /&gt;Label Format = FullFile-&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Definicion:&lt;br /&gt;Name = Ya saben, algo que ustedes conozcan.&lt;br /&gt;Pool Type = Yo solo uso "Backups"&lt;br /&gt;Recycle = yes/no, aqui le indicamos a el director si nuestros volumenes podran reciclarse, asi podremos tener una rotacion, no tenemos cintas para toda la vida!!!&lt;br /&gt;AutoPrune = yes/no, para que el director recicle informacion de la BD.&lt;br /&gt;Volume Retention = Cuanto tiempo un Volumen podran mantenerse intacto, despues de este tiempo se podra reciclar.&lt;br /&gt;Maximum Volume Bytes = Podremos especificar cuantos bytes por cada volumen, yo no lo necesito.&lt;br /&gt;Maximum Volume Jobs = Cuantos Jobs por cada volumen, una vez llegando a esta cantidad el volumen se cierra.&lt;br /&gt;Maximum Volume Files = Cuantos archivos por volumen, no lo utilizo.&lt;br /&gt;Volume Use Duration = Tiempo que deseamos usar cada volumen.&lt;br /&gt;Catalog Files = yes/no, si deseamos que bacula genere un listado de todos los archivos a respaldar, asi cuando recuperemos sea mas rapido, siempre usenlo, le agrega mas info a la BD pero vale la pena.&lt;br /&gt;Recycle Current Volume = yes/no, nunca me he visto en la necesidad de ponerlo en "Yes".&lt;br /&gt;Label Format = Ya hable al respecto, un parametro para todos nuestros volumenes a la hora de crearlos.&lt;br /&gt;&lt;br /&gt;Como mencione por cada uno de mis tipo de respaldo tengo un Pool, o sea que uso 2, Full y Diferencial.&lt;br /&gt;&lt;br /&gt;Ustedes pueden ya saber como configurar el otro.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Consola&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Es la ultima parte de la configuracion, para monitorear el estatus del director los clientes tienen que configurarse en base a estos parametros.&lt;br /&gt;&lt;br /&gt;Console {&lt;br /&gt;Name = bacula-mon&lt;br /&gt;Password = "monitor"&lt;br /&gt;CommandACL = status, .status&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Muy simple.&lt;br /&gt;&lt;br /&gt;Definicion:&lt;br /&gt;&lt;br /&gt;Name = Nombre que ustedes gusten.&lt;br /&gt;Password = "", clave.&lt;br /&gt;CommandACL = No modificarlo, al menos que sepan que hacen.&lt;br /&gt;&lt;br /&gt;Como podran ver, bacula nos permite configurarlo de muchas maneras, aqui ya es cuestion de gustos y necesidades. Vamos a ver un archivo completo:&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;bacula-dir.conf&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Completo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;###########################################################&lt;br /&gt;###               Director Definitions              ###&lt;br /&gt;###########################################################&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Director {                            # define myself&lt;br /&gt;Name = bacula-dir&lt;br /&gt;DIRport = 9101                # where we listen for UA connections&lt;br /&gt;QueryFile = "/usr/lib/bacula/query.sql"&lt;br /&gt;WorkingDirectory = "/var/lib/bacula"&lt;br /&gt;PidDirectory = "/var/run"&lt;br /&gt;Maximum Concurrent Jobs = 20&lt;br /&gt;Password = "mipassword"         # Console password&lt;br /&gt;Messages = Daemon&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;###########################################################&lt;br /&gt;###               Backup JobsDef##&lt;br /&gt;###########################################################&lt;br /&gt;&lt;br /&gt;JobDefs {&lt;br /&gt;Name = "DefaultJob"&lt;br /&gt;Type = Backup&lt;br /&gt;Level = Full&lt;br /&gt;Storage = File&lt;br /&gt;Messages = Standard&lt;br /&gt;Pool = FullFile&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;###########################################################&lt;br /&gt;###               Backup Job's Definitions              ###&lt;br /&gt;###########################################################&lt;br /&gt;&lt;br /&gt;Job {&lt;br /&gt;Name = "BackupXen"&lt;br /&gt;JobDefs = "DefaultJob"&lt;br /&gt;Write Bootstrap = "/var/lib/bacula/xenserver.bsr"&lt;br /&gt;Client = XENSERVER-FD&lt;br /&gt;FileSet = "XENSERVER-FS"&lt;br /&gt;Schedule = "XENSERVER-SCH"&lt;br /&gt;Maximum Concurrent Jobs = 3&lt;br /&gt;Priority = 11&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Job {&lt;br /&gt;Name = "BackupXP"&lt;br /&gt;JobDefs = "DefaultJob"&lt;br /&gt;Write Bootstrap = "/var/lib/bacula/xp.bsr"&lt;br /&gt;Client = WINDOWSXP-FD&lt;br /&gt;FileSet = "WINDOWSXP-FS"&lt;br /&gt;Schedule = "WINDOWSXP-SCH"&lt;br /&gt;Maximum Concurrent Jobs = 3&lt;br /&gt;Priority = 12&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Job {&lt;br /&gt;Name = "BackupWin7"&lt;br /&gt;JobDefs = "DefaultJob"&lt;br /&gt;Write Bootstrap = "/var/lib/bacula/win7.bsr"&lt;br /&gt;Client = WIN7-FD&lt;br /&gt;FileSet = "WIN7-FS"&lt;br /&gt;Schedule = "WIN7-SCH"&lt;br /&gt;Priority = 13&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# Backup the catalog database (after the nightly save)&lt;br /&gt;Job {&lt;br /&gt;Name = "BackupCatalog"&lt;br /&gt;JobDefs = "DefaultJob"&lt;br /&gt;Write Bootstrap = "/var/lib/bacula/catalog.bsr"&lt;br /&gt;Client = CATALOG-FD&lt;br /&gt;FileSet="CATALOG-FS"&lt;br /&gt;Schedule = "CATALOG-SCH"&lt;br /&gt;# This creates an ASCII copy of the catalog&lt;br /&gt;# Arguments to make_catalog_backup.pl are:&lt;br /&gt;#  make_catalog_backup.pl &lt;catalog-name&gt;&lt;br /&gt;#RunBeforeJob = "/usr/lib/bacula/make_catalog_backup.pl MyCatalog"&lt;br /&gt;# This deletes the copy of the catalog&lt;br /&gt;#RunAfterJob  = "/usr/lib/bacula/delete_catalog_backup"&lt;br /&gt;Maximum Concurrent Jobs = 3&lt;br /&gt;Priority = 14&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Job {&lt;br /&gt;Name = "BackupMySQL"&lt;br /&gt;JobDefs = "DefaultJob"&lt;br /&gt;RunScript {&lt;br /&gt;  RunsWhen = Before&lt;br /&gt;  FailJobOnError = No&lt;br /&gt;  Command = "/etc/bacula/backupdb.sh"&lt;br /&gt;}&lt;br /&gt;RunScript {&lt;br /&gt;  RunsWhen = After&lt;br /&gt;  FailJobOnError = No&lt;br /&gt;  Command = "/etc/bacula/deletedb.sh"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Write Bootstrap = "/var/lib/bacula/mysqlserver.bsr"&lt;br /&gt;Client = MYSQLSERVER-FD&lt;br /&gt;FileSet = "MYSQLSERVER-FS"&lt;br /&gt;Schedule = "MYSQLSERVER-SCH"&lt;br /&gt;Priority = 15&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;###########################################################&lt;br /&gt;###                  Restore Jobs                       ###&lt;br /&gt;###########################################################&lt;br /&gt;&lt;br /&gt;###                     Template                        ###&lt;br /&gt;JobDefs {&lt;br /&gt;Name = "RestoreFiles"&lt;br /&gt;Type = Restore&lt;br /&gt;Storage = File&lt;br /&gt;Pool = FullFile&lt;br /&gt;Messages = Standard&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Job {&lt;br /&gt;Name = "RestoreXENSERVER"&lt;br /&gt;JobDefs = "RestoreFiles"&lt;br /&gt;Client = XENSERVER-FD&lt;br /&gt;FileSet = "XENSERVER-FS"&lt;br /&gt;Where = "/opt/restore"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Job {&lt;br /&gt;Name = "RestoreWINXP"&lt;br /&gt;JobDefs = "RestoreFiles"&lt;br /&gt;Client = WINDOWSXP-FD&lt;br /&gt;FileSet = "WINDOWSXP-FS"&lt;br /&gt;Where = "C:/restore"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Job {&lt;br /&gt;Name = "RestoreWIN7"&lt;br /&gt;JobDefs = "RestoreFiles"&lt;br /&gt;Client = WIN7-FD&lt;br /&gt;FileSet = "WIN7-FS"&lt;br /&gt;Where = "C:/restore"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Job {&lt;br /&gt;Name = "RestoreCATALOG"&lt;br /&gt;JobDefs = "RestoreFiles"&lt;br /&gt;Client = CATALOG-FD&lt;br /&gt;FileSet = "CATALOG-FS"&lt;br /&gt;Where = "/opt/restore"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Job {&lt;br /&gt;Name = "RestoreMYSQLSERVER"&lt;br /&gt;JobDefs = "RestoreFiles"&lt;br /&gt;Client = MYSQLSERVER-FD&lt;br /&gt;FileSet = "MYSQLSERVER-FS"&lt;br /&gt;Where = "/opt/restore"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/catalog-name&gt;###########################################################&lt;br /&gt;###               File Set Definitions              ###&lt;br /&gt;###########################################################&lt;br /&gt;&lt;br /&gt;&lt;catalog-name&gt;FileSet {&lt;br /&gt;Name = "XENSERVER-FS"&lt;br /&gt;Enable VSS = No&lt;br /&gt;Include {&lt;br /&gt;  Options {&lt;br /&gt;    signature = MD5&lt;br /&gt;    compression = GZIP&lt;br /&gt;  }&lt;br /&gt;  File = "/etc"&lt;br /&gt;  File = "/opt/data"&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;###                          VM-DOS                     ###&lt;br /&gt;FileSet {&lt;br /&gt;Name = "WINDOWSXP-FS"&lt;br /&gt;Enable VSS = Yes&lt;br /&gt;Include {&lt;br /&gt;  Options {&lt;br /&gt;    signature = MD5&lt;br /&gt;    compression = GZIP&lt;br /&gt;  }&lt;br /&gt;  File = "C:/Documents and Settings/Administrator/My Documents/"&lt;br /&gt;}&lt;br /&gt;Exclude {&lt;br /&gt;  File = "C:/Documents and Settings/Administrator/My Documents/My Music"&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;###                          VM-TRES                    ###&lt;br /&gt;FileSet {&lt;br /&gt;Name = "WIN7-FS"&lt;br /&gt;Enable VSS = Yes&lt;br /&gt;Include {&lt;br /&gt;  Options {&lt;br /&gt;    signature = MD5&lt;br /&gt;    compression = GZIP&lt;br /&gt;  }&lt;br /&gt;  File = "C:/Users/Administrator/Pictures"&lt;br /&gt;}&lt;br /&gt;Exclude{&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;FileSet {&lt;br /&gt;Name = "CATALOG-FS"&lt;br /&gt;Enable VSS = No&lt;br /&gt;Include {&lt;br /&gt;  Options {&lt;br /&gt;    signature = MD5&lt;br /&gt;    compression = GZIP&lt;br /&gt;  }&lt;br /&gt;  File = "/etc"&lt;br /&gt;  File = "/var/lib/bacula"&lt;br /&gt;  File = "/var/log"&lt;br /&gt;  File = "/opt/data"&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;###                      MySQL Server                    ###&lt;br /&gt;FileSet {&lt;br /&gt;Name = "MYSQLSERVER-FS"&lt;br /&gt;Enable VSS = No&lt;br /&gt;Include {&lt;br /&gt;  Options {&lt;br /&gt;    signature = MD5&lt;br /&gt;    compression = GZIP&lt;br /&gt;  }&lt;br /&gt;  File = "/etc"&lt;br /&gt;  File = "/opt/db"&lt;br /&gt;  File = "/opt/rpm"&lt;br /&gt;  File = "/opt/data"&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/catalog-name&gt;###########################################################&lt;br /&gt;###               Schedule Definitions              ###&lt;br /&gt;###########################################################&lt;br /&gt;&lt;br /&gt;&lt;catalog-name&gt;Schedule {&lt;br /&gt;Name = "XENSERVER-SCH"&lt;br /&gt;Run = mon at 19:00&lt;br /&gt;Run = Level = Differential Pool = DiffFile tue-sat at 19:00&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;schedule {&lt;br /&gt;Name = "WINDOWSXP-SCH"&lt;br /&gt;Run = mon at 19:30&lt;br /&gt;Run = Differential Pool = DiffFile tue-sat at 19:15&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Schedule {&lt;br /&gt;Name = "WIN7-SCH"&lt;br /&gt;Run =  mon at 20:00&lt;br /&gt;Run = Differential Pool = DiffFile tue-sat at 19:30&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Schedule {&lt;br /&gt;Name = "CATALOG-SCH"&lt;br /&gt;Run = mon at 20:30&lt;br /&gt;Run = Differential Pool = DiffFile tue-sat at 19:45&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Schedule {&lt;br /&gt;Name = "MYSQLSERVER-SCH"&lt;br /&gt;Run = mon at 21:00&lt;br /&gt;Run = Differential Pool = DiffFile tue-sat at 20:00&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/catalog-name&gt;###########################################################&lt;br /&gt;###               Clients Definitions              ###&lt;br /&gt;###########################################################&lt;br /&gt;&lt;br /&gt;&lt;catalog-name&gt;Client {&lt;br /&gt;Name = XENSERVER-FD&lt;br /&gt;Address = 192.168.50.104&lt;br /&gt;FDPort = 9102&lt;br /&gt;Catalog = MyCatalog&lt;br /&gt;Password = "mipassword"       &lt;br /&gt;File Retention = 30 days            # 30 days&lt;br /&gt;Job Retention = 6 months            # six months&lt;br /&gt;AutoPrune = yes                     # Prune expired Jobs/Files&lt;br /&gt;Maximum Concurrent Jobs = 3&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;###                     WINDOWS XP                      ###&lt;br /&gt;Client {&lt;br /&gt;Name = WINDOWSXP-FD&lt;br /&gt;Address = 192.168.50.122&lt;br /&gt;FDPort = 9102&lt;br /&gt;Catalog = MyCatalog&lt;br /&gt;Password = "mipassword"          # password for FileDaemon&lt;br /&gt;File Retention = 30 days            # 30 days&lt;br /&gt;Job Retention = 6 months            # six months&lt;br /&gt;AutoPrune = yes                     # Prune expired Jobs/Files&lt;br /&gt;Maximum Concurrent Jobs = 3&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;###                     WINDOWS 7                       ###&lt;br /&gt;Client {&lt;br /&gt;Name = WIN7-FD&lt;br /&gt;Address = 192.168.50.121&lt;br /&gt;FDPort = 9102&lt;br /&gt;Catalog = MyCatalog&lt;br /&gt;Password = "mipassword"          # password for FileDaemon&lt;br /&gt;File Retention = 30 days            # 30 days&lt;br /&gt;Job Retention = 6 months            # six months&lt;br /&gt;AutoPrune = yes                     # Prune expired Jobs/Files&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Client {&lt;br /&gt;Name = CATALOG-FD&lt;br /&gt;Address = 192.168.50.130&lt;br /&gt;FDPort = 9102&lt;br /&gt;Catalog = MyCatalog&lt;br /&gt;Password = "mipassword"          # password for FileDaemon&lt;br /&gt;File Retention = 30 days            # 30 days&lt;br /&gt;Job Retention = 6 months            # six months&lt;br /&gt;AutoPrune = yes                     # Prune expired Jobs/Files&lt;br /&gt;Maximum Concurrent Jobs = 3&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Client {&lt;br /&gt;Name = MYSQLSERVER-FD&lt;br /&gt;Address = 192.168.50.3&lt;br /&gt;FDPort = 9102&lt;br /&gt;Catalog = MyCatalog&lt;br /&gt;Password = "mipassword"          # password for FileDaemon&lt;br /&gt;File Retention = 30 days            # 30 days&lt;br /&gt;Job Retention = 6 months            # six months&lt;br /&gt;AutoPrune = yes                     # Prune expired Jobs/Files&lt;br /&gt;Maximum Concurrent Jobs = 3&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/catalog-name&gt;###########################################################&lt;br /&gt;###               Storage Definitions              ###&lt;br /&gt;###########################################################&lt;br /&gt;&lt;br /&gt;&lt;catalog-name&gt;Storage {&lt;br /&gt;Name = File&lt;br /&gt;Address = 192.168.50.130                # N.B. Use a fully qualified name here&lt;br /&gt;SDPort = 9103&lt;br /&gt;Password = "mipassword"&lt;br /&gt;Device = FileStorage&lt;br /&gt;Media Type = File&lt;br /&gt;Maximum Concurrent Jobs = 10&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;###########################################################&lt;br /&gt;###                     Catalog                         ###&lt;br /&gt;###########################################################&lt;br /&gt;&lt;br /&gt;Catalog {&lt;br /&gt;Name = MyCatalog&lt;br /&gt;# Uncomment the following line if you want the dbi driver&lt;br /&gt;# dbdriver = "dbi:mysql"; dbaddress = 127.0.0.1; dbport =&lt;br /&gt;#  dbname = "bacula"; dbuser = "bacula"; dbpassword = "bacula"&lt;br /&gt;dbname = "bacula"; DB Address =192.168.50.3; dbuser = "bacula"; dbpassword = "userpassword"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/catalog-name&gt;###########################################################&lt;br /&gt;###               Message Definitions              ###&lt;br /&gt;###########################################################&lt;br /&gt;&lt;br /&gt;&lt;catalog-name&gt;Messages {&lt;br /&gt;Name = Standard&lt;br /&gt;&lt;br /&gt;mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \&amp;lt;%r\&amp;gt;\" -s \"Bacula: %t %e of %c %l\" %r"&lt;br /&gt;operatorcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \&amp;lt;%r\&amp;gt;\" -s \"Bacula: Intervention needed for %j\" %r"&lt;br /&gt;mail = root@localhost = all, !skipped&lt;br /&gt;operator = root@localhost = mount&lt;br /&gt;console = all, !skipped, !saved&lt;br /&gt;&lt;br /&gt;append = "/var/lib/bacula/log" = all, !skipped&lt;br /&gt;catalog = all&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Messages {&lt;br /&gt;Name = Daemon&lt;br /&gt;mailcommand = "/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \&amp;lt;%r\&amp;gt;\" -s \"Bacula daemon message\" %r"&lt;br /&gt;mail = root@localhost = all, !skipped&lt;br /&gt;console = all, !skipped, !saved&lt;br /&gt;append = "/var/lib/bacula/log" = all, !skipped&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;###########################################################&lt;br /&gt;###                     Pools                           ###&lt;br /&gt;###########################################################&lt;br /&gt;&lt;br /&gt;###                     Full Files                      ###&lt;br /&gt;Pool {&lt;br /&gt;Name = FullFile&lt;br /&gt;Maximum Volumes = 0&lt;br /&gt;Pool Type = Backup&lt;br /&gt;Use Volume Once = no&lt;br /&gt;Maximum Volume Jobs = 8&lt;br /&gt;Maximum Volume Files = 0&lt;br /&gt;Maximum Volume Bytes = 0&lt;br /&gt;Volume Use Duration = 0&lt;br /&gt;Catalog Files = yes&lt;br /&gt;AutoPrune = yes&lt;br /&gt;Volume Retention = 120 days&lt;br /&gt;Recycle Current Volume = no&lt;br /&gt;Recycle = yes&lt;br /&gt;Label Format = FullFile-&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Pool {&lt;br /&gt;Name = DiffFile&lt;br /&gt;Pool Type = Backup&lt;br /&gt;Use Volume Once = no&lt;br /&gt;Maximum Volume Jobs = 24&lt;br /&gt;Maximum Volume Files = 0&lt;br /&gt;Maximum Volume Bytes = 0&lt;br /&gt;Volume Use Duration = 0&lt;br /&gt;Catalog Files = yes&lt;br /&gt;Recycle = yes&lt;br /&gt;AutoPrune = yes&lt;br /&gt;Volume Retention = 120 days&lt;br /&gt;Label Format = FileDiff-&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# Scratch pool definition&lt;br /&gt;Pool {&lt;br /&gt;Name = Scratch&lt;br /&gt;Pool Type = Backup&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Restricted console used by tray-monitor to get the status of the director&lt;br /&gt;#&lt;br /&gt;Console {&lt;br /&gt;Name = bacula-mon&lt;br /&gt;Password = "Monitor"&lt;br /&gt;CommandACL = status, .status&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Muy bien, ya tenemos el archivo de configuracion del director, ahora sigue configurar el&lt;br /&gt;encargado de los medios de almacenamiento.&lt;br /&gt;&lt;a href="http://www.mail-archive.com/bacula-users@lists.sourceforge.net/msg42292.html"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;Bacula Storage Daemon&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;Storage {                             # definition of myself&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = bacula-sd&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  SDPort = 9103                  # Director's port&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  WorkingDirectory = "/var/lib/bacula"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Pid Directory = "/var/run"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Maximum Concurrent Jobs = 20&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Name = Nombre deseado.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;SDPort = Puerto Especifico.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;WorkingDirectory = Directorio temporal, no modificar.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Pid Directory = No modificar.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Maximum Concurrent Jobs = Nunca he sobre pasado este limite, asi que dejenlo como esta.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;Director {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = bacula-dir&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Password = "password-deseado"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Directores que tienen permitido accesar esta demonio.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Name = Nombre del director.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Password = Password que tiene usar el director si desea contactar a este demonio&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;Director {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = bacula-mon&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Password = "monitor-password"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Monitor = yes&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Name = Nombre de la consola de bacula para estatus.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Password = Password para contactar el monitor.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Monitor = No cambiar si desean ser contactados por monitores.&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-weight: normal;"&gt;Device {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = FileStorage&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Media Type = File&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Archive Device = /opt/backups&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  LabelMedia = yes;                   # lets Bacula label unlabeled media&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Random Access = Yes;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  AutomaticMount = yes;               # when device opened, read it&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  RemovableMedia = no;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  AlwaysOpen = no;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Name = Nombre de este medio de almacenamiento, el director asi lo conoce.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Media Type = Tipo de medio de almacenamiento.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Archive Device = Ubicacion fisica de este recurso, debe existir este directorio.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;LabelMedia = Se permite etiquetar o no este medio, default si.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Random Access = No modificar.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;AutomaticMount = No modificar.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;RemovableMedia = Para almacenamiento en disco duro "No" para otros cambia.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;AlwaysOpen = No modificar para disco duro.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Messages {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = Standard&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  director = bacula-dir = all&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;No modificar estos parametros.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Tiene mas datos el archivo de configuracion, pero es solo para manejar cintas, dvd's, etc. Aqui solo hemos manejado disco duro, asi que todo lo que necesitamos esta en la configuracion anterior.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Ya hay muchos parametros estan por demas explicitos, pero de todos modos los tratamos de explicarlos.&lt;br /&gt;&lt;br /&gt;Ahora vamos a ver la configuracion total.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;bacula-sd.conf&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;Storage {                             # definition of myself&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = bacula-sd&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  SDPort = 9103                  # Director's port&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  WorkingDirectory = "/var/lib/bacula"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Pid Directory = "/var/run"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Maximum Concurrent Jobs = 20&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;Director {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = bacula-dir&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Password = "mi-password"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;Director {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = bacula-mon&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Password = "monitor-password"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Monitor = yes&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;&lt;span style="font-weight: bold;"&gt;D&lt;/span&gt;evice {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = FileStorage&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Media Type = File&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Archive Device = /opt/backups&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  LabelMedia = yes;                   # lets Bacula label unlabeled media&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Random Access = Yes;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  AutomaticMount = yes;               # when device opened, read it&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  RemovableMedia = no;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  AlwaysOpen = no;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;Messages {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = Standard&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  director = bacula-dir = all&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Demonio FD&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Este tambie es un archivo muy simple, asi es bacula. Vamos a seguir el mismo formato, vamos a mostrar la configuracion y tratar de explicar cada parametro mostrado, hay muchos que nunca se van a cambiar por ello los indico.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;Director {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = bacula-dir&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Password = "password-de-este-cliente"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Name = Nombre del director que tiene permitido accesar a este cliente.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Password = Clave que se solicita a el director que desea contactar este cliente.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;Director {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = bacula-mon&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Password = "monitor-password"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Monitor = yes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Name =&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;Ya saben la razon de estos parametros.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Password = Clave del monitor.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Monitor = no modificar.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;FileDaemon {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = uno-fd&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  FDport = 9102&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  WorkingDirectory = /var/lib/bacula&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Pid Directory = /var/run&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Maximum Concurrent Jobs = 20&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Name = Nombre de este cliente, asi lo conocen los directores.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;FDport = No modificarlo.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;WorkingDirectory = No modificarlo.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Pid Directory = No modificarlo.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Maximum Concurrent Jobs = No modificarlo.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;Messages {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = Standard&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  director = bacula-dir = all, !skipped, !restored&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ya saben este ultimo parametro. Ahora vamos a ver el archivo completo.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;bacula-fd.conf&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-weight: normal;"&gt;Director {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = bacula-dir&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Password = "password-cliente"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;Director {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = bacula-mon&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Password = "password-monitor"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Monitor = yes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;FileDaemon {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = uno-fd&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  FDport = 9102&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  WorkingDirectory = /var/lib/bacula&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Pid Directory = /var/run&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Maximum Concurrent Jobs = 20&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;Messages {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = Standard&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  director = bacula-dir = all, !skipped, !restored&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Me gustaria comentar que los archivos de los clientes tambien es muy sencillo y aparte que Unix a Windows no cambian en nada, son los mismos parametros, lo que cambia es la ruta a directorios o archivos.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Consola de bacula&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;Por ulti&lt;/span&gt;&lt;span style="font-weight: normal;"&gt;mo la consola para administrar a bacula. El mas simple de todos.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Director {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = bacula-dir&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  DIRport = 9101&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  address = 192.168.50.130&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Password = "password-del-director"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Name = Nombre del director.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;DIRport = No mover.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;address = IP del director, si tienen dns y opera lo pueden usar.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Password = Password del director para contactarlo bacula-dir.conf.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;bconsole.conf&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: normal;"&gt;Director {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Name = bacula-dir&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  DIRport = 9101&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  address = 192.168.50.130&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;  Password = "passwod-del-director"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Revision de Sintaxis&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;Para el director, nuestra bd debe estar lista para trabajar.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style="font-weight: normal;"&gt;Bien, hasta aqui ya tenemos los 4 archivos escenciales de bacula, tanto del lado del servidor como del cliente. Lo que sigue es verficar que no haya errores de sintaxis, para ello cada demonio de bacula tiene su forma de hacerlo, asi:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;bacula-dir -t -c /etc/bacula/bacula-dir.conf&lt;br /&gt;bacula-sd -t -c /etc/bacula/bacula-sd.conf&lt;br /&gt;bacula-fd -t -c /etc/bacula/bacula-fd.conf&lt;br /&gt;bconsole -t -c /etc/bacula/bconsole.conf&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Si no retorna nada es que todo esta correctamente, de lo contrario nos indica la linea donde se produce el problema.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Si aparecen errores ya saben que deben repararlos antes de seguir.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;   &lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/catalog-name&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-7956695878337027167?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/7956695878337027167/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=7956695878337027167' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/7956695878337027167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/7956695878337027167'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/10/centos-5x-respaldos-con-baculamysql-51.html' title='Centos 5: Respaldos con Bacula + MySQL 5.1.'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-7399432343080398492</id><published>2010-09-25T15:58:00.000-07:00</published><updated>2010-09-25T17:42:48.367-07:00</updated><title type='text'>MySQL 5.1: Desempeño de MySQL con mysqlslap</title><content type='html'>Esta estamos trabajando con MySQL, necesito poner a operar un servidor con MySQL para la empresa, como ya vieron la base de datos es MySQL 5.1.&lt;br /&gt;&lt;br /&gt;Para esto existen muchas herramientas para esto, pero esta vez nos vamos a enforcar sobre:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;mysqlslap&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Viene por default cuando instalas mysql, estoy trabajando sobre Centos 5.5 en una maquina virtual con Xen:&lt;br /&gt;&lt;br /&gt;uname -a&lt;br /&gt;Linux 2.6.18-194.11.3.el5xen #1 SMP Mon Aug 30 16:55:32 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux&lt;br /&gt;&lt;br /&gt;La version de MySQL es:&lt;br /&gt;&lt;br /&gt;MySQL-client-community.x86_64             5.1.50-1.rhel5               installed&lt;br /&gt;MySQL-devel-community.x86_64              5.1.50-1.rhel5               installed&lt;br /&gt;MySQL-server-community.x86_64             5.1.50-1.rhel5               installed&lt;br /&gt;MySQL-shared-compat.x86_64                5.1.50-1.rhel5               installed&lt;br /&gt;&lt;br /&gt;Centos aun sigue trabajando sobre MySQL 5.0.x, muchas funciones que necesitamos de MySQL no las tiene la version 5.0 por ello decidimos irnos por la version que nos proporciona mysql.com.&lt;br /&gt;&lt;br /&gt;Bien, vamos a empezar, que version estamos usando de mysqlslap:&lt;br /&gt;&lt;br /&gt;mysqlslap  Ver 1.0 Distrib 5.1.50, for unknown-linux-gnu (x86_64)&lt;br /&gt;&lt;br /&gt;Ahora mysqlslap tiene la opcion de poner trabajar sobre las engines de mysql, he trabajado con otras herramientas para desempeño de mysql y muchas no tiene soporte para otras engines sino solo para myisam.&lt;br /&gt;&lt;br /&gt;La engine o motor de MySQL que me interesa es InnoDB por varias funciones que MyISAM no trae , una de ella es "ROLL BACK", la version 5.5 de MySQL ya trae a InnoDB como motor principal asi que tenemos que ir adaptandonos a el cambio.&lt;br /&gt;&lt;br /&gt;La bd con la que vamos a trabajar se llama: sbinno y la tabla se llama: sbtest con estos campos:&lt;br /&gt;&lt;br /&gt;+-------+------------------+------+-----+---------+----------------+&lt;br /&gt;| Field | Type             | Null | Key | Default | Extra          |&lt;br /&gt;+-------+------------------+------+-----+---------+----------------+&lt;br /&gt;| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |&lt;br /&gt;| k     | int(10) unsigned | NO   | MUL | 0&lt;br /&gt;| c     | char(120)        | NO&lt;br /&gt;| pad   | char(60)         | NO &lt;br /&gt;| vchar | varchar(30)      | NO   |     | NULL&lt;br /&gt;+-------+------------------+------+-----+---------+----------------+&lt;br /&gt;&lt;br /&gt;Vamos empezando a correr las primeras pruebas, vamos empezando insertando datos a la tabla con mysqlslap:&lt;br /&gt;&lt;br /&gt;[root@mysqlmaster ~]# mysqlslap --user=root --password=mipassword --engine=innodb --create-schema="sbinno" --query="INSERT INTO sbtest (k,c,pad,vchar) VALUES (1234567890,'Esta es la informacion que vamos a meter en el campo de nombre c de la tabla sbtest de la base de datos nombre sbinno','Aqui vamos a poner su direccion donde viven calle # colonia','Lugar donde trabajan aqui va')" --number-of-queries=10000&lt;br /&gt;&lt;br /&gt;Vamos que estamos haciendo:&lt;br /&gt;&lt;br /&gt;--engine=innodb especificamos el motor a usar.&lt;br /&gt;--create-schema="sbinno" la bd que con la que deseamos trabajar.&lt;br /&gt;--query=  el comando sql que deseamos ejecutar.&lt;br /&gt;--number-of-queries=10000 cuantes repeticiones deseamos del comando.&lt;br /&gt;&lt;br /&gt;1er ejemplo:&lt;br /&gt;&lt;br /&gt;mysqlslap --user=root --password=mipassword --engine=innodb --create-schema="sbinno" --query="INSERT INTO sbtest (k,c,pad,vchar) VALUES (1234567890,'bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla','bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla','bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla')" --number-of-queries=1000&lt;br /&gt;Benchmark&lt;br /&gt;        Running for engine innodb&lt;br /&gt;        Average number of seconds to run all queries: 1.392 seconds&lt;br /&gt;        Minimum number of seconds to run all queries: 1.392 seconds&lt;br /&gt;        Maximum number of seconds to run all queries: 1.392 seconds&lt;br /&gt;        Number of clients running queries: 1&lt;br /&gt;        Average number of queries per client: 1000&lt;br /&gt;&lt;br /&gt;Ya cada quien decide que datos agregarle.&lt;br /&gt;&lt;br /&gt;Podemos ver los resultados el tiempo que le llevo agregar los 1000 registros.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-7399432343080398492?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/7399432343080398492/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=7399432343080398492' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/7399432343080398492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/7399432343080398492'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/09/mysql-51-desempeno-de-mysql-con.html' title='MySQL 5.1: Desempeño de MySQL con mysqlslap'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-7832533773504668035</id><published>2010-09-22T23:00:00.000-07:00</published><updated>2011-11-26T12:34:41.258-08:00</updated><title type='text'>Centos 5.5: Incrementar una particion logica LVM</title><content type='html'>&lt;br /&gt;&lt;b&gt;NOTA&lt;/b&gt;: Antes de llevar a cabo este proceso, recordar que si algun servicio depende de este particion debemos apagar esos servicios para que no sea afectados, en mi caso Samba opera en esta particion, tuve que apagar todos los servicios de samba: smb, nmb, windbind.&lt;br /&gt; &lt;br /&gt; Otro caso, cuando necesito hacer esto en el servidor de correo, tengo que apagar por ejemplo: postfix, dovecot, y revisar que nadie este dentro del directorio con el comando lsof ejemplo:&lt;br /&gt;&lt;br /&gt;lsof | grep /home&lt;br /&gt;&lt;br /&gt;sof | grep /home&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3794&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user1&amp;nbsp; cwd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4096&amp;nbsp;&amp;nbsp;&amp;nbsp; 6488065 /home/user1&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3794&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user1&amp;nbsp; mem&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp; 113664&amp;nbsp;&amp;nbsp; 17629545 /home/user1/Maildir/dovecot.index.cache&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3794&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user1&amp;nbsp; mem&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 23048&amp;nbsp;&amp;nbsp; 17629544 /home/user1/Maildir/dovecot.index.log&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3794&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user1&amp;nbsp; mem&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1792&amp;nbsp;&amp;nbsp;&amp;nbsp; 6490085 /home/user1/Maildir/dovecot.index&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3794&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user1&amp;nbsp;&amp;nbsp;&amp;nbsp; 7u&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1792&amp;nbsp;&amp;nbsp;&amp;nbsp; 6490085 /home/user1/Maildir/dovecot.index&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3794&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user1&amp;nbsp;&amp;nbsp;&amp;nbsp; 8u&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 23048&amp;nbsp;&amp;nbsp; 17629544 /home/user1/Maildir/dovecot.index.log&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3794&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user1&amp;nbsp;&amp;nbsp;&amp;nbsp; 9u&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp; 113664&amp;nbsp;&amp;nbsp; 17629545 /home/user1/Maildir/dovecot.index.cache&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4225&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user1&amp;nbsp; cwd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4096&amp;nbsp;&amp;nbsp;&amp;nbsp; 6488065 /home/user1&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4225&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user1&amp;nbsp; mem&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 39836&amp;nbsp;&amp;nbsp;&amp;nbsp; 6750287 /home/user1/Maildir/.Drafts/dovecot.index.log&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4225&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user1&amp;nbsp; mem&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 144&amp;nbsp;&amp;nbsp; 17825894 /home/user1/Maildir/.Drafts/dovecot.index&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4225&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user1&amp;nbsp;&amp;nbsp;&amp;nbsp; 7u&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 144&amp;nbsp;&amp;nbsp; 17825894 /home/user1/Maildir/.Drafts/dovecot.index&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4225&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; user1&amp;nbsp;&amp;nbsp;&amp;nbsp; 8u&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 39836&amp;nbsp;&amp;nbsp;&amp;nbsp; 6750287 /home/user1/Maildir/.Drafts/dovecot.index.log&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4842 user2&amp;nbsp; cwd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4096&amp;nbsp;&amp;nbsp; 14549015 /home/user2&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4842 user2&amp;nbsp; mem&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp; 613376&amp;nbsp;&amp;nbsp; 14549783 /home/user2/Maildir/dovecot.index.cache&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4842 user2&amp;nbsp; mem&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 88196&amp;nbsp;&amp;nbsp; 13763032 /home/user2/Maildir/dovecot.index.log&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4842 user2&amp;nbsp; mem&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12736&amp;nbsp;&amp;nbsp;&amp;nbsp; 1900617 /home/user2/Maildir/dovecot.index&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4842 user2&amp;nbsp;&amp;nbsp;&amp;nbsp; 7u&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12736&amp;nbsp;&amp;nbsp;&amp;nbsp; 1900617 /home/user2/Maildir/dovecot.index&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4842 user2&amp;nbsp;&amp;nbsp;&amp;nbsp; 8u&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 88196&amp;nbsp;&amp;nbsp; 13763032 /home/user2/Maildir/dovecot.index.log&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4842 user2&amp;nbsp;&amp;nbsp;&amp;nbsp; 9u&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp; 613376&amp;nbsp;&amp;nbsp; 14549783 /home/user2/Maildir/dovecot.index.cache&lt;br /&gt;imap&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4849 user2&amp;nbsp; cwd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 253,2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4096&amp;nbsp;&amp;nbsp; 14549015 /home/user2&lt;br /&gt;&lt;br /&gt;Tengo que estar 100% seguro que nadie esta usando el directorio.&lt;br /&gt;&lt;br /&gt;Vamos a ver:&lt;br /&gt;&lt;br /&gt;1; Si sabemos que tenemos espacio fisico manos a la obra, revisamos cuanto espacio tenemos en nuestro grupo, ya que un Volumen Logico(LogicalVolume) pertenece a uno:&lt;br /&gt;&lt;br /&gt;#vgdisplay&lt;br /&gt;&amp;nbsp;--- Volume group ---&lt;br /&gt;&amp;nbsp; VG Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VolGroup00&lt;br /&gt;&amp;nbsp; System ID&lt;br /&gt;&amp;nbsp; Format&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lvm2&lt;br /&gt;&amp;nbsp; Metadata Areas&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;br /&gt;&amp;nbsp; Metadata Sequence No&amp;nbsp; 8&lt;br /&gt;&amp;nbsp; VG Access&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; read/write&lt;br /&gt;&amp;nbsp; VG Status&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; resizable&lt;br /&gt;&amp;nbsp; MAX LV&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br /&gt;&amp;nbsp; Cur LV&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&lt;br /&gt;&amp;nbsp; Open LV&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&lt;br /&gt;&amp;nbsp; Max PV&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br /&gt;&amp;nbsp; Cur PV&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;br /&gt;&amp;nbsp; Act PV&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;br /&gt;&amp;nbsp; VG Size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 55.88 GB&lt;br /&gt;&amp;nbsp; PE Size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32.00 MB&lt;br /&gt;&amp;nbsp; Total PE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1788&lt;br /&gt;&amp;nbsp; Alloc PE / Size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1256 / 39.25 GB&lt;br /&gt;&lt;b&gt;&amp;nbsp; Free&amp;nbsp; PE / Size&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 532 / 16.62 GB&lt;/b&gt;&lt;br /&gt;&amp;nbsp; VG UUID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; M9IZt3-dsAt-AdZw-yG4n-D46i-s6hM-Nxxdyb&lt;br /&gt;&lt;br /&gt;Tenemos : 16GB dispnibles para poder repartir, vamos a agradar nuestro VolumenLogico de nombre: LogVol05 6GB mas.&lt;br /&gt;&lt;br /&gt;Este es su espacio antes de llevar a cabo el proceso:&lt;br /&gt;&lt;br /&gt;/dev/mapper/VolGroup00-LogVol05 15871&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7771&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7282&amp;nbsp; 52% /opt&lt;br /&gt;&lt;br /&gt;2; Vamos a darle 6GB mas.&lt;br /&gt;lvextend -L+6G /dev/VolGroup00/LogVol05&lt;br /&gt;&lt;br /&gt;3; Desmontamos la particion, verificando que nada este abierto en la particion:&lt;br /&gt;&lt;br /&gt;umount /opt&lt;br /&gt;&lt;br /&gt;4; Verificamos la particion:&lt;br /&gt;&lt;br /&gt;e2fsck -f /dev/VolGroup00/LogVol05&lt;br /&gt;e2fsck 1.39 (29-May-2006)&lt;br /&gt;Pass 1: Checking inodes, blocks, and sizes&lt;br /&gt;Pass 2: Checking directory structure&lt;br /&gt;Pass 3: Checking directory connectivity&lt;br /&gt;Pass 4: Checking reference counts&lt;br /&gt;Pass 5: Checking group summary information&lt;br /&gt;/dev/VolGroup00/LogVol05: 2854/4194304 files (73.2% non-contiguous), 2120610/4194304 blocks&lt;br /&gt;&lt;br /&gt;5; Agrandamos la particion:&lt;br /&gt;&lt;br /&gt;resize2fs /dev/VolGroup00/LogVol05&lt;br /&gt;resize2fs 1.39 (29-May-2006)&lt;br /&gt;Resizing the filesystem on /dev/VolGroup00/LogVol05 to 5767168 (4k) blocks.&lt;br /&gt;The filesystem on /dev/VolGroup00/LogVol05 is now 5767168 blocks long.&lt;br /&gt;&lt;br /&gt;6; Montamos la particion y revisamos el nuevo tamaño:&lt;br /&gt;&lt;br /&gt;/dev/mapper/VolGroup00-LogVol05 21823&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7771&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12926&amp;nbsp; 38% /opt&lt;br /&gt;&lt;br /&gt;7; Levantar servicios que fueron apagados antes de iniciar este proceso y revisar su operacion, saludos!!!&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-7832533773504668035?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/7832533773504668035/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=7832533773504668035' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/7832533773504668035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/7832533773504668035'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/09/centos-55-incrementar-una-particion.html' title='Centos 5.5: Incrementar una particion logica LVM'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-5252072449364261844</id><published>2010-09-21T17:34:00.000-07:00</published><updated>2010-09-21T18:03:33.460-07:00</updated><title type='text'>Centos 5.x x64 : instalar super-smack 1.3</title><content type='html'>Ahi va, tenemos que tener:&lt;br /&gt;&lt;br /&gt;MySQL-client-community.x86_64             5.1.50-1.rhel5               installed&lt;br /&gt;MySQL-devel-community.x86_64              5.1.50-1.rhel5               installed&lt;br /&gt;MySQL-server-community.x86_64             5.1.50-1.rhel5               installed&lt;br /&gt;MySQL-shared-compat.x86_64                5.1.50-1.rhel5               installed&lt;br /&gt;&lt;br /&gt;  Y como super-smack no sabe hacerca de /usr/lib64 tenemos que indicarle, para esto ya tenemos el codigo y estamos en la carpeta de super-smack1.3:&lt;br /&gt;&lt;br /&gt;./configure --with-mysql --with-mysql-lib=/usr/lib64/&lt;br /&gt;&lt;br /&gt;Building with the following options:&lt;br /&gt;&lt;br /&gt;MySQL Support..................... yes&lt;br /&gt;PostgreSQL Support................ no&lt;br /&gt;Oracle Support.................... no&lt;br /&gt;&lt;br /&gt;If this is not what you intended, please re-run configure.&lt;br /&gt;&lt;br /&gt;Thanks for using super-smack!&lt;br /&gt;&lt;br /&gt;Esto sale despues de un chorizo mas grande. Tambien debemos tener libtool y sus allegados, texinfo.&lt;br /&gt;&lt;br /&gt;Bien una vez ejecutado configure, vamos a ejecutar make, pero debemos hacer lo siguiente para arquitecturas de 64bits, abrir el archivo src/query.cc e irse a la linea aprox. 188 y modificar esa parte del codigo como sigue:&lt;br /&gt;&lt;br /&gt;void  Query_report::fd_send(int fd)&lt;br /&gt;{&lt;br /&gt;  map&lt;string,&gt; &gt;::iterator i =&lt;br /&gt;    type_reports.begin();&lt;br /&gt;  char buf[MAX_REPORT_LEN];&lt;br /&gt;  int len = 0, num_recs = 0;&lt;br /&gt;  char* p = (char*)buf + 1, *p_end = (char*)buf+sizeof(buf);&lt;br /&gt;&lt;br /&gt;  while(i != type_reports.end())&lt;br /&gt;    {&lt;br /&gt;      string s((*i).first);&lt;br /&gt;      int str_len = (*i).first.length();&lt;br /&gt;      if((long)p + str_len + 3 *sizeof(int)  &lt; (long)p_end )&lt;br /&gt;      {&lt;br /&gt;        *p++ = (char) str_len;&lt;br /&gt;        const char* q_type_name = s.c_str();&lt;br /&gt;        memcpy(p,q_type_name , str_len);&lt;br /&gt;        p += str_len;&lt;br /&gt;        memcpy(p, &amp;amp;((*i).second-&gt;num_queries), sizeof(int));&lt;br /&gt;        p += sizeof(int);&lt;br /&gt;        memcpy(p, &amp;amp;((*i).second-&gt;max_time), sizeof(int));&lt;br /&gt;        p += sizeof(int);&lt;br /&gt;        memcpy(p, &amp;amp;((*i).second-&gt;min_time), sizeof(int));&lt;br /&gt;        p += sizeof(int);&lt;br /&gt;        i++;&lt;br /&gt;        num_recs++;&lt;br /&gt;      }&lt;br /&gt;      else&lt;br /&gt;        die(0, "report buffer overflow -- too many query types");&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;  len = (long)p - (long)buf;&lt;br /&gt;&lt;br /&gt;Revisen bien que necesitan modificar.&lt;br /&gt;&lt;br /&gt;Ahora si lo instalamos:&lt;br /&gt;[root@mbx-mysqlmaster super-smack-1.3]# make install&lt;br /&gt;Making install in src&lt;br /&gt;make[1]: Entering directory `/usr/app/bench/super-smack-1.3/src'&lt;br /&gt;make[2]: Entering directory `/usr/app/bench/super-smack-1.3/src'&lt;br /&gt;/bin/sh ../mkinstalldirs /usr/local/bin&lt;br /&gt;  /usr/bin/install -c  super-smack /usr/local/bin/super-smack&lt;br /&gt;  /usr/bin/install -c  gen-data /usr/local/bin/gen-data&lt;br /&gt;make[2]: Nothing to be done for `install-data-am'.&lt;br /&gt;make[2]: Leaving directory `/usr/app/bench/super-smack-1.3/src'&lt;br /&gt;make[1]: Leaving directory `/usr/app/bench/super-smack-1.3/src'&lt;br /&gt;make[1]: Entering directory `/usr/app/bench/super-smack-1.3'&lt;br /&gt;make[2]: Entering directory `/usr/app/bench/super-smack-1.3'&lt;br /&gt;make[2]: Nothing to be done for `install-exec-am'.&lt;br /&gt;/bin/sh ./mkinstalldirs /usr/share/smacks /var/smack-data&lt;br /&gt;mkdir /usr/share/smacks&lt;br /&gt;mkdir /var/smack-data&lt;br /&gt;cp -rp ./smacks/* /usr/share/smacks&lt;br /&gt;make[2]: Leaving directory `/usr/app/bench/super-smack-1.3'&lt;br /&gt;make[1]: Leaving directory `/usr/app/bench/super-smack-1.3'&lt;br /&gt;&lt;br /&gt;Ya solo necesito ver como hacerle para no se vaya a /usr/local/bin. Animo!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-5252072449364261844?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/5252072449364261844/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=5252072449364261844' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/5252072449364261844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/5252072449364261844'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/09/centos-5x-x64-instalar-super-smack-13.html' title='Centos 5.x x64 : instalar super-smack 1.3'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-5030676378475162177</id><published>2010-09-20T02:31:00.001-07:00</published><updated>2010-09-20T02:46:52.048-07:00</updated><title type='text'>FreeBSD 8: Actualizar reglas de spamassassin via proxy</title><content type='html'>Como puedo actualizar a spamassassin que esta atras de un web proxy como squid?&lt;br /&gt;&lt;br /&gt;  Necesitamos dar de alta una variable de sistema, como usamos chs, sa espera que la variable sea dada de alta como si fuera linux, ni modo asi es esto:&lt;br /&gt;&lt;br /&gt;http_proxy = http://usuario:password@ip:puerto&lt;br /&gt;&lt;br /&gt; Seria dar de alta la variable en .cshrc asi:&lt;br /&gt;&lt;br /&gt;http_proxy "http://usuario:password@192.168.1.2:3128"&lt;br /&gt;&lt;br /&gt;  Listo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-5030676378475162177?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/5030676378475162177/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=5030676378475162177' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/5030676378475162177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/5030676378475162177'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/09/freebsd-8-actualizar-reglas-de.html' title='FreeBSD 8: Actualizar reglas de spamassassin via proxy'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-393053928485346686</id><published>2010-09-14T23:16:00.001-07:00</published><updated>2010-11-09T00:43:41.558-08:00</updated><title type='text'>Centos 5.x: MySQL Tools</title><content type='html'>Vamos viendo que herramientas podemos usar para saber el desempeño de MySQL, vamos empezando por: msqlreport.&lt;br /&gt;&lt;br /&gt;Lo bajamos del site: http://hackmysql.com/mysqlreport&lt;br /&gt;&lt;br /&gt;Descomprimimos y empezamos a trabajar sobre el:&lt;br /&gt;&lt;br /&gt;#./mysqlreport&lt;br /&gt;./mysqlreport&lt;br /&gt;install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at (eval 7) line 3.&lt;br /&gt;Perhaps the DBD::mysql perl module hasn't been fully installed,&lt;br /&gt;or perhaps the capitalisation of 'mysql' isn't right.&lt;br /&gt;Available drivers: DBM, ExampleP, File, Gofer, Proxy, Sponge.&lt;br /&gt;at ./mysqlreport line 249&lt;br /&gt;&lt;br /&gt;Bien, vamos a ver necesitamos instalar los siguientes paquetes antes de continuar:&lt;br /&gt;&lt;br /&gt;yum install perl-DBD-mysql&lt;br /&gt;&lt;br /&gt;Ahora ejecutamos ahora si el programa con los parametros del servidor:&lt;br /&gt;&lt;br /&gt;./mysqlreport --user username --password mipassword&lt;br /&gt;&lt;br /&gt;Use of uninitialized value in multiplication (*) at ./mysqlreport line 829.&lt;br /&gt;Use of uninitialized value in formline at ./mysqlreport line 1227.&lt;br /&gt;MySQL 5.1.50-community-  uptime 0 6:19:10       Tue Sep 14 23:30:32 2010&lt;br /&gt;&lt;br /&gt;__ Key _________________________________________________________________&lt;br /&gt;Buffer used    28.00k of 384.00M  %Used:   0.01&lt;br /&gt;Current      71.85M            %Usage:  18.71&lt;br /&gt;Write hit      35.75%&lt;br /&gt;Read hit       94.88%&lt;br /&gt;&lt;br /&gt;__ Questions ___________________________________________________________&lt;br /&gt;Total           3.05k     0.1/s&lt;br /&gt;Com_          1.64k     0.1/s  %Total:  53.82&lt;br /&gt;QC Hits         630     0.0/s           20.66&lt;br /&gt;DMS             458     0.0/s           15.02&lt;br /&gt;COM_QUIT        327     0.0/s           10.72&lt;br /&gt;-Unknown          7     0.0/s            0.23&lt;br /&gt;Slow 10 s           1     0.0/s            0.03  %DMS:   0.22  Log: OFF&lt;br /&gt;DMS               458     0.0/s           15.02&lt;br /&gt;SELECT          395     0.0/s           12.96         86.24&lt;br /&gt;INSERT           33     0.0/s            1.08          7.21&lt;br /&gt;DELETE           27     0.0/s            0.89          5.90&lt;br /&gt;UPDATE            2     0.0/s            0.07          0.44&lt;br /&gt;REPLACE           1     0.0/s            0.03          0.22&lt;br /&gt;Com_            1.64k     0.1/s           53.82&lt;br /&gt;set_option      611     0.0/s           20.04&lt;br /&gt;show_tables     232     0.0/s            7.61&lt;br /&gt;change_db       192     0.0/s            6.30&lt;br /&gt;&lt;br /&gt;Scan              719     0.0/s %SELECT: 182.03&lt;br /&gt;Range               0       0/s            0.00&lt;br /&gt;Full join           0       0/s            0.00&lt;br /&gt;Range check         0       0/s            0.00&lt;br /&gt;Full rng join       0       0/s            0.00&lt;br /&gt;Sort scan          18     0.0/s&lt;br /&gt;Sort range          0       0/s&lt;br /&gt;Sort mrg pass       0       0/s&lt;br /&gt;&lt;br /&gt;__ Query Cache _________________________________________________________&lt;br /&gt;Memory usage  165.27k of  32.00M  %Used:   0.50&lt;br /&gt;Block Fragmnt   1.70%&lt;br /&gt;Hits              630     0.0/s&lt;br /&gt;Inserts           197     0.0/s&lt;br /&gt;Insrt:Prune     197:1     0.0/s&lt;br /&gt;Hit:Insert     3.20:1&lt;br /&gt;&lt;br /&gt;__ Table Locks _________________________________________________________&lt;br /&gt;Waited              0       0/s  %Total:   0.00&lt;br /&gt;Immediate         536     0.0/s&lt;br /&gt;&lt;br /&gt;__ Tables ______________________________________________________________&lt;br /&gt;Open               35 of  512    %Cache:   6.84&lt;br /&gt;Opened             51     0.0/s&lt;br /&gt;&lt;br /&gt;__ Connections _________________________________________________________&lt;br /&gt;Max used            4 of  151      %Max:   2.65&lt;br /&gt;Total             329     0.0/s&lt;br /&gt;&lt;br /&gt;__ Created Temp ________________________________________________________&lt;br /&gt;Disk table        143     0.0/s&lt;br /&gt;Table             687     0.0/s    Size:  16.0M&lt;br /&gt;File                5     0.0/s&lt;br /&gt;&lt;br /&gt;__ Threads _____________________________________________________________&lt;br /&gt;Running             1 of    1&lt;br /&gt;Cached              3 of    8      %Hit:  98.78&lt;br /&gt;Created             4     0.0/s&lt;br /&gt;Slow                0       0/s&lt;br /&gt;&lt;br /&gt;__ Aborted _____________________________________________________________&lt;br /&gt;Clients             0       0/s&lt;br /&gt;Connects           10     0.0/s&lt;br /&gt;&lt;br /&gt;__ Bytes _______________________________________________________________&lt;br /&gt;Sent            1.80M    79.3/s&lt;br /&gt;Received      245.42k    10.8/s&lt;br /&gt;&lt;br /&gt;__ InnoDB Buffer Pool __________________________________________________&lt;br /&gt;Usage         304.00k of   8.00M  %Used:   3.71&lt;br /&gt;Read hit       84.42%&lt;br /&gt;Pages&lt;br /&gt;Free            493            %Total:  96.29&lt;br /&gt;Data             19                      3.71 %Drty:   0.00&lt;br /&gt;Misc              0                      0.00&lt;br /&gt;Latched                                  0.00&lt;br /&gt;Reads              77     0.0/s&lt;br /&gt;From file        12     0.0/s           15.58&lt;br /&gt;Ahead Rnd         1     0.0/s&lt;br /&gt;Ahead Sql         0       0/s&lt;br /&gt;Writes              0       0/s&lt;br /&gt;Flushes             0       0/s&lt;br /&gt;Wait Free           0       0/s&lt;br /&gt;&lt;br /&gt;__ InnoDB Lock _________________________________________________________&lt;br /&gt;Waits               0       0/s&lt;br /&gt;Current             0&lt;br /&gt;Time acquiring&lt;br /&gt;Total             0 ms&lt;br /&gt;Average           0 ms&lt;br /&gt;Max               0 ms&lt;br /&gt;&lt;br /&gt;__ InnoDB Data, Pages, Rows ____________________________________________&lt;br /&gt;Data&lt;br /&gt;Reads            25     0.0/s&lt;br /&gt;Writes            3     0.0/s&lt;br /&gt;fsync             3     0.0/s&lt;br /&gt;Pending&lt;br /&gt;Reads           0&lt;br /&gt;Writes          0&lt;br /&gt;fsync           0&lt;br /&gt;&lt;br /&gt;Pages&lt;br /&gt;Created           0       0/s&lt;br /&gt;Read             19     0.0/s&lt;br /&gt;Written           0       0/s&lt;br /&gt;&lt;br /&gt;Rows&lt;br /&gt;Deleted           0       0/s&lt;br /&gt;Inserted          0       0/s&lt;br /&gt;Read              0       0/s&lt;br /&gt;Updated           0       0/s&lt;br /&gt;&lt;br /&gt;Le toca el turno a mysqltuner, lo bajamos de:&lt;br /&gt;&lt;br /&gt;http://blog.mysqltuner.com/&lt;br /&gt;&lt;br /&gt;Lo ponemos en modo script:&lt;br /&gt;&lt;br /&gt;chmod +x mysqltuner.pl&lt;br /&gt;&lt;br /&gt;./mysqltuner.pl&lt;br /&gt;&lt;br /&gt;&gt;&gt;  MySQLTuner 1.0.1 - Major Hayden &lt;major@mhtx.net&gt;&lt;br /&gt;&gt;&gt;  Bug reports, feature requests, and downloads at http://mysqltuner.com/&lt;br /&gt;&gt;&gt;  Run with '--help' for additional options and output filtering&lt;br /&gt;Please enter your MySQL administrative login: root&lt;br /&gt;Please enter your MySQL administrative password:&lt;br /&gt;&lt;br /&gt;-------- General Statistics --------------------------------------------------&lt;br /&gt;[--] Skipped version check for MySQLTuner script&lt;br /&gt;[OK] Currently running supported MySQL version 5.1.50-community-log&lt;br /&gt;[OK] Operating on 64-bit architecture&lt;br /&gt;&lt;br /&gt;-------- Storage Engine Statistics -------------------------------------------&lt;br /&gt;[--] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster&lt;br /&gt;[--] Data in MyISAM tables: 924B (Tables: 9)&lt;br /&gt;[!!] InnoDB is enabled but isn't being used&lt;br /&gt;[OK] Total fragmented tables: 0&lt;br /&gt;&lt;br /&gt;-------- Performance Metrics -------------------------------------------------&lt;br /&gt;[--] Up for: 15m 18s (28 q [0.031 qps], 15 conn, TX: 26K, RX: 1K)&lt;br /&gt;[--] Reads / Writes: 100% / 0%&lt;br /&gt;[--] Total buffers: 1.4G global + 12.4M per thread (151 max threads)&lt;br /&gt;[!!] Maximum possible memory usage: 3.3G (167% of installed RAM)&lt;br /&gt;[!!] Slow queries: 10% (3/28)&lt;br /&gt;[OK] Highest usage of available connections: 0% (1/151)&lt;br /&gt;[OK] Key buffer size / total MyISAM indexes: 384.0M/120.0K&lt;br /&gt;[!!] Query cache efficiency: 0.0% (0 cached / 14 selects)&lt;br /&gt;[OK] Query cache prunes per day: 0&lt;br /&gt;[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 1 sorts)&lt;br /&gt;[OK] Temporary tables created on disk: 0% (0 on disk / 8 total)&lt;br /&gt;[OK] Thread cache hit rate: 93% (1 created / 15 connections)&lt;br /&gt;[OK] Table cache hit rate: 82% (32 open / 39 opened)&lt;br /&gt;[OK] Open file limit used: 5% (68/1K)&lt;br /&gt;[OK] Table locks acquired immediately: 100% (18 immediate / 18 locks)&lt;br /&gt;[!!] Connections aborted: 13%&lt;br /&gt;&lt;br /&gt;-------- Recommendations -----------------------------------------------------&lt;br /&gt;General recommendations:&lt;br /&gt;Add skip-innodb to MySQL configuration to disable InnoDB&lt;br /&gt;MySQL started within last 24 hours - recommendations may be inaccurate&lt;br /&gt;Reduce your overall MySQL memory footprint for system stability&lt;br /&gt;Your applications are not closing MySQL connections properly&lt;br /&gt;Variables to adjust:&lt;br /&gt;*** MySQL's maximum memory usage is dangerously high ***&lt;br /&gt;*** Add RAM before increasing MySQL buffer variables ***&lt;br /&gt;query_cache_limit (&gt; 1M, or use smaller result sets)&lt;br /&gt;&lt;br /&gt;Ahora le toca a innotop este lo bajamos de:&lt;br /&gt;&lt;br /&gt;http://code.google.com/p/innotop/downloads/list&lt;br /&gt;&lt;br /&gt;Descomprimimos y vemos que necesitamos:&lt;br /&gt;&lt;br /&gt;perl Makefile.PL&lt;br /&gt;Checking if your kit is complete...&lt;br /&gt;Looks good&lt;br /&gt;Warning: prerequisite Term::ReadKey 2.1 not found.&lt;br /&gt;Writing Makefile for innotop&lt;br /&gt;&lt;br /&gt;Necesitamos instalar:&lt;br /&gt;&lt;br /&gt;yum install perl-TermReadKey&lt;br /&gt;&lt;br /&gt;Ahora si lo instalamos:&lt;br /&gt;&lt;br /&gt;make install&lt;br /&gt;cp innotop blib/script/innotop&lt;br /&gt;/usr/bin/perl "-MExtUtils::MY" -e "MY-&gt;fixin(shift)" blib/script/innotop&lt;br /&gt;Manifying blib/man1/innotop.1&lt;br /&gt;Installing /usr/share/man/man1/innotop.1&lt;br /&gt;Installing /usr/bin/innotop&lt;br /&gt;Writing /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/innotop/.packlist&lt;br /&gt;Appending installation info to /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/perllocal.pod&lt;br /&gt;&lt;br /&gt;Probando:&lt;br /&gt;&lt;br /&gt;innotop --u root --password mi-password&lt;br /&gt;&lt;br /&gt;When   Load  QPS   Slow  QCacheHit  KCacheHit  BpsIn  BpsOut&lt;br /&gt;Total  0.00  0.12     0     42.86%    100.00%   5.27   82.19&lt;br /&gt;&lt;br /&gt;Cmd     ID      State               User      Host           DB      Time   Query&lt;br /&gt;Daemon       1  Waiting on empty q  event_sc  localhost              14:31&lt;br /&gt;&lt;br /&gt;Listo.&lt;br /&gt;&lt;br /&gt;Ahora le toca el turno a mysqlsla, este lo bajamos de:&lt;br /&gt;&lt;br /&gt;http://hackmysql.com/mysqlsla&lt;br /&gt;&lt;br /&gt;Lo mismo, descomprimimos y a instalar, leer el INSTALL ee.&lt;br /&gt;&lt;br /&gt;perl Makefile.PL&lt;br /&gt;Checking if your kit is complete...&lt;br /&gt;Looks good&lt;br /&gt;&lt;br /&gt;make&lt;br /&gt;cp lib/mysqlsla.pm blib/lib/mysqlsla.pm&lt;br /&gt;cp bin/mysqlsla blib/script/mysqlsla&lt;br /&gt;/usr/bin/perl "-MExtUtils::MY" -e "MY-&gt;fixin(shift)" blib/script/mysqlsla&lt;br /&gt;Manifying blib/man3/mysqlsla.3pm&lt;br /&gt;&lt;br /&gt;make install&lt;br /&gt;Installing /usr/lib/perl5/site_perl/5.8.8/mysqlsla.pm&lt;br /&gt;Installing /usr/share/man/man3/mysqlsla.3pm&lt;br /&gt;Installing /usr/bin/mysqlsla&lt;br /&gt;Writing /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/mysqlsla/.packlist&lt;br /&gt;Appending installation info to /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/perllocal.pod&lt;br /&gt;&lt;br /&gt;Probamos:&lt;br /&gt;&lt;br /&gt;mysqlsla --log-type slow&lt;br /&gt;Report for slow logs:&lt;br /&gt;0 queries total, 0 unique&lt;br /&gt;Sorted by 't_sum'&lt;br /&gt;Grand Totals: Time 0 s, Lock 0 s, Rows sent 0, Rows Examined 0&lt;br /&gt;&lt;br /&gt;Aun no tenemos nada listo, pero ahi esta corriendo.&lt;br /&gt;&lt;br /&gt;Otro mas mytop y mtop.&lt;br /&gt;&lt;br /&gt;super-smack.&lt;br /&gt;&lt;br /&gt;Debemos copear el archivo /usr/share/smack/select-key.smack ahi mismo con el nombre select-key-mysql.smack.&lt;br /&gt;&lt;br /&gt;Editarlo a nuestros parametros.&lt;br /&gt;&lt;br /&gt;Y por ejemplo ejecutarlo asi:&lt;br /&gt;&lt;br /&gt;super-smack -d mysql select-key-mysql.smack 10 1000&lt;br /&gt;&lt;br /&gt;Query Barrel Report for client smacker1&lt;br /&gt;connect: max=203ms  min=0ms avg= 43ms from 10 clients&lt;br /&gt;Query_type      num_queries     max_time        min_time        q_per_s&lt;br /&gt;select_index    20000   0       0       38950.44&lt;br /&gt;&lt;br /&gt;Aqui genera una tabla myisam.&lt;br /&gt;&lt;br /&gt;Le toca el turno a sysbench, Centos 5.5 tiene la 0.4.10, del sitio podemos descargar la 0.4.12, es lo que vamos hacer  e instalar.&lt;br /&gt;&lt;br /&gt;Leyendo el INSTALL del src dice que debemos hacer esto:&lt;br /&gt;&lt;br /&gt;1; Desempaquetar el archivo .tar.gz.&lt;br /&gt;2; Entrar a el directorio creado.&lt;br /&gt;3; Ejecutar:&lt;br /&gt;./configure&lt;br /&gt;4; Ejecutar&lt;br /&gt;make    ----&gt;Pero antes de instalar libtool,autocof,gcc,gcc-c++ con yum.&lt;br /&gt;5; make install&lt;br /&gt;&lt;br /&gt;Listo ya tenemos a sysbench operable.&lt;br /&gt;&lt;br /&gt;Vamos a generar una tabla de nombre sbtest como dice el manual con&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/major@mhtx.net&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-393053928485346686?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/393053928485346686/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=393053928485346686' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/393053928485346686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/393053928485346686'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/09/centos-5x-mysql-tools.html' title='Centos 5.x: MySQL Tools'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-142552065569474013</id><published>2010-09-13T14:00:00.000-07:00</published><updated>2010-09-13T14:22:58.986-07:00</updated><title type='text'>FreeBSD 8.x: Modulo coretemp</title><content type='html'>Tengo problemas con un servidor supermicro 1U que tiene un Xeon dual core CPU: Intel(R) Xeon(R) CPU           E3110  @ 3.00GHz (2999.68-MHz K8-class CPU).&lt;br /&gt;&lt;br /&gt;  Este servidor tiene la funcion de spam filter. Sus uptimes no han sido revasados:&lt;br /&gt;&lt;br /&gt;bsdsar&lt;br /&gt;Time     % User  % Sys  % Nice  % Intrpt  % Idle&lt;br /&gt;00:00       0      0       0         0     100&lt;br /&gt;01:00       0      0       0         0     100&lt;br /&gt;02:00       0      0       0         0     100&lt;br /&gt;03:00       0      0       0         0     100&lt;br /&gt;04:00       0      0       0         0     100&lt;br /&gt;05:00       0      0       0         0     100&lt;br /&gt;06:00       0      1       0         0      99&lt;br /&gt;07:00       0      0       0         0     100&lt;br /&gt;08:00       0      0       0         0     100&lt;br /&gt;08:45       0      0       0         0     100&lt;br /&gt;08:50       0      0       0         0     100&lt;br /&gt;08:55       0      0       0         0     100&lt;br /&gt;09:00       0      0       0         0     100&lt;br /&gt;09:45       0      0       0         0     100&lt;br /&gt;09:50       0      0       0         0     100&lt;br /&gt;09:55       0      0       0         0     100&lt;br /&gt;10:00       0      0       0         0     100&lt;br /&gt;10:45       0      0       0         0     100&lt;br /&gt;10:50       0      0       0         0     100&lt;br /&gt;10:55       0      0       0         0     100&lt;br /&gt;11:00       0      0       0         0     100&lt;br /&gt;11:45       0      0       0         0     100&lt;br /&gt;11:50       0      0       0         0     100&lt;br /&gt;11:55       0      0       0         0     100&lt;br /&gt;12:00       0      0       0         0     100&lt;br /&gt;12:45       0      0       0         0     100&lt;br /&gt;12:50       0      0       0         0     100&lt;br /&gt;12:55       0      0       0         0     100&lt;br /&gt;13:00       0      0       0         0      99&lt;br /&gt;13:45       3      4       0         0      94&lt;br /&gt;13:50       3      3       0         0      94&lt;br /&gt;13:55       2      4       0         0      94&lt;br /&gt;14:00       3      3       0         0      94&lt;br /&gt;&lt;br /&gt;Por alguna razon turbia se me congela cada 2 o 3 semanas, no es nuevo pero quiero pensar que algo hace que se caliente y le pase esto, la desventaja es que no lo tengo en mi oficina, sino en las oficinas centrales que solo visito 1 vez a la semana.&lt;br /&gt;&lt;br /&gt;Solo una vez me toco estar presente cuando se congelo, cuando entre a el cuarto de servidores los abanicos estaban trabajando al maximo parecia que iba a despejar, el teclado no respondia, asi que no tuve otra manera mas sana de resetearlo que de botonazo, lo que nunca se debe hacer.&lt;br /&gt;&lt;br /&gt;Bien en cuanto lo hice, los abanicos empezaron a trabajar de manera normal, se reinicio el servidor y el raid-1 no sufrio dano alguno.&lt;br /&gt;&lt;br /&gt;Los servidores cada vez son mas inteligentes y tienen mas electronica integrada, ellos mismos balancean la velocidad de los abanicos de acuerdo a la temperatura del nucleo, la gran desventaja que siempre hacen las aplicaciones encargadas o para windows o para linux redhat.&lt;br /&gt;&lt;br /&gt;Los otros como el caso de FreeBSD no tiene esas comodidades, por ello los programadores tienen que hacer utilerias que hagan estas tareas.&lt;br /&gt;&lt;br /&gt;Para esto alguien en el foro de freebsd comento del modulo coretemp:&lt;br /&gt;&lt;br /&gt;man coretemp&lt;br /&gt;CORETEMP(4)            FreeBSD Kernel Interfaces Manual            CORETEMP(4)&lt;br /&gt;&lt;br /&gt;NAME&lt;br /&gt;     coretemp -- device driver for Intel Core on-die digital thermal sensor&lt;br /&gt;&lt;br /&gt;SYNOPSIS&lt;br /&gt;     To compile this driver into the kernel, place the following line in your&lt;br /&gt;     kernel configuration file:&lt;br /&gt;&lt;br /&gt;           device coretemp&lt;br /&gt;&lt;br /&gt;     Alternatively, to load the driver as a module at boot time, place the&lt;br /&gt;     following line in loader.conf(5):&lt;br /&gt;&lt;br /&gt;           coretemp_load="YES"&lt;br /&gt;&lt;br /&gt;DESCRIPTION&lt;br /&gt;     The coretemp driver provides support for the on-die digital thermal sen-&lt;br /&gt;     sor present in Intel Core and newer CPUs.&lt;br /&gt;&lt;br /&gt;     The coretemp driver reports each core's temperature through a sysctl node&lt;br /&gt;     in the corresponding CPU device's sysctl tree, named&lt;br /&gt;     dev.cpu.%d.temperature.&lt;br /&gt;&lt;br /&gt;SEE ALSO&lt;br /&gt;     sysctl(8)&lt;br /&gt;&lt;br /&gt;HISTORY&lt;br /&gt;     The coretemp driver first appeared in FreeBSD 7.0.&lt;br /&gt;&lt;br /&gt;AUTHORS&lt;br /&gt;     The coretemp driver was written by Rui Paulo &lt;rpaulo@freebsd.org&gt; as part&lt;br /&gt;     of a Google Summer of Code project.  This manual page was written by&lt;br /&gt;     Dag-Erling Smorgrav &lt;des@freebsd.org&gt;.&lt;br /&gt;&lt;br /&gt;FreeBSD 8.0                     August 23, 2007                    FreeBSD 8.0&lt;br /&gt;&lt;br /&gt;Preguntando me comentaron que aplica a los chips nuevos, en mi caso parece que Xeon es parte de ellos, aqui un ejemplo de mi salida:&lt;br /&gt;&lt;br /&gt;sysctl -a | grep temperature&lt;br /&gt;dev.cpu.0.temperature: 41.0C&lt;br /&gt;dev.cpu.1.temperature: 40.0C&lt;br /&gt;&lt;br /&gt;Ahora necesito un script que me mande cada 5 minutos un correo con la temperatura actual, asi podre saber si en realidad la temperatura del cpu este llegando a un nivel que provoca esto, tengo que dar con el problema, este es el script con cron:&lt;br /&gt;&lt;br /&gt;#crontab -e&lt;br /&gt;*/5 * * * * /sbin/sysctl -a | grep temperature | mail -s "Temperatura Actual" root&lt;br /&gt;&lt;br /&gt;Esto es lo que me llega:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Subject:  &lt;/b&gt;  Temperatura Actual&lt;br /&gt;&lt;br /&gt;dev.cpu.0.temperature: 41.0C&lt;br /&gt;dev.cpu.1.temperature: 40.0C&lt;br /&gt;&lt;br /&gt;No soy un experto en scripts, pero ya vere como hacerle para que cuando llegue a cierta temperatura me mande un aviso de "Peligro" y prevenir que se congele el equipo.&lt;br /&gt;&lt;br /&gt;Para activar este modulo tenemos 2 opciones o lo incluimos en el kernel o lo cargamos como modulo, yo prefiero lo 1ro.&lt;br /&gt;&lt;br /&gt;device          coretemp&lt;br /&gt;&lt;br /&gt;Hacen todos los pasos para compilar el kernel, instalarlo y arrancarlo.&lt;br /&gt;&lt;br /&gt;O si prefieren lo segundo, abren el /boot/loader.conf y agregan esta linea:&lt;br /&gt;&lt;br /&gt;coretemp_load="YES"&lt;br /&gt;&lt;br /&gt;Esto es para que cada que reinicien se cargue el modulo, si lo quieren cargar en tiempo real ya saben besederos:&lt;br /&gt;&lt;br /&gt;kldload coretemp&lt;br /&gt;&lt;br /&gt;Listo.&lt;br /&gt;&lt;br /&gt;Si existen mas maneras de llevar a cabo esto me avisan!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-142552065569474013?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/142552065569474013/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=142552065569474013' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/142552065569474013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/142552065569474013'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/09/freebsd-8x-modulo-coretemp.html' title='FreeBSD 8.x: Modulo coretemp'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-9104025192179927342</id><published>2010-09-06T12:00:00.000-07:00</published><updated>2010-09-06T12:11:12.257-07:00</updated><title type='text'>FreeBSD 7/8: apache cgi-bin  test</title><content type='html'>Necesitamos correr unos cgi-bin para apcupsd en FreeBSD, segun husmeando el directorio de apache tenemos esto:&lt;br /&gt;&lt;br /&gt;/usr/local/www/apache22/cgi-bin&lt;br /&gt;&lt;br /&gt;Ahi aparecen 2 archivos de prueba:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;printenv&lt;/li&gt;&lt;li&gt;test-cgi&lt;/li&gt;&lt;/ul&gt;Ahora si nos vamos aun navegador a ejecutarlos nos dice que:&lt;br /&gt;&lt;br /&gt;****************************************************************&lt;br /&gt;&lt;h1&gt;Internal Server Error&lt;/h1&gt; &lt;p&gt;The server encountered an internal error or misconfiguration and was unable to complete your request.&lt;/p&gt; &lt;p&gt;Please contact the server administrator,  root@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.&lt;/p&gt; &lt;p&gt;More information about this error may be available in the server error log.&lt;/p&gt;&lt;p&gt;****************************************************************&lt;/p&gt;&lt;p&gt;Bien vamos viendo que dicen los logs de apache:&lt;/p&gt;&lt;p&gt;[Mon Sep 06 11:58:59 2010] [error] [client 192.168.90.31] (13)Permission denied: exec of '/usr/local/www/apache22/cgi-bin/printenv' failed&lt;br /&gt;[Mon Sep 06 11:58:59 2010] [error] [client 192.168.90.31] Premature end of script headers: printenv&lt;/p&gt;&lt;p&gt;mmmm permiso denegado, ahora los archivos cgi-bin son alfinal de cuentas scripts hechos por lo comun en perl.&lt;/p&gt;&lt;p&gt;Vamos dondo los permisos de ejecucion como cualquier script perl, bash, sh, etc.&lt;/p&gt;&lt;p&gt;chmod +x test-cgi&lt;/p&gt;&lt;p&gt;Probamos:&lt;/p&gt;&lt;pre&gt;CGI/1.0 test script report:&lt;br /&gt;&lt;br /&gt;argc is 0. argv is .&lt;br /&gt;&lt;br /&gt;SERVER_SOFTWARE = Apache/2.2.16 (FreeBSD) mod_ssl/2.2.16 OpenSSL/0.9.8e DAV/2 PHP/5.3.3 with Suhosin-Patch&lt;br /&gt;SERVER_NAME = 192.168.90.3&lt;br /&gt;GATEWAY_INTERFACE = CGI/1.1&lt;br /&gt;SERVER_PROTOCOL = HTTP/1.1&lt;br /&gt;SERVER_PORT = 80&lt;br /&gt;REQUEST_METHOD = GET&lt;br /&gt;HTTP_ACCEPT = text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8&lt;br /&gt;PATH_INFO =&lt;br /&gt;PATH_TRANSLATED =&lt;br /&gt;SCRIPT_NAME = /cgi-bin/test-cgi&lt;br /&gt;QUERY_STRING =&lt;br /&gt;REMOTE_HOST =&lt;br /&gt;REMOTE_ADDR = 192.168.90.31&lt;br /&gt;REMOTE_USER =&lt;br /&gt;AUTH_TYPE =&lt;br /&gt;CONTENT_TYPE =&lt;br /&gt;CONTENT_LENGTH =&lt;br /&gt;&lt;br /&gt;Listo, ya se que puedo crear mis scripts y subirlos a mi servidor, saludos!!!&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-9104025192179927342?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/9104025192179927342/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=9104025192179927342' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/9104025192179927342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/9104025192179927342'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/09/freebsd-78-apache-cgi-bin-test.html' title='FreeBSD 7/8: apache cgi-bin  test'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-8280955765992711352</id><published>2010-08-28T12:06:00.001-07:00</published><updated>2010-08-29T23:22:59.171-07:00</updated><title type='text'>FreeBSD 7/8: Raid-1 agregando otro Raid-1</title><content type='html'>Buenas tardes, tengo un caso particular, mi servidor de respaldo tiene una cinta StorageWorks 232 SCSI  externa que trono.&lt;br /&gt;&lt;br /&gt; Ahi hacia mis Full backups con bacula, los respaldos diferenciales los hacia en disco, usando compresion en disco nos ahorramos muchos espacio.&lt;br /&gt;&lt;br /&gt; Bien el problema es que estamos hablando de aprox. 140GB sin comprimir de datos, a lo mucho se alojan en 80GB, el disco duro no me da mucho espacio, y me es mas dificil reinstalar todo ya que el tiempo no me lo permite, necesito agregar mas discos ya que la placa madre me permite 4 en total, 2 ya los tengo en Raid-1 con gmirror.&lt;br /&gt;&lt;br /&gt; Necesito agregarle 2 mas para hacer otro arreglo dentro del mismo servidor, mi duda era si era posible hacerlo, investigando esto, no hay limites con gmirror, podemos tener N numero de arreglos corriendo.&lt;br /&gt;&lt;br /&gt;gm0, gm1, gm3, etc. Entonces vamos empezando.&lt;br /&gt;&lt;br /&gt; Vamos a agregar 2 disco mas a el servidor, para esto apagamos el equipo, metemos los discos y comprobamos que el BIOS los detecte.&lt;br /&gt;&lt;br /&gt; Una vez hecho esto, arrancancamos el servidor de nuevo y ahora verificar que arranque y que todos los servicios este operando sin problemas.&lt;br /&gt;&lt;br /&gt; Como recomendacion, marquen los discos, nunca cambien de pocision los discos, es decir si tenemos el servidor con raid1 usando 2 discos y tenemos por asi decirlo:&lt;br /&gt;&lt;br /&gt;sata-0 disco-1&lt;br /&gt;sata 1 disco-2&lt;br /&gt;&lt;br /&gt;Nunca cambien esta pocision, marquen los discos, creanme a veces uno se le pasan estos detalles y cuando arrancamos el sistema freebsd no tiene manera de detectar estos cambios y el solo abre el fstab para montar las particiones y nomas imagienese lo que pasa.&lt;br /&gt;&lt;br /&gt; Bien, ahora que nuestro sistema esta operando, nuestros raid-1 que tenemos operando, vamos creando el otro raid-1.&lt;br /&gt;&lt;br /&gt;sata-2  disco-3 /dev/ad5&lt;br /&gt;sata-3  disco-4 /dev/ad7&lt;br /&gt;&lt;br /&gt; Vamos empezando por ad5:&lt;samp class="PROMPT"&gt;&lt;span style="font-family:Georgia,serif;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/samp&gt;&lt;kbd class="USERINPUT"&gt;gmirror &lt;/kbd&gt;&lt;kbd class="USERINPUT"&gt;label -vb round-robin gm1 /dev/ad5&lt;/kbd&gt; &lt;pre class="SCREEN"&gt;&lt;br /&gt;Metadata value stored on /dev/ad5.&lt;br /&gt;Done.&lt;br /&gt;&lt;/pre&gt;Por que gm1? Bien el sistema ya tiene un sistema en operacion con Raid-1 y estamos usando gm0 por eso el que sigue.&lt;br /&gt;&lt;br /&gt;Modficamos nuestro /etc/fstab quedando asi:&lt;br /&gt;&lt;br /&gt;# Device                Mountpoint      FStype  Options         Dump    Pass#&lt;br /&gt;/dev/mirror/gm0s1b      none            swap    sw              0       0&lt;br /&gt;/dev/mirror/gm0s1a      /               ufs     rw              1       1&lt;br /&gt;/dev/mirror/gm0s1g      /backups        ufs     rw,noatime      2       2&lt;br /&gt;/dev/mirror/gm0s1f      /tmp            ufs     rw              2       2&lt;br /&gt;/dev/mirror/gm0s1d      /usr            ufs     rw,noatime      2       2&lt;br /&gt;/dev/mirror/gm0s1e      /var            ufs     rw,noatime      2       2&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;/dev/mirror/gm1s1d      /bacula         ufs     rw,noatime      2       2&lt;/span&gt;&lt;br /&gt;/dev/acd0               /cdrom          cd9660  ro,noauto       0       0&lt;br /&gt;&lt;br /&gt;El marcado es el nuevo, debemos crear el directorio especifico antes de seguir. Una sola particion para este arreglo.&lt;br /&gt;&lt;br /&gt;Una vez modificado el archivo es hora de reiniciar el servidor para que arranque el nuevo arreglo de discos.&lt;br /&gt;&lt;br /&gt;Ya que reinicio el sistema, y no hubo problema alguna, que yo nunca los he tenido, procedemos a agregar el 2do disco a el arreglo.&lt;br /&gt;&lt;br /&gt;&lt;pre class="SCREEN"&gt;&lt;samp class="PROMPT"&gt;#&lt;/samp&gt; &lt;kbd class="USERINPUT"&gt;gmirror insert gm1 /dev/ad7&lt;br /&gt;&lt;br /&gt;Nos aparece esto en la consola:&lt;br /&gt;&lt;br /&gt;GEOM_MIRROR: Device gm1: rebuilding provider ad7.&lt;br /&gt;&lt;br /&gt;Ya que termina el proceso de espejeo nos arroja la consola:&lt;br /&gt;&lt;br /&gt;GEOM_MIRROR: Device gm1: rebuilding provider ad7 finished.&lt;br /&gt;&lt;br /&gt;Verificamos el estatus:&lt;br /&gt;&lt;br /&gt;gmirror status&lt;br /&gt;     Name    Status  Components&lt;br /&gt;mirror/gm0  COMPLETE  ad4&lt;br /&gt;                     ad6&lt;br /&gt;mirror/gm1  COMPLETE  ad5&lt;br /&gt;                     ad7&lt;br /&gt;&lt;br /&gt;Todos los arreglos arriba, ahora con mas detalles:&lt;br /&gt;&lt;br /&gt;gmirror list&lt;br /&gt;Geom name: gm0&lt;br /&gt;State: COMPLETE&lt;br /&gt;Components: 2&lt;br /&gt;Balance: round-robin&lt;br /&gt;Slice: 4096&lt;br /&gt;Flags: NONE&lt;br /&gt;GenID: 0&lt;br /&gt;SyncID: 1&lt;br /&gt;ID: 707216250&lt;br /&gt;Providers:&lt;br /&gt;1. Name: mirror/gm0&lt;br /&gt;  Mediasize: 320072932864 (298G)&lt;br /&gt;  Sectorsize: 512&lt;br /&gt;  Mode: r6w6e7&lt;br /&gt;Consumers:&lt;br /&gt;1. Name: ad4&lt;br /&gt;  Mediasize: 320072933376 (298G)&lt;br /&gt;  Sectorsize: 512&lt;br /&gt;  Mode: r1w1e1&lt;br /&gt;  State: ACTIVE&lt;br /&gt;  Priority: 0&lt;br /&gt;  Flags: NONE&lt;br /&gt;  GenID: 0&lt;br /&gt;  SyncID: 1&lt;br /&gt;  ID: 1536139089&lt;br /&gt;2. Name: ad6&lt;br /&gt;  Mediasize: 320072933376 (298G)&lt;br /&gt;  Sectorsize: 512&lt;br /&gt;  Mode: r1w1e1&lt;br /&gt;  State: ACTIVE&lt;br /&gt;  Priority: 0&lt;br /&gt;  Flags: NONE&lt;br /&gt;  GenID: 0&lt;br /&gt;  SyncID: 1&lt;br /&gt;  ID: 485083827&lt;br /&gt;&lt;br /&gt;Geom name: gm1&lt;br /&gt;State: COMPLETE&lt;br /&gt;Components: 2&lt;br /&gt;Balance: round-robin&lt;br /&gt;Slice: 4096&lt;br /&gt;Flags: NONE&lt;br /&gt;GenID: 0&lt;br /&gt;SyncID: 1&lt;br /&gt;ID: 4278214118&lt;br /&gt;Providers:&lt;br /&gt;1. Name: mirror/gm1&lt;br /&gt;  Mediasize: 320072932864 (298G)&lt;br /&gt;  Sectorsize: 512&lt;br /&gt;  Mode: r1w1e3&lt;br /&gt;Consumers:&lt;br /&gt;1. Name: ad5&lt;br /&gt;  Mediasize: 320072933376 (298G)&lt;br /&gt;  Sectorsize: 512&lt;br /&gt;  Mode: r1w1e1&lt;br /&gt;  State: ACTIVE&lt;br /&gt;  Priority: 0&lt;br /&gt;  Flags: NONE&lt;br /&gt;  GenID: 0&lt;br /&gt;  SyncID: 1&lt;br /&gt;  ID: 1107909587&lt;br /&gt;2. Name: ad7&lt;br /&gt;  Mediasize: 320072933376 (298G)&lt;br /&gt;  Sectorsize: 512&lt;br /&gt;  Mode: r1w1e1&lt;br /&gt;  State: ACTIVE&lt;br /&gt;  Priority: 0&lt;br /&gt;  Flags: NONE&lt;br /&gt;  GenID: 0&lt;br /&gt;  SyncID: 1&lt;br /&gt;  ID: 3972170277&lt;br /&gt;&lt;/kbd&gt;&lt;br /&gt;Listo todo operando normalmente!!&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-8280955765992711352?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/8280955765992711352/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=8280955765992711352' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/8280955765992711352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/8280955765992711352'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/08/freebsd-78-raid-1-agregando-otro-raid-1.html' title='FreeBSD 7/8: Raid-1 agregando otro Raid-1'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-8384307340126563843</id><published>2010-08-27T15:41:00.000-07:00</published><updated>2010-09-15T17:50:00.046-07:00</updated><title type='text'>Centos 5x: Benchamark Tools.</title><content type='html'>Empezando a probar Xen 3.0 que viene por default con Centos 5.5, la 1ra maquina virtual tiene 5 GB de ram disco duro 30 GB.&lt;br /&gt;&lt;br /&gt;Las maquinas virtuales las tengo dentro de la particion /opt del Dom-O en Raid-5.&lt;br /&gt;el servidor tiene un Raid-1 para su operacion asi que vamos empezando a ver numeros de Raid-1 vs Raid-5 en el mismo servidor.&lt;br /&gt;&lt;br /&gt;1er herramienta&lt;br /&gt;&lt;br /&gt;unixbench: yum la localizo pero no di como usarla, asi que mejor la baje del sitio:&lt;br /&gt;&lt;br /&gt;http://code.google.com/p/byte-unixbench/&lt;br /&gt;&lt;br /&gt;1er corrida:&lt;br /&gt;&lt;br /&gt;Checking distribution of files&lt;br /&gt;./pgms  exists&lt;br /&gt;./src  exists&lt;br /&gt;./testdir  exists&lt;br /&gt;./tmp  exists&lt;br /&gt;./results  exists&lt;br /&gt;make[1]: Leaving directory `/usr/app/bench/unixbench-5.1.2'&lt;br /&gt;sh: 3dinfo: command not found&lt;br /&gt;&lt;br /&gt;Version 5.1.2                      Based on the Byte Magazine Unix Benchmark&lt;br /&gt;&lt;br /&gt;Multi-CPU version                  Version 5 revisions by Ian Smith,&lt;br /&gt;                                  Sunnyvale, CA, USA&lt;br /&gt;December 22, 2007                  johantheghost at yahoo period com&lt;br /&gt;&lt;br /&gt;1 x Dhrystone 2 using register variables  1 2 3&lt;br /&gt;1 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10&lt;br /&gt;1 x Execl Throughput  1 2 34 5 6 7 8 9 10&lt;br /&gt;1 x File Copy 1024 bufsize 2000 maxblocks  1 2 3&lt;br /&gt;1 x File Copy 256 bufsize 500 maxblocks  1 2 3&lt;br /&gt;1 x File Copy 4096 bufsize 8000 maxblocks  1 2 3&lt;br /&gt;1 x Pipe Throughput  1 2 3 4 5 6 7 8 9&lt;br /&gt;1 x Process Creation  1 2 3&lt;br /&gt;1 x System Call Overhead  1 2 3 4 5 6 7 8 9&lt;br /&gt;1 x Shell Scripts (1 concurrent)  1 2 3&lt;br /&gt;1 x Shell Scripts (8 concurrent)  1 2 3&lt;br /&gt;2 x Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10&lt;br /&gt;2 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10&lt;br /&gt;2 x Execl Throughput  1 2 3&lt;br /&gt;2 x File Copy 1024 bufsize 2000 maxblocks  1 2 3&lt;br /&gt;2 x File Copy 256 bufsize 500 maxblocks  1 2 3&lt;br /&gt;2 x File Copy 4096 bufsize 8000 maxblocks  1 2 3&lt;br /&gt;2 x Pipe Throughput  1 2 3 4 5 6 7 8 9 10&lt;br /&gt;2 x Pipe-based Context Switching  1 2 3 4 5 6 7 8&lt;br /&gt;2 x Process Creation  1 2 3&lt;br /&gt;2 x System Call Overhead  1 2 3 4 5 6 7 8 9 10&lt;br /&gt;2 x Shell Scripts (1 concurrent)  1 2 3&lt;br /&gt;Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSCALL/SYSRET&lt;br /&gt; CPU 1: Intel(R) Xeon(R) CPU E5620 @ 2.40GHz (5987.0 bogomips)&lt;br /&gt;        Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSCALL/SYSRET&lt;br /&gt; 16:22:15 up 1 day, 20 min,  1 user,  load average: 0.00, 1.32, 2.32; runlevel 3&lt;br /&gt;&lt;br /&gt;------------------------------------------------------------------------&lt;br /&gt;Benchmark Run: Fri Aug 27 2010 16:22:15 - 16:50:38&lt;br /&gt;2 CPUs in system; running 1 parallel copy of tests&lt;br /&gt;&lt;br /&gt;Dhrystone 2 using register variables       14343571.7 lps   (10.0 s, 7 samples)&lt;br /&gt;Double-Precision Whetstone                     2706.6 MWIPS (9.5 s, 7 samples)&lt;br /&gt;Execl Throughput                               1103.3 lps   (29.9 s, 2 samples)&lt;br /&gt;File Copy 1024 bufsize 2000 maxblocks        286790.7 KBps  (30.0 s, 2 samples)&lt;br /&gt;File Copy 256 bufsize 500 maxblocks           68804.2 KBps  (30.0 s, 2 samples)&lt;br /&gt;File Copy 4096 bufsize 8000 maxblocks        692436.7 KBps  (30.0 s, 2 samples)&lt;br /&gt;Pipe Throughput                              390738.9 lps   (10.0 s, 7 samples)&lt;br /&gt;Pipe-based Context Switching                 108240.3 lps   (10.0 s, 7 samples)&lt;br /&gt;Process Creation                               3412.8 lps   (30.0 s, 2 samples)&lt;br /&gt;Shell Scripts (1 concurrent)                   2697.0 lpm   (60.0 s, 2 samples)&lt;br /&gt;Shell Scripts (8 concurrent)                    742.3 lpm   (60.1 s, 2 samples)&lt;br /&gt;System Call Overhead                         486911.1 lps   (10.0 s, 7 samples)&lt;br /&gt;&lt;br /&gt;System Benchmarks Index Values               BASELINE       RESULT    INDEX&lt;br /&gt;Dhrystone 2 using register variables         116700.0   14343571.7   1229.1&lt;br /&gt;Double-Precision Whetstone                       55.0       2706.6    492.1&lt;br /&gt;Execl Throughput                                 43.0       1103.3    256.6&lt;br /&gt;File Copy 1024 bufsize 2000 maxblocks          3960.0     286790.7    724.2&lt;br /&gt;File Copy 256 bufsize 500 maxblocks            1655.0      68804.2    415.7&lt;br /&gt;File Copy 4096 bufsize 8000 maxblocks          5800.0     692436.7   1193.9&lt;br /&gt;Pipe Throughput                               12440.0     390738.9    314.1&lt;br /&gt;Pipe-based Context Switching                   4000.0     108240.3    270.6&lt;br /&gt;Process Creation                                126.0       3412.8    270.9&lt;br /&gt;Shell Scripts (1 concurrent)                     42.4       2697.0    636.1&lt;br /&gt;Shell Scripts (8 concurrent)                      6.0        742.3   1237.1&lt;br /&gt;System Call Overhead                          15000.0     486911.1    324.6&lt;br /&gt;                                                                 ========&lt;br /&gt;System Benchmarks Index Score                                         512.5&lt;br /&gt;&lt;br /&gt;------------------------------------------------------------------------&lt;br /&gt;Benchmark Run: Fri Aug 27 2010 16:50:38 - 17:19:11&lt;br /&gt;2 CPUs in system; running 2 parallel copies of tests&lt;br /&gt;&lt;br /&gt;Dhrystone 2 using register variables       28935337.8 lps   (10.0 s, 7 samples)&lt;br /&gt;Double-Precision Whetstone                     5738.3 MWIPS (9.9 s, 7 samples)&lt;br /&gt;Execl Throughput                               2739.5 lps   (29.5 s, 2 samples)&lt;br /&gt;File Copy 1024 bufsize 2000 maxblocks        193524.2 KBps  (30.0 s, 2 samples)&lt;br /&gt;File Copy 256 bufsize 500 maxblocks           51916.1 KBps  (30.0 s, 2 samples)&lt;br /&gt;File Copy 4096 bufsize 8000 maxblocks        670978.9 KBps  (30.1 s, 2 samples)&lt;br /&gt;Pipe Throughput                              888673.8 lps   (10.0 s, 7 samples)&lt;br /&gt;Pipe-based Context Switching                 222862.6 lps   (10.0 s, 7 samples)&lt;br /&gt;Process Creation                               4855.8 lps   (30.0 s, 2 samples)&lt;br /&gt;Shell Scripts (1 concurrent)                   5452.4 lpm   (60.0 s, 2 samples)&lt;br /&gt;Shell Scripts (8 concurrent)                    794.9 lpm   (60.1 s, 2 samples)&lt;br /&gt;System Call Overhead                         946134.2 lps   (10.0 s, 7 samples)&lt;br /&gt;&lt;br /&gt;System Benchmarks Index Values               BASELINE       RESULT    INDEX&lt;br /&gt;Dhrystone 2 using register variables         116700.0   28935337.8   2479.5&lt;br /&gt;Double-Precision Whetstone                       55.0       5738.3   1043.3&lt;br /&gt;Execl Throughput                                 43.0       2739.5    637.1&lt;br /&gt;File Copy 1024 bufsize 2000 maxblocks          3960.0     193524.2    488.7&lt;br /&gt;File Copy 256 bufsize 500 maxblocks            1655.0      51916.1    313.7&lt;br /&gt;File Copy 4096 bufsize 8000 maxblocks          5800.0     670978.9   1156.9&lt;br /&gt;Pipe Throughput                               12440.0     888673.8    714.4&lt;br /&gt;Pipe-based Context Switching                   4000.0     222862.6    557.2&lt;br /&gt;Process Creation                                126.0       4855.8    385.4&lt;br /&gt;Shell Scripts (1 concurrent)                     42.4       5452.4   1286.0&lt;br /&gt;Shell Scripts (8 concurrent)                      6.0        794.9   1324.8&lt;br /&gt;System Call Overhead                          15000.0     946134.2    630.8&lt;br /&gt;                                                                 ========&lt;br /&gt;System Benchmarks Index Score                                         776.7&lt;br /&gt;&lt;br /&gt;maatkit.&lt;br /&gt;&lt;br /&gt;Nos pide:&lt;br /&gt;&lt;br /&gt;error: Failed dependencies:&lt;br /&gt;       perl(DBD::mysql) &gt;= 1.0 is needed by maatkit-6839-1.noarch igual a perl-DBD-mysql&lt;br /&gt;       perl(Term::ReadKey) &gt;= 2.10 is needed by maatkit-6839-1.noarch igual a&lt;br /&gt;perl-TermReadKey&lt;br /&gt;&lt;br /&gt;Listo con esto ya podemos instalarlo.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;sysbench&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Este si lo podemos instalar desde yum.&lt;br /&gt;&lt;br /&gt;Vamos sobre la prueba oltp, para esto necesitamos&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-8384307340126563843?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/8384307340126563843/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=8384307340126563843' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/8384307340126563843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/8384307340126563843'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/08/centos-5x-benchamark-tools.html' title='Centos 5x: Benchamark Tools.'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-973984880594061593</id><published>2010-08-12T18:21:00.000-07:00</published><updated>2010-08-12T18:41:20.646-07:00</updated><title type='text'>FreeBSD 7/8: Error en Cinta.</title><content type='html'>Tengo un problema con la cinta, me aparece este error cuand quiero trabajar con ella:&lt;br /&gt;&lt;br /&gt;mbx-bacula# mt -f /dev/nsa0 rewind&lt;br /&gt;mbx-bacula# mt -f /dev/nsa0 weof&lt;br /&gt;mt: /dev/nsa0: weof: Input/output error&lt;br /&gt;&lt;br /&gt;Informacion del error:&lt;br /&gt;&lt;br /&gt;mbx-bacula# tail messages&lt;br /&gt;Aug 12 18:02:54 mbx-bacula kernel: (sa0:sym0:0:3:0): Medium format corrupted&lt;br /&gt;Aug 12 18:02:54 mbx-bacula kernel: (sa0:sym0:0:3:0): Retries Exhausted&lt;br /&gt;Aug 12 18:09:10 mbx-bacula kernel: (sa0:sym0:0:3:0): WRITE FILEMARKS(6). CDB: 10 0 0 0 1 0&lt;br /&gt;Aug 12 18:09:10 mbx-bacula kernel: (sa0:sym0:0:3:0): CAM Status: SCSI Status Error&lt;br /&gt;Aug 12 18:09:10 mbx-bacula kernel: (sa0:sym0:0:3:0): SCSI Status: Check Condition&lt;br /&gt;Aug 12 18:09:10 mbx-bacula kernel: (sa0:sym0:0:3:0): MEDIUM ERROR info:1 asc:c,0&lt;br /&gt;Aug 12 18:09:10 mbx-bacula kernel: (sa0:sym0:0:3:0): Write error&lt;br /&gt;Aug 12 18:09:10 mbx-bacula kernel: (sa0:sym0:0:3:0): Retries Exhausted&lt;br /&gt;Aug 12 18:32:45 mbx-bacula kernel: sym0:3:control msgout: 80 6.&lt;br /&gt;Aug 12 18:33:47 mbx-bacula kernel: sym0:3:control msgout: 80 6.&lt;br /&gt;&lt;br /&gt;Que nos dice la cinta?&lt;br /&gt;mt -f /dev/nsa0 errstat&lt;br /&gt;Last I/O Residual: 0&lt;br /&gt; Last I/O Command: 08 00 00 FC 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;   Last I/O Sense:&lt;br /&gt;&lt;br /&gt;         F0 00 03 00 00 FC 00 10 00 00 00 00 14 00 00 00&lt;br /&gt;         50 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;&lt;br /&gt;Last Control Residual: 0&lt;br /&gt; Last Control Command: 10 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00&lt;br /&gt;   Last Control Sense:&lt;br /&gt;&lt;br /&gt;         F0 00 03 00 00 00 01 10 00 00 00 00 0C 00 00 00&lt;br /&gt;         75 0C 00 00 00 00 00 00 00 00 00 00 00 00 00 00.&lt;br /&gt;&lt;br /&gt;Vamos a ver qeue nos dice HP.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-973984880594061593?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/973984880594061593/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=973984880594061593' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/973984880594061593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/973984880594061593'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/08/freebsd-78-error-en-cinta.html' title='FreeBSD 7/8: Error en Cinta.'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-9209032669990424357</id><published>2010-08-06T10:10:00.000-07:00</published><updated>2010-08-06T10:11:57.913-07:00</updated><title type='text'>Centos  5.x Tips</title><content type='html'>Enviroment:&lt;br /&gt;&lt;br /&gt;Agregar una variable global a el sistema:&lt;br /&gt;&lt;br /&gt;export nombre_var="valor asignado"&lt;br /&gt;&lt;br /&gt;Listo!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-9209032669990424357?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/9209032669990424357/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=9209032669990424357' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/9209032669990424357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/9209032669990424357'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/08/centos-5x-tips.html' title='Centos  5.x Tips'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-570780418425072945</id><published>2010-07-24T17:17:00.000-07:00</published><updated>2010-08-29T23:33:31.196-07:00</updated><title type='text'>FreeBSD 8: Apache Jail</title><content type='html'>Ahora vamos a meter un servidor apache en una jail, asi dejamos nuestro src.conf:&lt;br /&gt;&lt;br /&gt;WITHOUT_ACCT="yes"&lt;br /&gt;WITHOUT_ACPI="yes"&lt;br /&gt;WITHOUT_AMD="yes"&lt;br /&gt;WITHOUT_APM="yes"&lt;br /&gt;WITHOUT_ASSERT_DEBUG="yes"&lt;br /&gt;WITHOUT_ATM="yes"&lt;br /&gt;WITHOUT_AUDIT="yes"&lt;br /&gt;WITHOUT_AUTHPF="yes"&lt;br /&gt;WITHOUT_BIND="yes"&lt;br /&gt;WITHOUT_BLUETOOTH="yes"&lt;br /&gt;WITHOUT_BOOT="yes"&lt;br /&gt;WITHOUT_CALENDAR="yes"&lt;br /&gt;WITHOUT_CDDL="yes"&lt;br /&gt;WITHOUT_CTM="yes"&lt;br /&gt;WITHOUT_CVS="yes"&lt;br /&gt;WITHOUT_DICT="yes"&lt;br /&gt;WITHOUT_EXAMPLES="yes"&lt;br /&gt;WITHOUT_FLOPPY="yes"&lt;br /&gt;WITHOUT_FORTH="yes"&lt;br /&gt;WITHOUT_FREEBSD_UPDATE="yes"&lt;br /&gt;WITHOUT_GAMES="yes"&lt;br /&gt;WITHOUT_GPIB="yes"&lt;br /&gt;WITHOUT_GROFF="yes"&lt;br /&gt;WITHOUT_HTML="yes"&lt;br /&gt;WITHOUT_INET6="yes"&lt;br /&gt;WITHOUT_INFO="yes"&lt;br /&gt;WITHOUT_IPFILTER="yes"&lt;br /&gt;WITHOUT_IPFW="yes"&lt;br /&gt;WITHOUT_IPX="yes"&lt;br /&gt;WITHOUT_JAIL="yes"&lt;br /&gt;WITHOUT_KVM="yes"&lt;br /&gt;WITHOUT_LEGACY_CONSOLE="yes"&lt;br /&gt;WITHOUT_LPR="yes"&lt;br /&gt;WITHOUT_MAIL="yes"&lt;br /&gt;WITHOUT_MAN="yes"&lt;br /&gt;WITHOUT_NCP="yes"&lt;br /&gt;WITHOUT_NETGRAPH="yes"&lt;br /&gt;WITHOUT_NLS="yes"&lt;br /&gt;WITHOUT_NLS_CATALOGS="yes"&lt;br /&gt;WITHOUT_NC_CACHING="yes"&lt;br /&gt;WITHOUT_NTP="yes"&lt;br /&gt;WITHOUT_PF="yes"&lt;br /&gt;WITHOUT_PMC="yes"&lt;br /&gt;WITHOUT_PPP="yes"&lt;br /&gt;WITHOUT_PROFILE="yes"&lt;br /&gt;WITHOUT_QUOTAS="yes"&lt;br /&gt;WITHOUT_RCMDS="yes"&lt;br /&gt;WITHOUT_RCS="yes"&lt;br /&gt;WITHOUT_RESCUE="yes"&lt;br /&gt;WITHOUT_ROUTED="yes"&lt;br /&gt;WITHOUT_SHAREDOCS="yes"&lt;br /&gt;WITHOUT_SSP="yes"&lt;br /&gt;WITHOUT_SYSCONS="yes"&lt;br /&gt;WITHOUT_SYSINSTALL="yes"&lt;br /&gt;WITHOUT_USB="yes"&lt;br /&gt;WITHOUT_WIRELESS="yes"&lt;br /&gt;WITHOUT_WPA_SUPPLICANT_EAPOL="yes"&lt;br /&gt;&lt;br /&gt;Algo que me gustaria marcar es que estamos dejando a esta jail NIS y KERBEROS por que vamos a controlar todo los usuarios via LDAP, de lo contrario para puro apache los dejaria dentro del archivo:&lt;br /&gt;&lt;br /&gt;WITHOUT_NIS&lt;br /&gt;WITHOUT_KERBEROS&lt;br /&gt;&lt;br /&gt;Bien ya seguimos todos los pasos para configurar mi jail, vamos arrancandola, para ello vamos configurando rc.conf del host de jails, quedaria asi:&lt;br /&gt;&lt;br /&gt;jail_enable="YES"       # Set to NO to disable starting of any jails&lt;br /&gt;jail_list="apache"               # Space separated list of names of jails&lt;br /&gt;jail_set_hostname_allow="NO" # Allow root user in a jail to change its hostname&lt;br /&gt;jail_socket_unixiproute_only="YES" # Route only TCP/IP within a jail&lt;br /&gt;jail_sysvipc_allow="NO" # Allow SystemV IPC use from within a jail&lt;br /&gt;&lt;br /&gt;Ahora vamos a la seccion de la jail de nombre apache:&lt;br /&gt;&lt;br /&gt;##############################################################&lt;br /&gt;######################    apache   ##############################&lt;br /&gt;jail_apache_rootdir="/jails/apache"   # Jail's root directory&lt;br /&gt;jail_apache_hostname="apache. mi. dominio. mx"   # Jail's hostname&lt;br /&gt;jail_apache_interface="xl0"                        # Jail's interface variable to create IP ali&lt;br /&gt;jail_apache_ip="192.168.40.6"      # Jail's primary IPv4 and IPv6 address&lt;br /&gt;jail_apache_exec_start="/bin/sh /etc/rc"           # command to execute in jail for starting&lt;br /&gt;jail_apache_exec_stop="/bin/sh /etc/rc.shutdown"   # command to execute in jail for stopping&lt;br /&gt;jail_apache_devfs_enable="YES"                     # mount devfs in the jail&lt;br /&gt;&lt;br /&gt;Arrancamos las jail:&lt;br /&gt;&lt;br /&gt;/etc/rc.d/jail/ start apache&lt;br /&gt;&lt;br /&gt;Bien aqui ya tenemos nuestra jail en operacion si es que no tuvieron problemas. Ahora viene la parte de la administracion, tenemos que 1ro que nada configurar esto dentro de la jail:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;rc.conf &lt;/li&gt;&lt;li&gt;resolv.conf&lt;/li&gt;&lt;li&gt;ssh&lt;/li&gt;&lt;li&gt;ports&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Para ello la unica manera de conectarse a la jail es atraves del mismo host, para ello tenemos que saber que # de jail es, para ello ejecutamos el comando jls y nos da:&lt;br /&gt;&lt;br /&gt;# jls&lt;br /&gt;JID  IP Address      Hostname                      Path&lt;br /&gt;15  192.168.40.6    apache-mi-dominio-com-mx          /jails/apache&lt;br /&gt;&lt;br /&gt;Vamos accesando:&lt;br /&gt;&lt;br /&gt;# jexec 15 csh&lt;br /&gt;csh: Cannot open /etc/termcap.&lt;br /&gt;csh: using dumb terminal settings.&lt;br /&gt;apache#&lt;br /&gt;&lt;br /&gt;Como podran ver nos marca un error, revisamos ese archivo podremos ver que esta vacio, pero tenemos la ventaja que lo podemos jalar del host de las jails, para ello nos salimos de la jail para regresarnos y hacer la copia:&lt;br /&gt;&lt;br /&gt;Algo que tenemos que notar es que /etc/termcap es un enlace a /usr/share/misc/termcap, asi que vamos haciendo lo siguiente dentro del host:&lt;br /&gt;&lt;br /&gt;cp /usr/share/misc/termcap /jails/apache/usr/share/misc/&lt;br /&gt;&lt;br /&gt;nos retornamos a el jail:&lt;br /&gt;&lt;br /&gt;jexec 15 csh&lt;br /&gt;&lt;br /&gt;y van a ver que ya no marca el error, correcto?&lt;br /&gt;&lt;br /&gt;Ahora ya entramos a nuestra jail, asi es hora de seguir la operacion.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;rc.conf&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Este archivo no existe asi que tenemos que crearlo y queda asi el mio:&lt;br /&gt;&lt;br /&gt;##############################################################&lt;br /&gt;###  Important initial Boot-time options  ####################&lt;br /&gt;##############################################################&lt;br /&gt;root_rw_mount="YES"     # Set to NO to inhibit remounting root read-write.&lt;br /&gt;fsck_y_enable="YES"     # Set to YES to do fsck -y if the initial preen fails.&lt;br /&gt;fsck_y_flags=""         # Additional flags for fsck -y&lt;br /&gt;background_fsck="NO"    # Attempt to run fsck in the background where possible.&lt;br /&gt;##############################################################&lt;br /&gt;###  Network configuration sub-section  ######################&lt;br /&gt;##############################################################&lt;br /&gt;### Basic network and firewall/security options: ###&lt;br /&gt;log_in_vain="0"                 # &gt;=1 to log connects to ports w/o listeners.&lt;br /&gt;tcp_keepalive="YES"             # Enable stale TCP connection timeout (or NO).&lt;br /&gt;tcp_drop_synfin="YES"           # Set to YES to drop TCP packets with SYN+FIN&lt;br /&gt;                           # NOTE: this violates the TCP specification&lt;br /&gt;icmp_drop_redirect="YES"        # Set to YES to ignore ICMP REDIRECT packets&lt;br /&gt;icmp_log_redirect="NO"          # Set to YES to log ICMP REDIRECT packets&lt;br /&gt;network_interfaces="xl0"        # List of network interfaces (or "auto").&lt;br /&gt;### Network daemon (miscellaneous) ###&lt;br /&gt;syslogd_enable="YES"            # Run syslog daemon (or NO).&lt;br /&gt;syslogd_program="/usr/sbin/syslogd" # path to syslogd, if you want a different o&lt;br /&gt;syslogd_flags="-ss"             # Flags to syslogd (if enabled).&lt;br /&gt;&lt;br /&gt;sshd_enable="YES"               # Enable sshd&lt;br /&gt;sshd_program="/usr/sbin/sshd"   # path to sshd, if you want a different one.&lt;br /&gt;sshd_flags=""                   # Additional flags for sshd.&lt;br /&gt;&lt;br /&gt;### Network routing options: ###&lt;br /&gt;defaultrouter="192.168.40.1"          # Set to default gateway (or NO).&lt;br /&gt;&lt;br /&gt;### IPv6 options: ###&lt;br /&gt;ipv6_enable="NO"                # Set to YES to set up for IPv6.&lt;br /&gt;&lt;br /&gt;##############################################################&lt;br /&gt;###  System console options  #################################&lt;br /&gt;##############################################################&lt;br /&gt;keyboard=""             # keyboard device to use (default /dev/kbd0).&lt;br /&gt;keyrate="fast"          # keyboard rate to: slow, normal, fast (or NO).&lt;br /&gt;cursor="blink"          # cursor type {normal|blink|destructive} (or NO).&lt;br /&gt;scrnmap="NO"            # screen map in /usr/share/syscons/scrnmaps/* (or NO).&lt;br /&gt;blanktime="NO"          # blank time (in seconds) or "NO" to turn it off.&lt;br /&gt;saver="NO"              # screen saver: Uses /boot/kernel/${saver}_saver.ko&lt;br /&gt;moused_nondefault_enable="NO" # Treat non-default mice as enabled unless&lt;br /&gt;moused_enable="NO"      # Run the mouse daemon.&lt;br /&gt;mousechar_start="NO"    # if 0xd0-0xd3 default range is occupied in your&lt;br /&gt;&lt;br /&gt;##############################################################&lt;br /&gt;###  Mail Transfer Agent (MTA) options  ######################&lt;br /&gt;##############################################################&lt;br /&gt;# Settings for /etc/rc.sendmail and /etc/rc.d/sendmail:&lt;br /&gt;sendmail_enable="NONE"  # Run the sendmail inbound daemon (YES/NO).&lt;br /&gt;&lt;br /&gt;##############################################################&lt;br /&gt;###  Miscellaneous administrative options  ###################&lt;br /&gt;##############################################################&lt;br /&gt;cron_enable="YES"       # Run the periodic job daemon.&lt;br /&gt;cron_program="/usr/sbin/cron"   # Which cron executable to run (if enabled).&lt;br /&gt;cron_dst="YES"          # Handle DST transitions intelligently (YES/NO)&lt;br /&gt;cron_flags=""           # Which options to pass to the cron daemon.&lt;br /&gt;clear_tmp_enable="YES"  # Clear /tmp at startup.&lt;br /&gt;kern_securelevel_enable="NO"    # kernel security level (see security(7))&lt;br /&gt;kern_securelevel="-1"   # range: -1..3 ; `-1' is the most insecure&lt;br /&gt;update_motd="NO"        # update version info in /etc/motd (or NO)&lt;br /&gt;dmesg_enable="NO"      # Save dmesg(8) to /var/run/dmesg.boot&lt;br /&gt;newsyslog_enable="YES"  # Run newsyslog at startup.&lt;br /&gt;newsyslog_flags="-CN"   # Newsyslog flags to create marked files&lt;br /&gt;mixer_enable="NO"       # Run the sound mixer.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ahora seguimos con resolv.conf.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;resolv.conf&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;Como tenemos un dns operando los damos de alta y queda asi:&lt;br /&gt;&lt;br /&gt;domain mi-dominio-com-mx&lt;br /&gt;nameserver 192.168.40.2&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;ssh&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Parte importante de la operacion, asi no dependeremos del host para administrar nuestra jail, vamos configurando ssh con llave.&lt;br /&gt;&lt;br /&gt;Para empezar vamos configurando a sshd_config quedando asi:&lt;br /&gt;&lt;br /&gt;#       $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $&lt;br /&gt;#       $FreeBSD: src/crypto/openssh/sshd_config,v 1.49.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $&lt;br /&gt;&lt;br /&gt;# This is the sshd server system-wide configuration file.  See&lt;br /&gt;# sshd_config(5) for more information.&lt;br /&gt;&lt;br /&gt;# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin&lt;br /&gt;&lt;br /&gt;# The strategy used for options in the default sshd_config shipped with&lt;br /&gt;# OpenSSH is to specify options with their default value where&lt;br /&gt;# possible, but leave them commented.  Uncommented options change a&lt;br /&gt;# default value.&lt;br /&gt;&lt;br /&gt;# Note that some of FreeBSD's defaults differ from OpenBSD's, and&lt;br /&gt;# FreeBSD has a few additional options.&lt;br /&gt;&lt;br /&gt;#VersionAddendum FreeBSD-20090522&lt;br /&gt;&lt;br /&gt;Port 22&lt;br /&gt;#Protocol 2&lt;br /&gt;#AddressFamily any&lt;br /&gt;#ListenAddress 0.0.0.0&lt;br /&gt;ListenAddress 192.168.40.6&lt;br /&gt;&lt;br /&gt;# Disable legacy (protocol version 1) support in the server for new&lt;br /&gt;# installations. In future the default will change to require explicit&lt;br /&gt;# activation of protocol 1&lt;br /&gt;Protocol 2&lt;br /&gt;&lt;br /&gt;# HostKey for protocol version 1&lt;br /&gt;#HostKey /etc/ssh/ssh_host_key&lt;br /&gt;# HostKeys for protocol version 2&lt;br /&gt;#HostKey /etc/ssh/ssh_host_rsa_key&lt;br /&gt;#HostKey /etc/ssh/ssh_host_dsa_key&lt;br /&gt;&lt;br /&gt;# Lifetime and size of ephemeral version 1 server key&lt;br /&gt;#KeyRegenerationInterval 1h&lt;br /&gt;#ServerKeyBits 1024&lt;br /&gt;&lt;br /&gt;# Logging&lt;br /&gt;# obsoletes QuietMode and FascistLogging&lt;br /&gt;#SyslogFacility AUTH&lt;br /&gt;#LogLevel INFO&lt;br /&gt;# Authentication:&lt;br /&gt;&lt;br /&gt;#LoginGraceTime 2m&lt;br /&gt;PermitRootLogin yes&lt;br /&gt;#StrictModes yes&lt;br /&gt;#MaxAuthTries 6&lt;br /&gt;#MaxSessions 10&lt;br /&gt;&lt;br /&gt;#RSAAuthentication yes&lt;br /&gt;#PubkeyAuthentication yes&lt;br /&gt;#AuthorizedKeysFile     .ssh/authorized_keys&lt;br /&gt;&lt;br /&gt;# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts&lt;br /&gt;#RhostsRSAAuthentication no&lt;br /&gt;# similar for protocol version 2&lt;br /&gt;#HostbasedAuthentication no&lt;br /&gt;# Change to yes if you don't trust ~/.ssh/known_hosts for&lt;br /&gt;# RhostsRSAAuthentication and HostbasedAuthentication&lt;br /&gt;#IgnoreUserKnownHosts no&lt;br /&gt;# Don't read the user's ~/.rhosts and ~/.shosts files&lt;br /&gt;#IgnoreRhosts yes&lt;br /&gt;&lt;br /&gt;# Change to yes to enable built-in password authentication.&lt;br /&gt;PasswordAuthentication no&lt;br /&gt;PermitEmptyPasswords no&lt;br /&gt;&lt;br /&gt;# Change to no to disable PAM authentication&lt;br /&gt;ChallengeResponseAuthentication no&lt;br /&gt;&lt;br /&gt;# Kerberos options&lt;br /&gt;#KerberosAuthentication no&lt;br /&gt;#KerberosOrLocalPasswd yes&lt;br /&gt;#KerberosTicketCleanup yes&lt;br /&gt;#KerberosGetAFSToken no&lt;br /&gt;&lt;br /&gt;# GSSAPI options&lt;br /&gt;#GSSAPIAuthentication no&lt;br /&gt;#GSSAPICleanupCredentials yes&lt;br /&gt;&lt;br /&gt;# Set this to 'no' to disable PAM authentication, account processing,&lt;br /&gt;# and session processing. If this is enabled, PAM authentication will&lt;br /&gt;# be allowed through the ChallengeResponseAuthentication and&lt;br /&gt;# PasswordAuthentication.  Depending on your PAM configuration,&lt;br /&gt;# PAM authentication via ChallengeResponseAuthentication may bypass&lt;br /&gt;# the setting of "PermitRootLogin without-password".&lt;br /&gt;# If you just want the PAM account and session checks to run without&lt;br /&gt;# PAM authentication, then enable this but set PasswordAuthentication&lt;br /&gt;# and ChallengeResponseAuthentication to 'no'.&lt;br /&gt;UsePAM no&lt;br /&gt;&lt;br /&gt;#AllowAgentForwarding yes&lt;br /&gt;#AllowTcpForwarding yes&lt;br /&gt;#GatewayPorts no&lt;br /&gt;X11Forwarding no&lt;br /&gt;#X11DisplayOffset 10&lt;br /&gt;#X11UseLocalhost yes&lt;br /&gt;#PrintMotd yes&lt;br /&gt;#PrintLastLog yes&lt;br /&gt;#TCPKeepAlive yes&lt;br /&gt;#UseLogin no&lt;br /&gt;#UsePrivilegeSeparation yes&lt;br /&gt;#PermitUserEnvironment no&lt;br /&gt;#Compression delayed&lt;br /&gt;#ClientAliveInterval 0&lt;br /&gt;#ClientAliveCountMax 3&lt;br /&gt;#UseDNS yes&lt;br /&gt;#PidFile /var/run/sshd.pid&lt;br /&gt;#MaxStartups 10&lt;br /&gt;#PermitTunnel no&lt;br /&gt;#ChrootDirectory none&lt;br /&gt;&lt;br /&gt;# no default banner path&lt;br /&gt;#Banner none&lt;br /&gt;&lt;br /&gt;# override default of no subsystems&lt;br /&gt;Subsystem       sftp    /usr/libexec/sftp-server&lt;br /&gt;&lt;br /&gt;# Example of overriding settings on a per-user basis&lt;br /&gt;#Match User anoncvs&lt;br /&gt;#       X11Forwarding no&lt;br /&gt;#       AllowTcpForwarding no&lt;br /&gt;#       ForceCommand cvs server&lt;br /&gt;&lt;br /&gt;AllowUsers      root&lt;br /&gt;&lt;br /&gt;Ahora antes de seguir vamos dandole password a root. Bien como ssh solo permite accesar via "key" o llave publica y yo ya tengo la mia, para esto tenemos que hacer lo siguiente, crear las llaves del jail por si llegaramos a usarlo, para ello vamos ejecutando el siguiente comando:&lt;br /&gt;&lt;br /&gt;# ssh-keygen&lt;br /&gt;Generating public/private rsa key pair.&lt;br /&gt;&lt;br /&gt;Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'.&lt;br /&gt;Enter passphrase (empty for no passphrase):&lt;br /&gt;Enter same passphrase again:&lt;br /&gt;Your identification has been saved in /root/.ssh/id_rsa.&lt;br /&gt;Your public key has been saved in /root/.ssh/id_rsa.pub.&lt;br /&gt;The key fingerprint is:&lt;br /&gt;b8:54:2e:7c:2f:90:b0:54:0f:a5:5d:73:5b:58:4c:e8 root@apache.assiin.com.mx&lt;br /&gt;The key's randomart image is:&lt;br /&gt;+--[ RSA 2048]----+&lt;br /&gt;|      o.. o .*+  |&lt;br /&gt;|     . = . ooo.  |&lt;br /&gt;|    o . +  ..    |&lt;br /&gt;|   . + =    E    |&lt;br /&gt;|    . B S        |&lt;br /&gt;|     . = .       |&lt;br /&gt;|      . . .      |&lt;br /&gt;|         .       |&lt;br /&gt;|                 |&lt;br /&gt;+-----------------+&lt;br /&gt;&lt;br /&gt;Dar enter hasta que regresemos a el shell, nos vamos a el nuevo folder /root/.ssh/&lt;br /&gt;y dentro creamos el archivo de nombre "authorized_keys" ahi dentro es donde vamos a grabar las llaves publicas que van a poder accesar a este jail.&lt;br /&gt;&lt;br /&gt;Una vez hecho esto ya podemos arrancar nuestro ssh y probar de alguna de las llaves.&lt;br /&gt;&lt;br /&gt;Bien ya logramos entrar a nuestra jail via ssh.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Ports&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;Ahora viene la parte donde tenemos que de alguna manera jalar de otro sistema los ports, ya que nuestra jail esta configurada para no hacer uso de sysinstall, lo bueno que los ports es un solo directorio que lo podemos comprimir de otro host o jail y jalarlo a este jail.&lt;br /&gt;&lt;br /&gt;Es lo que vamos hacer, tengo otro jail, ya di de alta su llave para accesar via ssh. Comprimo el directorio ports y se lo mando a mi jail:&lt;br /&gt;&lt;br /&gt;#cd /usr&lt;br /&gt;#tar -czf ports.tar.gz ports/&lt;br /&gt;#scp ports.tar.gz root@IP-DE-MI-JAIL:/usr&lt;br /&gt;&lt;br /&gt;Dentro del jail descomprimo el archivo y tengo listo mis ports para ser usandos.&lt;br /&gt;&lt;br /&gt;#cd /usr&lt;br /&gt;#tar -xzf ports.tar.gz&lt;br /&gt;&lt;br /&gt;Ahora si ya puedo empezar a instalar los ports que necesito, e 1ro es:&lt;br /&gt;&lt;br /&gt;cvsup-without-gui&lt;br /&gt;&lt;br /&gt;#cd /usr/ports/net/cvsup-wtihout-gui&lt;br /&gt;#maks install clean&lt;br /&gt;&lt;br /&gt;make: no system rules (sys.mk).&lt;br /&gt;&lt;br /&gt;1er error, lo mismo que paso con termcap, debemos jalar los archivos que nos van a empezar marcar errores por no tenerlos disponibles. Vamos empezando por este "sys.mk". Buscando en otros jails encontramos este archivo en /usr/share/mk/ y dentro de mi jail esta vacio, asi que jalamos mejor todo ese folder, asi como le hicimos con los ports.&lt;br /&gt;&lt;br /&gt;Nos vamos a un sistema donde tengamos este folder con todo su contenido y hacemos el mismo proceso.&lt;br /&gt;&lt;br /&gt;#cd /usr/share/&lt;br /&gt;#tar -czf mk.tar.gz&lt;br /&gt;#scp mk.tar.gz root@IP-DE-MI-JAIL:/usr/share&lt;br /&gt;&lt;br /&gt;Dentro de la jail:&lt;br /&gt;&lt;br /&gt;#cd /usr/share&lt;br /&gt;#tar -xzf mk.tar.gz&lt;br /&gt;&lt;br /&gt;Listo ahora si podemos instalar el port, solo poner atencion por si falla algo, lo mas seguro que sea por algunos programitas que no esten, pero recordar que los podemos jalar de otros sistemas.&lt;br /&gt;&lt;br /&gt;Aqui va otro:&lt;br /&gt;&lt;br /&gt;===&gt;  Building for libtool-2.2.6b&lt;br /&gt;/bin/sh /usr/ports/devel/libtool22/work/libtool-2.2.6b/libltdl/config/install-sh -d . libltdl/&lt;br /&gt;cp ./libltdl/argz_.h libltdl/argz.h-t&lt;br /&gt;mv libltdl/argz.h-t libltdl/argz.h&lt;br /&gt;make  all-recursive&lt;br /&gt;test -f doc/.dirstamp || make  doc/.dirstamp&lt;br /&gt;restore=: &amp;amp;&amp;amp; backupdir=".am$$" &amp;amp;&amp;amp;  am__cwd=`pwd` &amp;amp;&amp;amp; CDPATH="${ZSH_VERSION+.}:" &amp;amp;&amp;amp; cd . &amp;amp;&amp;amp;  rm -rf $backupdir &amp;amp;&amp;amp; mkdir $backupdir &amp;amp;&amp;amp;  if (makeinfo --no-split --version) &gt;/dev/null 2&gt;&amp;1; then  for f in ./doc/libtool.info ./doc/libtool.info-[0-9] ./doc/libtool.info-[0-9][0-9] ./doc/libtool.i[0-9] ./doc/libtool.i[0-9][0-9]; do  if test -f $f; then mv $f $backupdir; restore=mv; else :; fi;  done;  else :; fi &amp;amp;&amp;amp;  cd "$am__cwd";  if makeinfo --no-split   -I doc -I ./doc  -o ./doc/libtool.info ./doc/libtool.texi;  then  rc=0;  CDPATH="${ZSH_VERSION+.}:" &amp;amp;&amp;amp; cd .;  else  rc=$?;  CDPATH="${ZSH_VERSION+.}:" &amp;amp;&amp;amp; cd . &amp;amp;&amp;amp;  $restore $backupdir/* `echo "././doc/libtool.info" | sed 's|[^/]*$||'`;  fi;  rm -rf $backupdir; exit $rc&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;makeinfo: not found&lt;/span&gt;&lt;br /&gt;*** Error code 127&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;Vamos a jalarlo de otro:&lt;br /&gt;&lt;br /&gt;#scp  /usr/bin/makeinfo root@192.168.40.6:/usr/bin/&lt;br /&gt;makeinfo                                      100%  176KB 176.1KB/s   00:00&lt;br /&gt;&lt;br /&gt;Regresamos a ver que mas nos falta.&lt;br /&gt;&lt;br /&gt;Otro:&lt;br /&gt;&lt;br /&gt;install-info --quiet /usr/local/info/libtool.info /usr/local/info/dir&lt;br /&gt;install-info:No such file or directory&lt;br /&gt;*** Error code 1&lt;br /&gt;&lt;br /&gt;#scp  /usr/bin/install-info  root@192.168.40.6:/usr/bin/&lt;br /&gt;install-info                                  100%   19KB  18.7KB/s   00:00&lt;br /&gt;&lt;br /&gt;Aqui aparecio este otro:&lt;br /&gt;&lt;br /&gt;R%/usr/local/lib%'  -e 's%LIBEXECDIR%/usr/local/libexec%'  -e 's%MODULEDIR%/usr/local/libexec/openldap%'  -e 's%RELEASEDATE%2010/06/30%'  ./$page  | (cd .; soelim -) &gt; $page.tmp;  done&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;soelim: not found&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# scp /usr/bin/soelim  root@192.168.40.6:/usr/bin/&lt;br /&gt;soelim                                        100%   20KB  19.5KB/s   00:00&lt;br /&gt;&lt;br /&gt;Otro mas, estos van apareciendo conforme vamos instalando paquetes:&lt;br /&gt;&lt;br /&gt;gmake[1]: Leaving directory `/usr/ports/security/pam_ldap/work/pam_ldap-185'&lt;br /&gt;/usr/bin/fmt: not found&lt;br /&gt;*** Error code 127&lt;br /&gt;&lt;br /&gt;Lo copeamos de otro y seguimos.&lt;br /&gt;&lt;br /&gt;Al parecer eran todas las pequenas utilerias que necesitabamos, nuestros ports se han instalado sin problemas.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Apache&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Sseguimos con el programa principal, vamos a usar la version ./www/apache22, tiene muchos modulos por default ya configurados para trabajar, no hay problema conforme vayamos avazando vamos investigando cada uno de los modulos y podremos ir apagando uno a uno.&lt;br /&gt;&lt;br /&gt;apache va a requerir de perl, python, apr. Despues vamos a meter php ya que vamos a tener una paginas dinamicas en el servidor.&lt;br /&gt;&lt;br /&gt;Ademas de ellos vamos a alojar squirrelmail ya que tambien vamos a tener un servidor de correo pero este estara en otro jail.&lt;br /&gt;&lt;br /&gt;Y todo via ldap, que el servidor ldap estara alojado en el servidor de correo asi vamos armando nuestro rompecabezas.&lt;br /&gt;&lt;br /&gt;Bien solo como nota, si vamos a trabajar con LDAP, debemos recordar que cuando aparezca las opciones para apr seleccionar LDAP de lo contrario apache falla en la instalacion por este pequeno programa.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-570780418425072945?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/570780418425072945/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=570780418425072945' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/570780418425072945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/570780418425072945'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/07/freebsd-8-apache-jail.html' title='FreeBSD 8: Apache Jail'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-6538773771688521385</id><published>2010-07-23T11:41:00.000-07:00</published><updated>2010-07-23T11:43:37.755-07:00</updated><title type='text'>Centos 5.5 Xen Error -&gt; xenconsole: Could not read tty from store: No such file or directory</title><content type='html'>Aparecio este error cuando quieria accesar mis vm:&lt;br /&gt;&lt;br /&gt;xenconsole: Could not read tty from store: No such file or directory&lt;br /&gt;&lt;br /&gt; Leyendo resulta que el programa xenconsoled&lt;br /&gt;&lt;br /&gt; Solo tenemos que ejecutar esto en la consola del servidorr:&lt;br /&gt;&lt;br /&gt;/usr/sbin/xenconsoled&lt;br /&gt;&lt;br /&gt; Listo, ahora ahi que ver  como hacer para que  ese amigo arranque solo ?&lt;br /&gt;&lt;br /&gt;Por que no esta en la lista de chkconf.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-6538773771688521385?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/6538773771688521385/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=6538773771688521385' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/6538773771688521385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/6538773771688521385'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/07/centos-55-xen-error-xenconsole-could.html' title='Centos 5.5 Xen Error -&gt; xenconsole: Could not read tty from store: No such file or directory'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-7685642665972507711</id><published>2010-07-23T11:35:00.000-07:00</published><updated>2010-07-27T00:14:35.045-07:00</updated><title type='text'>FreeBSD 8: DNS Jail</title><content type='html'>Vamos a crear una jail para un dns en FreeBSD 8 i386.&lt;br /&gt;&lt;br /&gt;El proceso mas tardado es el builworld, para ello estamos usando esta configuracion:&lt;br /&gt;&lt;br /&gt;src.conf&lt;br /&gt;&lt;br /&gt;WITHOUT_ACCT="yes"&lt;br /&gt;WITHOUT_ACPI="yes"&lt;br /&gt;WITHOUT_AMD="yes"&lt;br /&gt;WITHOUT_APM="yes"&lt;br /&gt;WITHOUT_ASSERT_DEBUG="yes"&lt;br /&gt;WITHOUT_ATM="yes"&lt;br /&gt;WITHOUT_AUTHPF="yes"&lt;br /&gt;WITHOUT_BLUETOOTH="yes"&lt;br /&gt;WITHOUT_BOOT="yes"&lt;br /&gt;WITHOUT_CALENDAR="yes"&lt;br /&gt;WITHOUT_CDDL="yes"&lt;br /&gt;WITHOUT_CVS="yes"&lt;br /&gt;WITHOUT_DICT="yes"&lt;br /&gt;WITHOUT_EXAMPLES="yes"&lt;br /&gt;WITHOUT_FLOPPY="yes"&lt;br /&gt;WITHOUT_FREEBSD_UPDATE="yes"&lt;br /&gt;WITHOUT_GAMES="yes"&lt;br /&gt;WITHOUT_GPIB="yes"&lt;br /&gt;WITHOUT_GSSAPI="yes"&lt;br /&gt;WITHOUT_HTML="yes"&lt;br /&gt;WITHOUT_INET6="yes"&lt;br /&gt;WITHOUT_IPFILTER="yes"&lt;br /&gt;WITHOUT_IPFW="yes"&lt;br /&gt;WITHOUT_IPX="yes"&lt;br /&gt;WITHOUT_JAILS="yes"&lt;br /&gt;WITHOUT_KERBEROS="yes"&lt;br /&gt;WITHOUT_KVM="yes"&lt;br /&gt;WITHOUT_LPR="yes"&lt;br /&gt;WITHOUT_MAIL="yes"&lt;br /&gt;WITHOUT_NCP="yes"&lt;br /&gt;WITHOUT_NETGRAPH="yes"&lt;br /&gt;WITHOUT_NIS="yes"&lt;br /&gt;WITHOUT_NC_CACHING="yes"&lt;br /&gt;WITHOUT_PF="yes"&lt;br /&gt;WITHOUT_PMC="yes"&lt;br /&gt;WITHOUT_PPP="yes"&lt;br /&gt;WITHOUT_QUOTAS="yes"&lt;br /&gt;WITHOUT_RCMDS="yes"&lt;br /&gt;WITHOUT_RCS="yes"&lt;br /&gt;WITHOUT_SHAREDOCS="yes"&lt;br /&gt;WITHOUT_WIRELESS="yes"&lt;br /&gt;WITHOUT_WPA_SUPPLICANT_EAPOL="yes"&lt;br /&gt;&lt;br /&gt;Como podran observar la idea es tener lo necesario para un dns con bind. Mientras menos modulos tengamos mucho mejor asi nuestro servidor sera menos vulnerable, se imaginan que entren por un hoyo en el dns, luego por uno en el ncp, etc,etc.&lt;br /&gt;&lt;br /&gt;No vamos a usar bind de los ports sino el que viene por default en FBSD 8 que es:&lt;br /&gt;&lt;br /&gt;ns1# named -v&lt;br /&gt;BIND 9.6.1-P1&lt;br /&gt;&lt;br /&gt;El buildworld termino sin problemas, asi dejamos la configuracion en el host de los jails para este dns:&lt;br /&gt;&lt;br /&gt;#####################################################&lt;br /&gt;### Jail Configuration #######################################&lt;br /&gt;#####################################################&lt;br /&gt;jail_enable="YES" # Set to NO to disable starting of any jails&lt;br /&gt;jail_list="dns" # Space separated list of names of jails&lt;br /&gt;jail_set_hostname_allow="NO" # No quiero que el root de los jails cambie su hostname&lt;br /&gt;jail_socket_unixiproute_only="YES" # Route only TCP/IP within a jail&lt;br /&gt;jail_sysvipc_allow="NO" # No necesito SYSV&lt;br /&gt;&lt;br /&gt;###########################################&lt;br /&gt;#### jail dns #########&lt;br /&gt;###########################################&lt;br /&gt;jail_dns_rootdir="/jails/dns" # ubicacion fisica del jail&lt;br /&gt;jail_dns_hostname="ns1 . midominio . com . mx" # dns hostname&lt;br /&gt;jail_dns_interface="xl0" # Jail's interface variable to create IP aliases&lt;br /&gt;jail_dns_ip="192.168.40.2" # Jail's primary IPv4 and IPv6 address&lt;br /&gt;jail_dns_exec_start="/bin/sh /etc/rc" # command to execute in jail for starting&lt;br /&gt;jail_dns_exec_stop="/bin/sh /etc/rc.shutdown" # command to execute in jail for stopping&lt;br /&gt;jail_dns_devfs_enable="YES"&lt;br /&gt;&lt;br /&gt;Ya solo checamos el handbook y vemos como vaciar nuestro buildworld a este jail, no lo pongo aqui por que el handbook es muy claro y nunca me ha fallado.&lt;br /&gt;&lt;br /&gt;Ahora su arrancamos el jail:&lt;br /&gt;&lt;br /&gt;/etc/rc.d/jail start dns&lt;br /&gt;&lt;br /&gt;fw# jls&lt;br /&gt;JID IP Address Hostname Path&lt;br /&gt;6 192.168.40.2 ns1 . midominio . com . mx /jails/dns&lt;br /&gt;&lt;br /&gt;Ahora sigue configurar el rc.conf de esta jail, para ellos debemos entrar a su shell:&lt;br /&gt;&lt;br /&gt;jexec 6 /bin/csh&lt;br /&gt;csh: Cannot open /etc/termcap&lt;br /&gt;csh: using dumb terminal settings.&lt;br /&gt;ns1#&lt;br /&gt;&lt;br /&gt;Solo tenemos que copear el folder /usr/share/misc/termcap a el jail y listo.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;named.conf&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-7685642665972507711?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/7685642665972507711/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=7685642665972507711' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/7685642665972507711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/7685642665972507711'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/07/freebsd-8-dns-jail.html' title='FreeBSD 8: DNS Jail'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-1034076896125003912</id><published>2010-07-04T23:47:00.000-07:00</published><updated>2010-07-04T23:49:23.909-07:00</updated><title type='text'>FreeBSD: Update sa-update detras de proxy</title><content type='html'>Si tenemos nuestro spamassassin detras de un proxy con autentificacion, como debemos actualizar spamassassin?&lt;br /&gt;&lt;br /&gt;  setenv http_proxy "http://usuario:assword@IP-proxy:puerto-proxy" &amp;amp;&amp;amp; sa-update -v&lt;br /&gt;&lt;br /&gt;  Bye!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-1034076896125003912?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/1034076896125003912/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=1034076896125003912' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/1034076896125003912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/1034076896125003912'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/07/freebsd-update-sa-update-detras-de.html' title='FreeBSD: Update sa-update detras de proxy'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-4324556199546258854</id><published>2010-06-16T14:46:00.000-07:00</published><updated>2011-01-17T22:15:25.792-08:00</updated><title type='text'>Centos 5x: Samba 3.3.x+LDAP Windows 7</title><content type='html'>Aqui de nuevo, ya para Agosto 2010 MS tiene planeado dejar de vender licencias de Windows XP, entonces tenemos que nosotros tambien actualizar nuestros PDC a una version compatible con Windows 7 porque van a empezar a llegar computadoras con este OS.&lt;br /&gt;&lt;br /&gt;Que a mi punto de vista es mucho mejor que Windows Vista.&lt;br /&gt;&lt;br /&gt;Bien Red Hat por no quedarse atras, decidio tener una version compatible con Windos 7 de Samba, la version 6 de Red Hat ya viene lista para ello, mientras tenemos solo 1 camino, migrar todo a samba 3.3.8 que viene por default o buscar una version mas reciente.&lt;br /&gt;&lt;br /&gt;Para saber que dice el equipo de samba aqui tiene el link &lt;a href="http://wiki.samba.org/index.php/Windows7"&gt;samba-windows7&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Estamos usando la ultima version de Centos, ya que ellos dependen 100% de Red Hat, asi que estamos hablando de la 5.5 Release.&lt;br /&gt;&lt;br /&gt;Todo esta hecho dentro de maquinas virtuales, todo corriendo bajo Ubuntu 9.10, para virtualizar tenemos VirtualBox.&lt;br /&gt;&lt;br /&gt;Bien vamos suponiendo que ya tenemos nuestro Centos operando y actualizado. Algo que me gustaria aclarar es que ldap no tiene nada que ver con los problemas de samba y windows 7, asi que ldap sigue su operacion normal.&lt;br /&gt;&lt;br /&gt;Pero vamos hacer todo desde 0 para no usar otros links y hacerlo muy tedioso.&lt;br /&gt;&lt;br /&gt;Empiezo.&lt;br /&gt;&lt;br /&gt;NOTA: Por el momento no vamos a usar DNS.&lt;br /&gt;&lt;br /&gt;1; Centos actualizado con IP fija y hostname:&lt;br /&gt;&lt;br /&gt;IP: 172.16.5.152&lt;br /&gt;Hostname: pdc-srv.pinole.com&lt;br /&gt;&lt;br /&gt;2; Modificar el archivo /etc/hosts:&lt;br /&gt;&lt;br /&gt;[root@pdc-srv home]# cat /etc/hosts&lt;br /&gt;127.0.0.1               localhost.localdomain localhost&lt;br /&gt;::1                     localhost6.localdomain6 localhost6&lt;br /&gt;172.16.5.152            pdc-srv.pinole.com pdc-srv&lt;br /&gt;&lt;br /&gt;3; Instalar los siguientes repos.&lt;br /&gt;&lt;br /&gt;Ver siguiente link &lt;a href="http://wiki.centos.org/AdditionalResources/Repositories/RPMForge"&gt;repos&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Una vez instalados correr:&lt;br /&gt;&lt;br /&gt;yum update, actualizar y reinciar.&lt;br /&gt;&lt;br /&gt;4; Instalar los siguientes paquetes:&lt;br /&gt;&lt;br /&gt;samba3x.&lt;br /&gt;samba3x-client&lt;br /&gt;samba3x-common&lt;br /&gt;samba3x-doc&lt;br /&gt;samba3x-winbind&lt;br /&gt;openldap-servers&lt;br /&gt;openldap-clients&lt;br /&gt;&lt;br /&gt;Estamos manejando la version 3.3.8 de samba.&lt;br /&gt;&lt;br /&gt;5; Configurar ldap.&lt;br /&gt;&lt;br /&gt;Nombre del dominio: pinole.com&lt;br /&gt;&lt;br /&gt;a) creamos un folder llamado pinole en /var/lib/ldap/&lt;br /&gt;&lt;br /&gt;mkdir /var/lib/ldap/pinole&lt;br /&gt;&lt;br /&gt;b) Copeamos el archivo de nombre DB_CONFIG.example en el folder creado eliminando la extension.&lt;br /&gt;&lt;br /&gt;cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/pinole/DB_CONFIG&lt;br /&gt;&lt;br /&gt;c) Cambiamos el permiso de ese folder hacia el usuario ldap:&lt;br /&gt;chown ldap:ldap /var/lib/ldap/pinole&lt;br /&gt;&lt;br /&gt;d) Sacamos el password para el usuario de la BD en ldap:&lt;br /&gt;[root@pdc-srv home]# slappasswd&lt;br /&gt;New password:&lt;br /&gt;Re-enter new password:&lt;br /&gt;{SSHA}garabatosdecaracteres&lt;br /&gt;&lt;br /&gt;e) editamos el archivo del servidor de ldap, llamado slapd.conf y lo dejamos asi:&lt;br /&gt;NOTA: Muchos parametros los voy a eliminar para hacer la informacion mas digerible.&lt;br /&gt;&lt;br /&gt;include         /etc/openldap/schema/core.schema&lt;br /&gt;include         /etc/openldap/schema/cosine.schema&lt;br /&gt;include         /etc/openldap/schema/inetorgperson.schema&lt;br /&gt;include         /etc/openldap/schema/nis.schema&lt;br /&gt;include         /etc/openldap/schema/samba.schema&lt;br /&gt;&lt;br /&gt;pidfile         /var/run/openldap/slapd.pid&lt;br /&gt;argsfile        /var/run/openldap/slapd.args&lt;br /&gt;&lt;br /&gt;database        bdb&lt;br /&gt;suffix          "dc=pinole,dc=com"&lt;br /&gt;rootdn          "cn=Manager,dc=pinole,dc=com"&lt;br /&gt;rootpw          {SSHA}garabatosdecaracteres&lt;br /&gt;&lt;br /&gt;directory       /var/lib/ldap/pinole&lt;br /&gt;loglevel        256&lt;br /&gt;&lt;br /&gt;# Indices to maintain for this database&lt;br /&gt;index objectClass,uidNumber,gidNumber eq&lt;br /&gt;index cn,sn,uid,displayName pres,sub,eq&lt;br /&gt;index memberUid,mail,givenname eq,subinitial&lt;br /&gt;index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq&lt;br /&gt;&lt;br /&gt;f) Como estamos habilitando el log de ldap tenemos que actualizar syslog para que se encargue de el:&lt;br /&gt;&lt;br /&gt;touch /var/log/ldap.log&lt;br /&gt;&lt;br /&gt;Agregar esta linea a /etc/syslog.conf&lt;br /&gt;local4.*                                                /var/log/ldap.log&lt;br /&gt;&lt;br /&gt;Salvar y reiniciar a syslog.&lt;br /&gt;&lt;br /&gt;service syslog restart&lt;br /&gt;&lt;br /&gt;g) Iniciamos el servicio de ldap.&lt;br /&gt;&lt;br /&gt;[root@pdc-srv home]# service ldap start&lt;br /&gt;Checking configuration files for slapd:  config file testing succeeded&lt;br /&gt;                                             [  OK  ]&lt;br /&gt;Starting slapd:                                            [  OK  ]&lt;br /&gt;&lt;br /&gt;h) Probamos que el servicio este operando:&lt;br /&gt;&lt;br /&gt;[root@pdc-srv home]# service ldap status&lt;br /&gt;slapd (pid 29680) is running...&lt;br /&gt;&lt;br /&gt;6; Hasta aqui tenemos ya a ldap operable, ahora sigue configurar samba. Para ello tenemos dejar el archivo general(/etc/samba/smb.conf) como sigue:&lt;br /&gt;&lt;br /&gt;[global]&lt;br /&gt;workgroup = PINOLE&lt;br /&gt;server string = PDC Domain&lt;br /&gt;netbios name = PDC-SRV&lt;br /&gt;hosts allow = 172.16.5. 127.&lt;br /&gt;interfaces = eth0&lt;br /&gt;bind interfaces only = Yes&lt;br /&gt;hosts deny = 0.0.0.0&lt;br /&gt;&lt;br /&gt;# passwd backend&lt;br /&gt;encrypt passwords = yes&lt;br /&gt;passdb backend = ldapsam:ldap://172.16.5.152/&lt;br /&gt;enable privileges = yes&lt;br /&gt;pam password change= Yes&lt;br /&gt;passwd program = /usr/bin/passwd %u&lt;br /&gt;passwd chat = *New*UNIX*password* %nn *ReType*new*UNIX*password* %nn * passwd:*all*authentication*tokens*updated*successfully*&lt;br /&gt;unix password sync = Yes&lt;br /&gt;&lt;br /&gt;# Log options&lt;br /&gt;log level = 1&lt;br /&gt;log file = /var/log/samba/%m.log&lt;br /&gt;max log size = 500&lt;br /&gt;syslog = 1&lt;br /&gt;&lt;br /&gt;# Name resolution&lt;br /&gt;name resolve order = wins hosts bcast lmhost&lt;br /&gt;&lt;br /&gt;# misc&lt;br /&gt;timeserver = No&lt;br /&gt;socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192&lt;br /&gt;use sendfile = yes&lt;br /&gt;&lt;br /&gt;# Dos-Attribute&lt;br /&gt;map hidden = No&lt;br /&gt;map system = No&lt;br /&gt;map archive = No&lt;br /&gt;map read only = No&lt;br /&gt;store dos attributes = Yes&lt;br /&gt;&lt;br /&gt;# printers - configured to use CUPS and automatically load them&lt;br /&gt;load printers = No&lt;br /&gt;printcap name =&lt;br /&gt;#       printing =&lt;br /&gt;cups options =&lt;br /&gt;show add printer wizard = No&lt;br /&gt;add user script = /usr/sbin/smbldap-useradd -m %u&lt;br /&gt;delete user script = /usr/sbin/smbldap-userdel %u&lt;br /&gt;add group script = /usr/sbin/smbldap-groupadd -p %g&lt;br /&gt;delete group script = /usr/sbin/smbldap-groupdel %g&lt;br /&gt;add user to group script = /usr/sbin/smbldap-groupmod -m %u %g&lt;br /&gt;delete user from group script = /usr/sbin/smbldap-groupmod -x %u %g&lt;br /&gt;set primary group script = /usr/sbin/smbldap-usermod -g %g %u&lt;br /&gt;add machine script = /usr/sbin/smbldap-useradd -w %u&lt;br /&gt;&lt;br /&gt;# LDAP-iConfiguration&lt;br /&gt;#ldap delete dn = Yes&lt;br /&gt;ldap ssl = off&lt;br /&gt;ldap passwd sync = Yes&lt;br /&gt;ldap suffix = dc=pinole,dc=com&lt;br /&gt;ldap machine suffix = ou=Computers&lt;br /&gt;ldap user suffix = ou=Users&lt;br /&gt;ldap group suffix = ou=Groups&lt;br /&gt;ldap idmap suffix = ou=Idmap&lt;br /&gt;ldap admin dn = cn=Manager,dc=pinole,dc=com&lt;br /&gt;idmap backend = ldap:ldap://172.16.5.152&lt;br /&gt;idmap uid = 10000-20000&lt;br /&gt;idmap gid = 10000-20000&lt;br /&gt;&lt;br /&gt;# logon options&lt;br /&gt;logon script =&lt;br /&gt;logon path =&lt;br /&gt;logon path =&lt;br /&gt;logon home =&lt;br /&gt;logon drive =&lt;br /&gt;&lt;br /&gt;# setting up as domain controller&lt;br /&gt;username map = /etc/samba/usermap&lt;br /&gt;preferred master = Yes&lt;br /&gt;wins support = Yes&lt;br /&gt;domain logons = Yes&lt;br /&gt;domain master = Yes&lt;br /&gt;local master = Yes&lt;br /&gt;os level = 64&lt;br /&gt;map acl inherit = Yes&lt;br /&gt;unix charset = UTF8&lt;br /&gt;password level = 6&lt;br /&gt;&lt;br /&gt;#Si tiene clientes windows98 debene habilitar estos parametros (solo para samba 3.3.x+, #samba 3.0.x los tiene por default habilitados.&lt;br /&gt;#lanman auth = Yes&lt;br /&gt;#client lanman auth = Yes&lt;br /&gt;&lt;br /&gt;[netlogon]&lt;br /&gt;comment = Network Logon Service&lt;br /&gt;path = /home/samba/netlogon&lt;br /&gt;Locking = no&lt;br /&gt;&lt;br /&gt;[homes]&lt;br /&gt;comment = Home Directories&lt;br /&gt;valid users = %S&lt;br /&gt;read only = No&lt;br /&gt;browseable = No&lt;br /&gt;&lt;br /&gt;[Public]&lt;br /&gt;comment = Public Folder&lt;br /&gt;path = /opt/public&lt;br /&gt;available = Yes&lt;br /&gt;browseable = Yes&lt;br /&gt;public = Yes&lt;br /&gt;read only = No&lt;br /&gt;guest ok = Yes&lt;br /&gt;writeable = yes&lt;br /&gt;create mode = 0775&lt;br /&gt;directory mode = 0775&lt;br /&gt;admin users = root&lt;br /&gt;&lt;br /&gt;[Share]&lt;br /&gt;comment = Private Share&lt;br /&gt;path = /opt/share&lt;br /&gt;valid users = @it&lt;br /&gt;write list = @PINOLE\it&lt;br /&gt;force group = @PINOLE\it&lt;br /&gt;read only = No&lt;br /&gt;force create mode = 0770&lt;br /&gt;directory mask = 0770&lt;br /&gt;&lt;br /&gt;*Salvamos y salimos.&lt;br /&gt;&lt;br /&gt;7; Debemos crear algunos foder ahi dados de alta:&lt;br /&gt;&lt;br /&gt;mkdir /home/samba&lt;br /&gt;mkdir /home/samba/netlogon&lt;br /&gt;&lt;br /&gt;8; Crear el archivo usermap y dejarlo asi:&lt;br /&gt;&lt;br /&gt;touch /etc/samba/usermap&lt;br /&gt;&lt;br /&gt;root = Manager administrator admin&lt;br /&gt;nobody = guest pcguest smbguest&lt;br /&gt;&lt;br /&gt;9; Grabar el password de ldap en samba.&lt;br /&gt;&lt;br /&gt;[root@pdc-srv home]# smbpasswd -W&lt;br /&gt;Setting stored password for "cn=Manager,dc=pinole,dc=com" in secrets.tdb&lt;br /&gt;New SMB password:&lt;br /&gt;Retype new SMB password:&lt;br /&gt;&lt;br /&gt;Este password es el que usamos cuando ejecutamos "slappaswd".&lt;br /&gt;&lt;br /&gt;10; Compilar e instalar smbldap-tools, no podemos usar la version que nos propociona centos desde sus repos, por que esa aun depende de samba 3.0.x y les va a decir que eliminen la version que tienen instalada y si lo hacen van a volver de nuevo a el pasado.&lt;br /&gt;&lt;br /&gt;Para ello necesitamos nosotros mismos hacer nuestra propia version. Asi:&lt;br /&gt;&lt;br /&gt;a) yum install rpm-build&lt;br /&gt;b) wget http://packages.sw.be/smbldap-tools/smbldap-tools-0.9.5-1.rf.src.rpm&lt;br /&gt;c) rpm -ihv smbldap-tools-0.9.5-1.rf.src.rpm&lt;br /&gt;d) Nos movemos a el folder /usr/src/redhat/SPECS&lt;br /&gt;e) abrimos este archivo(smbldap-tools.spec ) y dejamos la siguiente linea asi:&lt;br /&gt;Requires: perl &gt;= 5.6, openldap, openldap-clients, samba3x&lt;br /&gt;f) creamos el rpm:&lt;br /&gt;rpmbuild -bb ./smbldap-tools.spec&lt;br /&gt;g) nos movemos a el siguiente folder&lt;br /&gt;cd /usr/src/redhat/RPMS/noarch&lt;br /&gt;h) Instalamos el rpm&lt;br /&gt;yum --nogpgcheck --enablerepo=rpmforge install smbldap-tools-0.9.5-1.rf.noarch.rpm&lt;br /&gt;&lt;br /&gt;Esto nos va a instalar todo lo que necesita smbldap-tools.&lt;br /&gt;&lt;br /&gt;11; Ahora necesitamos saber el SID del dominio, se saca asi:&lt;br /&gt;&lt;br /&gt;[root@pdc-srv samba]# net getlocalsid&lt;br /&gt;SID for domain PDC-SRV is: S-1-5-21-1790762827-2518552153-1965868529&lt;br /&gt;&lt;br /&gt;Esta informacion debemos tenerla a la mano.&lt;br /&gt;&lt;br /&gt;12; Configurar smbldap-tools.&lt;br /&gt;&lt;br /&gt;a) abrir archivo /etc/smbldap-tools/smbldap.conf y dejarlo asi:&lt;br /&gt;&lt;br /&gt;SID="S-1-5-21-1790762827-2518552153-1965868529"&lt;br /&gt;sambaDomain="PINOLE"&lt;br /&gt;slaveLDAP="127.0.0.1"&lt;br /&gt;slavePort="389"&lt;br /&gt;masterLDAP="127.0.0.1"&lt;br /&gt;masterPort="389"&lt;br /&gt;ldapTLS="0"&lt;br /&gt;verify="require"&lt;br /&gt;cafile="/etc/smbldap-tools/ca.pem"&lt;br /&gt;clientcert="/etc/smbldap-tools/smbldap-tools.iallanis.info.pem"&lt;br /&gt;clientkey="/etc/smbldap-tools/smbldap-tools.iallanis.info.key"&lt;br /&gt;suffix="dc=pinole,dc=com"&lt;br /&gt;usersdn="ou=Users,${suffix}"&lt;br /&gt;computersdn="ou=Computers,${suffix}"&lt;br /&gt;groupsdn="ou=Groups,${suffix}"&lt;br /&gt;idmapdn="ou=Idmap,${suffix}"&lt;br /&gt;sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}"&lt;br /&gt;scope="sub"&lt;br /&gt;hash_encrypt="SSHA"&lt;br /&gt;crypt_salt_format="%s"&lt;br /&gt;userLoginShell="/sbin/nologin"&lt;br /&gt;userHome="/home/%U"&lt;br /&gt;userHomeDirectoryMode="700"&lt;br /&gt;userGecos="System User"&lt;br /&gt;defaultUserGid="513"&lt;br /&gt;defaultComputerGid="515"&lt;br /&gt;skeletonDir="/etc/skel"&lt;br /&gt;defaultMaxPasswordAge="999"&lt;br /&gt;userSmbHome="\\PDC-SRV\%U"&lt;br /&gt;userProfile=""&lt;br /&gt;userHomeDrive="W:"&lt;br /&gt;userScript=""&lt;br /&gt;mailDomain="pinole.com"&lt;br /&gt;with_smbpasswd="0"&lt;br /&gt;smbpasswd="/usr/bin/smbpasswd"&lt;br /&gt;with_slappasswd="0"&lt;br /&gt;slappasswd="/usr/sbin/slappasswd"&lt;br /&gt;&lt;br /&gt;NOTA: No voy a manejar profiles en la red.&lt;br /&gt;&lt;br /&gt;b) Sigue el archivo /etc/smbldap-tools/smbldap_bind.conf&lt;br /&gt;&lt;br /&gt;slaveDN="cn=Manager,dc=pinole,dc=com"&lt;br /&gt;slavePw="supassword"&lt;br /&gt;masterDN="cn=Manager,dc=pinole,dc=com"&lt;br /&gt;masterPw="supassword"&lt;br /&gt;&lt;br /&gt;13; Crear los grupos y usuarios del dominio:&lt;br /&gt;&lt;br /&gt;smbldap-populate -l 99&lt;br /&gt;&lt;br /&gt;Al final nos va a pedir el password de ldap, se lo damos y listo.&lt;br /&gt;&lt;br /&gt;14; Configuramos centos para que haga uso de ldap para su autentificacion, necesitamos editar 2 archivos, /etc/ldap.conf /etc/openldap/ldap.con, vamos empezando con el primero, que da asi:&lt;br /&gt;&lt;br /&gt;host 127.0.0.1&lt;br /&gt;base dc=pinole,dc=com&lt;br /&gt;ldap_version 3&lt;br /&gt;timelimit 120&lt;br /&gt;bind_timelimit 120&lt;br /&gt;bind_policy soft&lt;br /&gt;idle_timelimit 3600&lt;br /&gt;nss_initgroups_ignoreusers root,ldap,named,avahi,haldaemon,dbus,radvd,tomcat,radiusd,news,mailman,nscd,gdm&lt;br /&gt;ssl no&lt;br /&gt;tls_cacertdir /etc/openldap/cacerts&lt;br /&gt;pam_password md5&lt;br /&gt;&lt;br /&gt;Ahora /etc/openldap/ldap.conf&lt;br /&gt;&lt;br /&gt;HOST 127.0.0.1&lt;br /&gt;URI ldap://127.0.0.1/&lt;br /&gt;BASE dc=pinole,dc=com&lt;br /&gt;TLS_CACERTDIR /etc/openldap/cacerts&lt;br /&gt;&lt;br /&gt;15; Configurar Centos para que haga uso de los usuarios de ldap, tenemos una utileria en la  consola, se llama authconfig-tui, la ejecutamos y seleccionamos ldap en ambos lados, lo que hace este programa es leer los dos archivos del punto 14 y de saca la informacion de como contactar a ldap.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Xy40aNvXdHc/TBlzrm4bblI/AAAAAAAAAEs/n5kEnV3tcok/s1600/ldap1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_Xy40aNvXdHc/TBlzrm4bblI/AAAAAAAAAEs/n5kEnV3tcok/s320/ldap1.jpg" alt="" id="BLOGGER_PHOTO_ID_5483541214309084754" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Xy40aNvXdHc/TBl0UfmsQAI/AAAAAAAAAE0/5i_DE2Qlafg/s1600/ldap2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 300px; height: 150px;" src="http://1.bp.blogspot.com/_Xy40aNvXdHc/TBl0UfmsQAI/AAAAAAAAAE0/5i_DE2Qlafg/s320/ldap2.jpg" alt="" id="BLOGGER_PHOTO_ID_5483541916730277890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;16; Ldap esta operando, ahora vamos a probar si la estructura de nuestro dominio esta correcta.&lt;br /&gt;&lt;br /&gt;[root@pdc-srv samba]# net groupmap list&lt;br /&gt;Domain Admins (S-1-5-21-1790762827-2518552153-1965868529-512) -&gt; Domain Admins&lt;br /&gt;Domain Users (S-1-5-21-1790762827-2518552153-1965868529-513) -&gt; Domain Users&lt;br /&gt;Domain Guests (S-1-5-21-1790762827-2518552153-1965868529-514) -&gt; Domain Guests&lt;br /&gt;Domain Computers (S-1-5-21-1790762827-2518552153-1965868529-515) -&gt; Domain Computers&lt;br /&gt;Administrators (S-1-5-32-544) -&gt; Administrators&lt;br /&gt;Account Operators (S-1-5-32-548) -&gt; Account Operators&lt;br /&gt;Print Operators (S-1-5-32-550) -&gt; Print Operators&lt;br /&gt;Backup Operators (S-1-5-32-551) -&gt; Backup Operators&lt;br /&gt;Replicators (S-1-5-32-552) -&gt; Replicators&lt;br /&gt;&lt;br /&gt;Ahora los usuarios&lt;br /&gt;&lt;br /&gt;[root@pdc-srv samba]# getent passwd | grep Domain&lt;br /&gt;root:x:0:0:Netbios Domain Administrator:/home/root:/bin/false&lt;br /&gt;&lt;br /&gt;17; Ejecutando a samba, ya sigue la parte mas importante de todo esto, con esta version de samba, ya divieron el demonio smb y nmb asi que tenemos que iniciar a cada por su cuenta:&lt;br /&gt;&lt;br /&gt;[root@pdc-srv samba]# service smb start&lt;br /&gt;Starting SMB services:                                     [  OK  ]&lt;br /&gt;[root@pdc-srv samba]# service nmb start&lt;br /&gt;Starting NMB services:                                     [  OK  ]&lt;br /&gt;[root@pdc-srv samba]# service winbind start&lt;br /&gt;Starting Winbind services:                                 [  OK  ]&lt;br /&gt;&lt;br /&gt;Winbind sigue siendo independiente.&lt;br /&gt;&lt;br /&gt;18; Agrendo usuarios a el dominio:&lt;br /&gt;&lt;br /&gt;[root@pdc-srv samba]# smbldap-useradd -a -m test6&lt;br /&gt;[root@pdc-srv samba]# smbldap-passwd test6&lt;br /&gt;Changing UNIX and samba passwords for test6&lt;br /&gt;New password:&lt;br /&gt;Retype new password:&lt;br /&gt;&lt;br /&gt;Debemos tener un folder en /home de este usuario:&lt;br /&gt;&lt;br /&gt;[root@pdc-srv samba]# ll /home/&lt;br /&gt;total 32&lt;br /&gt;drwx------ 2 notelaacabas Domain Users 4096 Jun 16 10:19 notelaacabas&lt;br /&gt;drwxr-xr-x 3 root         root         4096 Jun 16 09:48 samba&lt;br /&gt;drwx------ 2 test1        Domain Users 4096 Jun 16 10:07 test1&lt;br /&gt;drwx------ 2 test2        Domain Users 4096 Jun 16 10:07 test2&lt;br /&gt;drwx------ 2 test3        Domain Users 4096 Jun 16 10:07 test3&lt;br /&gt;drwx------ 2 test4        Domain Users 4096 Jun 16 10:08 test4&lt;br /&gt;drwx------ 2 test5        Domain Users 4096 Jun 16 10:06 test5&lt;br /&gt;drwx------ 2 test6        Domain Users 4096 Jun 16 13:05 test6&lt;br /&gt;&lt;br /&gt;Yo ya tengo varios.&lt;br /&gt;&lt;br /&gt;Vamos viendo la informacion de este usuario:&lt;br /&gt;&lt;br /&gt;[root@pdc-srv samba]# pdbedit -Lv test6&lt;br /&gt;Unix username:        test6&lt;br /&gt;NT username:          test6&lt;br /&gt;Account Flags:        [U          ]&lt;br /&gt;User SID:             S-1-5-21-1790762827-2518552153-1965868529-3024&lt;br /&gt;Primary Group SID:    S-1-5-21-1790762827-2518552153-1965868529-513&lt;br /&gt;Full Name:            test6&lt;br /&gt;Home Directory:       \\PDC-SRV\test6&lt;br /&gt;HomeDir Drive:        W:&lt;br /&gt;Logon Script:&lt;br /&gt;Profile Path:&lt;br /&gt;Domain:               PINOLE&lt;br /&gt;Account desc:&lt;br /&gt;Workstations:&lt;br /&gt;Munged dial:&lt;br /&gt;Logon time:           0&lt;br /&gt;Logoff time:          Mon, 18 Jan 2038 19:14:07 PST&lt;br /&gt;Kickoff time:         Mon, 18 Jan 2038 19:14:07 PST&lt;br /&gt;Password last set:    Wed, 16 Jun 2010 13:05:30 PDT&lt;br /&gt;Password can change:  Wed, 16 Jun 2010 13:05:30 PDT&lt;br /&gt;Password must change: never&lt;br /&gt;Last bad password   : 0&lt;br /&gt;Bad password count  : 0&lt;br /&gt;Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF&lt;br /&gt;&lt;br /&gt;[root@pdc-srv samba]# smbldap-usershow test6&lt;br /&gt;dn: uid=test6,ou=Users,dc=pinole,dc=com&lt;br /&gt;objectClass: top,person,organizationalPerson,inetOrgPerson,posixAccount,shadowAccount,sambaSamAccount&lt;br /&gt;cn: test6&lt;br /&gt;sn: test6&lt;br /&gt;givenName: test6&lt;br /&gt;uid: test6&lt;br /&gt;uidNumber: 1012&lt;br /&gt;gidNumber: 513&lt;br /&gt;homeDirectory: /home/test6&lt;br /&gt;loginShell: /sbin/nologin&lt;br /&gt;gecos: System User&lt;br /&gt;sambaLogonTime: 0&lt;br /&gt;sambaLogoffTime: 2147483647&lt;br /&gt;sambaKickoffTime: 2147483647&lt;br /&gt;sambaPwdCanChange: 0&lt;br /&gt;displayName: test6&lt;br /&gt;sambaSID: S-1-5-21-1790762827-2518552153-1965868529-3024&lt;br /&gt;sambaPrimaryGroupSID: S-1-5-21-1790762827-2518552153-1965868529-513&lt;br /&gt;sambaHomePath: \\PDC-SRV\test6&lt;br /&gt;sambaHomeDrive: W:&lt;br /&gt;sambaLMPassword: F5CF000C05721947AAD3B435B51404EE&lt;br /&gt;sambaAcctFlags: [U]&lt;br /&gt;sambaNTPassword: 059D9B5115D7554D006DD6E6B3403B6C&lt;br /&gt;sambaPwdLastSet: 1276718730&lt;br /&gt;sambaPwdMustChange: 1363032330&lt;br /&gt;userPassword: {SSHA}xcHbH7IIFXLNrpL9S4kbFD+r+ol0ZTUv&lt;br /&gt;shadowLastChange: 14776&lt;br /&gt;shadowMax: 999&lt;br /&gt;&lt;br /&gt;Hasta aqui todo va bien.&lt;br /&gt;&lt;br /&gt;19; Revisando si samba ya tomo el control del dominio, para esto tenemos que leer el archivo log de nmb:&lt;br /&gt;&lt;br /&gt;[root@pdc-srv samba]# tail log.nmbd&lt;br /&gt;&lt;br /&gt;Samba server PDC-SRV is now a domain master browser for workgroup PINOLE on subnet 172.16.5.152&lt;br /&gt;&lt;br /&gt;*****&lt;br /&gt;[2010/06/16 13:02:33,  0] nmbd/nmbd_become_lmb.c:become_local_master_stage2(395)&lt;br /&gt;*****&lt;br /&gt;&lt;br /&gt;Samba name server PDC-SRV is now a local master browser for workgroup PINOLE on subnet 172.16.5.152&lt;br /&gt;&lt;br /&gt;*****&lt;br /&gt;&lt;br /&gt;Perfecto.&lt;br /&gt;&lt;br /&gt;20; Probando los accesos de los usuarios a cada uno de sus directorios personales:&lt;br /&gt;[root@pdc-srv samba]# smbclient \\\\pdc-srv\\test6 -U test6&lt;br /&gt;Enter test6's password:&lt;br /&gt;Domain=[PINOLE] OS=[Unix] Server=[Samba 3.3.8-0.51.el5]&lt;br /&gt;smb: \&gt; mkdir seis&lt;br /&gt;smb: \&gt; quit&lt;br /&gt;[root@pdc-srv samba]#&lt;br /&gt;&lt;br /&gt;Listo no marco error de acceso, para que vean si funciona, vamos tratando hacer lo mismo, pero usando otro usuario:&lt;br /&gt;[root@pdc-srv samba]# smbclient \\\\pdc-srv\\test6 -U test1&lt;br /&gt;Enter test1's password:&lt;br /&gt;Domain=[PINOLE] OS=[Unix] Server=[Samba 3.3.8-0.51.el5]&lt;br /&gt;tree connect failed: NT_STATUS_ACCESS_DENIED&lt;br /&gt;&lt;br /&gt;Correcto acceso denegado.&lt;br /&gt;&lt;br /&gt;Bien, hasta aqui samba esta listo para recibir a sus clientes, ustedes ya saben como agregar sus equipos con Windows XP a el dominio, es casi el mismo proceso en windows 7, nomas que deben llevar a cabo unos cambios en el register, el principio del blog les puse el link donde dice como hacer esto.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;LDAP Slave Server&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;  Ya tenemos un servidor PDC con samba y LDAP, todo funciona correctamente, nuestros clientes se estan conectando, todo mundo esta trabajando sin problemas. Pero resulta que la empresa crecio y ahora los logeos estan un poco lentos.&lt;br /&gt;&lt;br /&gt;Samba+LDAP segun la documentacion dice que por cada 50 usuarios debemos tener un BDC para que ayude a los logeos asi el PDC no se sature y alente la red.&lt;br /&gt;&lt;br /&gt;La ventaja de LDAP es que tiene la opcion de replica hacia otro LDAP en tiempo real, no es necesario apagar el servicio y hacer rsync o cp o tar para llevar la BD de un servidor a otro.&lt;br /&gt;&lt;br /&gt;LDAP tiene muchas maneras de llevar a cabo esto, cual es la mas eficiente no se, solo he trabajado con una muy estable y no estamos cambiando a cada rato los settings del PDC asi que para mi es mas que suficiente.&lt;br /&gt;&lt;br /&gt;Esto funciona a grandes razgos asi, el PDC tiene el servidor LDAP maestro, necesitamos un BDC con un servidor LDAP esclavo. Cuando se hace algun cambio en la BD del PDC, el LDAP maestro envia los cambios a el LDAP esclavo que se esta ejecutando en el BDC, asi de simple.&lt;br /&gt;&lt;br /&gt;Con esto tendremos redundancia de servidores de logeo, si cae uno el otro hara la chamba, lo unico malo que si el PDC cae y alguien quisiera hacer un cambio en su cuenta va a estar dificil por que el PDC manda, nada es perfecto, nunca me ha tocado esto.&lt;br /&gt;&lt;br /&gt;Hacer esto no es nada dificil, lo unico que tenemos que hacer es o siguiente:&lt;br /&gt;&lt;br /&gt;1; Datos del BDC:&lt;br /&gt;&lt;br /&gt;IP: 172.16.5.153&lt;br /&gt;Hostname: bdc-srv.pinole.com&lt;br /&gt;&lt;br /&gt;2; Aqui estamos usando ya PFSENSE, asi que doy de alta los datos de mis equipos en el DNS asi me olvido de editar el /etc/hosts.&lt;br /&gt;&lt;br /&gt;3; Software a instalar. Vamos a seguir del PDC los pasos del #4 a el 5-C.&lt;br /&gt;&lt;br /&gt;4; Configurando el LDAP esclavo:&lt;br /&gt;&lt;br /&gt;Aqui vamos a agregar a el final del archivo slapd.conf esto:&lt;br /&gt;&lt;br /&gt;updatedn        "cn=Manager,dc=pinole,dc=com"&lt;br /&gt;updateref       ldap://pdc-srv.pinole.com:389/&lt;br /&gt;&lt;br /&gt;5; Seguir los pasos #14 y #15 para que nuestro BDC accese los usuarios del PDC via LDAP, probar.&lt;br /&gt;&lt;br /&gt;6; Copear la BD de LDAP maestro a el esclavo y enviarla a el LDAP esclavo, cargar el LDAP esclavo con el respaldo traido desde el maestro.&lt;br /&gt;&lt;br /&gt;a)Maestro.&lt;br /&gt;slapcat -l pinole.ldif&lt;br /&gt;b) Enviar este archivo a el esclavo, aqui yo use ssh para esto con llave publica.&lt;br /&gt;c) slapadd -l pinole.ldif&lt;br /&gt;NOTA: aqui necesitamos cambiar los permisos del directorio /var/lib/ldap/pinole de nuevo:&lt;br /&gt;chown -R ldap:ldap /var/lib/ldap/pinole&lt;br /&gt;&lt;br /&gt;7; Seguir paso #5-f.&lt;br /&gt;&lt;br /&gt;8; Iniciar el LDAP esclavo.&lt;br /&gt;&lt;br /&gt;9; En el LDAP maestro necesitamos apagarlo y agregar lo siguiente a el final del archivo slapd.conf:&lt;br /&gt;&lt;br /&gt;#Replicas of this database&lt;br /&gt;replogfile /var/lib/ldap/pinole/replog&lt;br /&gt;replica host=bdc-srv.pinole.com:389&lt;br /&gt;binddn="cn=Manager,dc=pinole,dc=com"&lt;br /&gt;credentials=ldap-password&lt;br /&gt;bindmethod=simple&lt;br /&gt;&lt;br /&gt;10; Crear el archivo replog y poner los permisos de ldap:&lt;br /&gt;&lt;br /&gt;touch /var/lib/ldap/pinole/replog&lt;br /&gt;chown -R ldap:ldap /var/lib/ldap/pinole/&lt;br /&gt;&lt;br /&gt;11; Reiniciar el servicio de ldap:&lt;br /&gt;&lt;br /&gt;service ldap restart&lt;br /&gt;&lt;br /&gt;Aqui ya tenemos nuestros dos servicios arriba, necesitamos saber si funcionan. Para esto, tanto el PDC como el BDC deben tener dados de alta ambos en el archivo ldap.conf, asi si uno no responde sabran usar el otro.&lt;br /&gt;&lt;br /&gt;Asi quedaria el /etc/ldap.conf en ambos, solo se le agrega un parametro solemente:&lt;br /&gt;&lt;br /&gt;host 127.0.0.1 bdc-srv.pinole.com&lt;br /&gt;&lt;br /&gt;Como podran ver solo agregamos el bdc.&lt;br /&gt;&lt;br /&gt;El /etc/openldap/ldap.conf lo mismo:&lt;br /&gt;&lt;br /&gt;HOST 127.0.0.1 bdc-srv.pinole.com&lt;br /&gt;URI ldap://127.0.0.1/ ldap://bdc-srv.pinole.com/&lt;br /&gt;BASE dc=pinole,dc=com&lt;br /&gt;TLS_CACERTDIR /etc/openldap/cacerts&lt;br /&gt;&lt;br /&gt;Si quieren probar esto apaguen el LDAP maestro y pidan la informacion del algun usuario del dominio, debe arrojarselas aunque el LDAP maestro este apagado.&lt;br /&gt;&lt;br /&gt;Ahora de nuevo prendan el LDAP maestro, agreguen un usuario o cambien el password de uno usuario, la replica la hace rapido. Apaguen el LDAP maestro y traten de pedir info del usuario creado, van a ver que en cualquiera de los 2 servidores les mostrara la informacion, lo que significa que funciona.&lt;br /&gt;&lt;br /&gt;BDC, ahora seguimos con el BDC, aqui es donde entra Samba. La configuracion es parecida a el PDC, solo unas cosillas cambian, aqui les muestro el smb.conf del BDC.&lt;br /&gt;&lt;br /&gt;#Global parameters&lt;br /&gt;[global]&lt;br /&gt;workgroup = PINOLE&lt;br /&gt;server string = BDC Domain&lt;br /&gt;netbios name = BDC-SRV&lt;br /&gt;hosts allow = 172.16.5. 127.&lt;br /&gt;interfaces = eth0, lo&lt;br /&gt;bind interfaces only = Yes&lt;br /&gt;remote announce = 172.16.5.255&lt;br /&gt;hosts deny = 0.0.0.0&lt;br /&gt;smb ports = 139 445&lt;br /&gt;&lt;br /&gt;# passwd backend&lt;br /&gt;encrypt passwords = yes&lt;br /&gt;passdb backend = ldapsam:"ldap://172.16.5.152/ ldap://172.16.5.153/"&lt;br /&gt;enable privileges = yes&lt;br /&gt;&lt;br /&gt;# Log options&lt;br /&gt;log level = 1&lt;br /&gt;log file = /var/log/samba/%m.log&lt;br /&gt;max log size = 500&lt;br /&gt;syslog = 1&lt;br /&gt;&lt;br /&gt;# Name resolution&lt;br /&gt;name resolve order = wins hosts bcast lmhost&lt;br /&gt;&lt;br /&gt;# misc&lt;br /&gt;timeserver = No&lt;br /&gt;socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192&lt;br /&gt;use sendfile = yes&lt;br /&gt;&lt;br /&gt;# Dos-Attribute&lt;br /&gt;map hidden = No&lt;br /&gt;map system = No&lt;br /&gt;map archive = No&lt;br /&gt;map read only = No&lt;br /&gt;store dos attributes = Yes&lt;br /&gt;&lt;br /&gt;# printers - configured to use CUPS and automatically load them&lt;br /&gt;load printers = No&lt;br /&gt;printcap name =&lt;br /&gt;cups options =&lt;br /&gt;show add printer wizard = No&lt;br /&gt;&lt;br /&gt;# LDAP-Configuration&lt;br /&gt;ldap ssl = off&lt;br /&gt;ldap passwd sync = Yes&lt;br /&gt;ldap suffix = dc=pinole,dc=com&lt;br /&gt;ldap machine suffix = ou=Computers&lt;br /&gt;ldap user suffix = ou=Users&lt;br /&gt;ldap group suffix = ou=Groups&lt;br /&gt;ldap idmap suffix = ou=Idmap&lt;br /&gt;ldap admin dn = cn=Manager,dc=pinole,dc=com&lt;br /&gt;idmap backend = ldap:ldap://172.16.5.152 ldap://172.16.5.153&lt;br /&gt;idmap uid = 10000-20000&lt;br /&gt;idmap gid = 10000-20000&lt;br /&gt;&lt;br /&gt;# logon options&lt;br /&gt;logon script =&lt;br /&gt;logon path =&lt;br /&gt;logon path =&lt;br /&gt;logon home =&lt;br /&gt;logon drive =&lt;br /&gt;&lt;br /&gt;# setting up as domain controller&lt;br /&gt;username map = /etc/samba/usermap&lt;br /&gt;preferred master = Yes&lt;br /&gt;wins support = No&lt;br /&gt;wins server = 172.16.5.152&lt;br /&gt;domain logons = Yes&lt;br /&gt;domain master = No&lt;br /&gt;local master = Yes&lt;br /&gt;os level = 64&lt;br /&gt;map acl inherit = Yes&lt;br /&gt;unix charset = UTF8&lt;br /&gt;password level = 6&lt;br /&gt;map to guest = Bad User&lt;br /&gt;&lt;br /&gt;Vamos a crear el archivo /etc/samba/usermap y agregar los datos al igual que el PDC.&lt;br /&gt;&lt;br /&gt;touch /etc/samba/usermap&lt;br /&gt;root = Manager administrator admin&lt;br /&gt;nobody = guest pcguest smbguest&lt;br /&gt;&lt;br /&gt;Guardar el passwd del ldap master:&lt;br /&gt;&lt;br /&gt;[root@bdc-srv samba]# smbpasswd -W&lt;br /&gt;Setting stored password for "cn=Manager,dc=pinole,dc=com" in secrets.tdb&lt;br /&gt;New SMB password:&lt;br /&gt;Retype new SMB password:&lt;br /&gt;&lt;br /&gt;Guardar el SID del PDC.&lt;br /&gt;[root@bdc-srv samba]# net rpc getsid PINOLE&lt;br /&gt;Storing SID S-1-5-21-1790762827-1111111111-111111111 for Domain PINOLE in secrets.tdb&lt;br /&gt;&lt;br /&gt;Unir a el dominio:&lt;br /&gt;&lt;br /&gt;[root@bdc-srv samba]# net rpc join -U root&lt;br /&gt;Enter root's password:&lt;br /&gt;Joined domain PINOLE.&lt;br /&gt;&lt;br /&gt;o&lt;br /&gt;&lt;br /&gt;[root@bdc-srv samba]# net rpc join&lt;br /&gt;Enter root's password:&lt;br /&gt;Joined  domain PINOLE.&lt;br /&gt;&lt;br /&gt;Vean cual les funciona, la 1ra en otro dominio de prueba marco este error:&lt;br /&gt;&lt;br /&gt;net rpc join -U root&lt;br /&gt;Enter root's password:&lt;br /&gt;[2010/06/21 22:50:14,  0] libsmb/clientgen.c:cli_receive_smb(165)&lt;br /&gt;Receiving SMB: Server stopped responding&lt;br /&gt;Could not connect to server SMBPDC&lt;br /&gt;Connection failed: NT_STATUS_IO_TIMEOUT&lt;br /&gt;&lt;br /&gt;Usando la 2da version funciono.&lt;br /&gt;&lt;br /&gt;Verificamos en el PDC si la cuenta fue creada:&lt;br /&gt;[root@pdc-srv pinole]# smbldap-groupmod -m test7 inv&lt;br /&gt;adding user test7 to group inv&lt;br /&gt;[root@pdc-srv pinole]# pdbedit -Lv bdc-srv$&lt;br /&gt;Unix username:        bdc-srv$&lt;br /&gt;NT username:          bdc-srv$&lt;br /&gt;Account Flags:        [S          ]&lt;br /&gt;User SID:             S-1-5-21-1790762827-2518552153-1965868529-1003&lt;br /&gt;Primary Group SID:    S-1-5-21-1790762827-2518552153-1965868529-515&lt;br /&gt;Full Name:            Computer&lt;br /&gt;Home Directory:&lt;br /&gt;HomeDir Drive:&lt;br /&gt;Logon Script:&lt;br /&gt;Profile Path:&lt;br /&gt;Domain:               PINOLE&lt;br /&gt;Account desc:         Computer&lt;br /&gt;Workstations:&lt;br /&gt;Munged dial:&lt;br /&gt;Logon time:           0&lt;br /&gt;Logoff time:          never&lt;br /&gt;Kickoff time:         never&lt;br /&gt;Password last set:    Mon, 21 Jun 2010 06:17:10 PDT&lt;br /&gt;Password can change:  Mon, 21 Jun 2010 06:17:10 PDT&lt;br /&gt;Password must change: never&lt;br /&gt;Last bad password   : 0&lt;br /&gt;Bad password count  : 0&lt;br /&gt;Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF&lt;br /&gt;&lt;br /&gt;Ya solo hechamos a volar el samba y a probar.&lt;br /&gt;&lt;br /&gt;smbclient -L \\bdc-srv -U root&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-4324556199546258854?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/4324556199546258854/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=4324556199546258854' title='7 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/4324556199546258854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/4324556199546258854'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/06/centos-5x-samba-33xldap-windows-7.html' title='Centos 5x: Samba 3.3.x+LDAP Windows 7'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Xy40aNvXdHc/TBlzrm4bblI/AAAAAAAAAEs/n5kEnV3tcok/s72-c/ldap1.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-1368867410607304919</id><published>2010-05-29T08:28:00.000-07:00</published><updated>2010-05-29T10:11:51.551-07:00</updated><title type='text'>Centos 5x: Instalar Samba 3.4</title><content type='html'>Tomamos la version que gusten de la rama 3.4 de aqui.&lt;br /&gt;&lt;br /&gt;http://ftp.sernet.com/pub/samba/old/centos/5/i386/3.4.7-42/&lt;br /&gt;&lt;br /&gt;Lo bajan a su centos 5, ahi tienen para i386 y x64 bits.&lt;br /&gt;&lt;br /&gt;wget http://rutadelrpm&lt;br /&gt;&lt;br /&gt;Aqui necesitamos instalar asi los paquetes:&lt;br /&gt;&lt;br /&gt;rpm -i nombredelpaquete&lt;br /&gt;&lt;br /&gt;Este es el orden de instalacion:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ftp.sernet.com/pub/samba/old/centos/5/i386/3.4.7-42/samba3-3.4.7-42.el5.i386.rpm"&gt;&lt;/a&gt;1; libwbclient0-3.4.7-42.el5.i386.rpm&lt;br /&gt;2; samba3-client-3.4.7-42.el5.i386.rpm&lt;br /&gt;3; samba3-3.4.7-42.el5.i386.rpm&lt;br /&gt;4; samba3-winbind-3.4.7-42.el5.i386.rpm&lt;br /&gt;5; smbldap-tools *&lt;br /&gt;6; samba3-doc-3.4.7-42.el5.i386.rpm&lt;br /&gt;&lt;br /&gt;*Si desean instalar samba-docs deben instalar smbldap-tools, por que este paquete instala librerias perl que samba-doc requiere.&lt;br /&gt;&lt;br /&gt;Listo!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-1368867410607304919?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/1368867410607304919/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=1368867410607304919' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/1368867410607304919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/1368867410607304919'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/05/centos-5x-instalar-samba-34.html' title='Centos 5x: Instalar Samba 3.4'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-1376840397936618620</id><published>2010-05-22T18:13:00.000-07:00</published><updated>2010-05-22T18:21:37.805-07:00</updated><title type='text'>FreeBSD 7/8: Apache 2x Update con LDAP</title><content type='html'>Bueno ya tenemos que actualizar apache22. Pero sale esto en el UPDATING&lt;br /&gt;&lt;br /&gt;  AFFECTS: users of devel/apr0, devel/apr1, www/apache20, www/apache22&lt;br /&gt;  AUTHOR: pgollucci@FreeBSD.org&lt;br /&gt;&lt;br /&gt;  devel/apr has been renamed to devel/apr1&lt;br /&gt;&lt;br /&gt;  WITH_APR_FROM_PORTS=yes for www/apache22 has been dissolved and&lt;br /&gt;  may be removed from your configs. devel/apr1 is always used now.&lt;br /&gt;&lt;br /&gt;  Please manually delete apache-2.\* if installed _before_ updating using either&lt;br /&gt;  portmaster or portupgrade.&lt;br /&gt;&lt;br /&gt;    # pkg_delete -f apache-2.\*&lt;br /&gt;&lt;br /&gt;  If you use portmaster:&lt;br /&gt;&lt;br /&gt;    portmaster -o devel/apr1 devel/apr&lt;br /&gt;&lt;br /&gt;  If you use portupgrade:&lt;br /&gt;&lt;br /&gt;    portupgrade -f -o devel/apr1 devel/apr&lt;br /&gt;&lt;br /&gt;  Finally re-install apache if you deleted it earlier and update ports as usual.&lt;br /&gt;  (where XX is either 20 or 22)&lt;br /&gt;&lt;br /&gt;    portinstall www/apacheXX&lt;br /&gt;  Pero no dice nada hacerca de LDAP?&lt;br /&gt;&lt;br /&gt;  Cuando seguimos los pasos, y llegamos a la parte donde reinstalamos apache como sugieren en el UPDATING, no mencionan que apache va a tronar con un error que dice que uno de sus modulos debe ser compilado con soporte para LDAP, que resulta ser devel/apr1.&lt;br /&gt;&lt;br /&gt;  Por lo tanto debemos regresarnos y reinstalar devel/apr1 y agregar esta opcion.&lt;br /&gt;&lt;br /&gt;[X] LDAP       Enable LDAP support in apr-util&lt;br /&gt;&lt;br /&gt;  Una vez hecho esto, ahora si nos regresamos a www/apache22 y lo resinstalamos, ya no va a tronar, se ve instalar sin problemas, nomas recordar que antes de hacer esto respaldar el directorio actual de apache /usr/local/etc/apache22/ por que al momento de instarlo de nuevo va a sobre-escribir  nuestra configuracion, asi cuando termine la instalacion solo regresamos los archivos de nosotros a su ubicacion original y ya solo reiniciamos apache y listo.&lt;br /&gt;&lt;br /&gt; Animo!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-1376840397936618620?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/1376840397936618620/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=1376840397936618620' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/1376840397936618620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/1376840397936618620'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/05/freebsd-78-apache-2x-update-con-ldap.html' title='FreeBSD 7/8: Apache 2x Update con LDAP'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-5862410577488220109</id><published>2010-04-30T15:41:00.001-07:00</published><updated>2011-05-18T01:03:46.613-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='º'/><title type='text'>FreeBSD 8.X: Spam Gateway</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-Qj7ISA7lVI4/TdNWeareR1I/AAAAAAAAAFU/RessDYg2mjw/s1600/clamav.JPG"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;Bueno, ya vieron como levantar un servidor de correo con Dovecot + Postfix. Ahora lo que sigue es proteger a nuestro servidor de spam, virus, etc.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-VQ0-jmFBKTE/TcjWW7v6oKI/AAAAAAAAAFM/YR83AwAskAQ/s1600/postfix-envelope.JPG"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;Aqui vamos hacer algo sencillo, lo que le llaman un spam gateway, que su funcion principal es protegernos de los spammers y correos con bichos.&lt;br /&gt;&lt;br /&gt;Internet-&amp;gt;Postfix-&amp;gt;amavisd-&amp;gt;clamd-&amp;gt;spamassassin-&amp;gt;pasa  || no pasa&lt;br /&gt;&lt;br /&gt;La operacion con mas detalles es que todos los correos de entrada seran recibidos por este servidor, es el que se va a llevar la friega, por que tiene que estar desempaquetando, empaquetando, consultando el DNS y mas cuando hay archivos anexos.&lt;br /&gt;&lt;br /&gt;La 1ra operacion o filtro lo hara Postfix, ya que el mismo tiene funciones o filtros que les aplica a cada correo, y es un proceso que se lleva a cabo entre smtp vs smtp, y aqui mucho correo de entrada queda descartado.&lt;br /&gt;&lt;br /&gt;Enseguida vamos a ir por una aplicacion que hace algo tan sencillo y tambien bloquea otro monton de spam su nombre es postfix-policyd-weight, existen varias aplicaciones con la misma funcion, pero ya cada quien decide cual usar.&lt;br /&gt;&lt;br /&gt;Luego sigue el checado de antivirus con clamavis, seguido de spamassassin ambas operaciones son administradas por amavisd, ya de regreso entran las listas BL y con esto vamos a tener un filtro casi al 100%, ya solo es cuestion de mantener a el dia el servidor y sobre todo spamassassin.&lt;br /&gt;&lt;br /&gt;Bien, las aplicaciones que vamos a trabajar son las siguientes:&lt;br /&gt;&lt;br /&gt;postfix&lt;br /&gt;postfix-policyd-weight&lt;br /&gt;spamassassin&lt;br /&gt;clamavis&lt;br /&gt;amavisd-new&lt;br /&gt;&lt;br /&gt;Mas o menos asi vamos trabar conforme la lista.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;Postfix &lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: normal;"&gt;Vamos viendo la version que estamos trabajando y sobre todo FreeBSD:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;OS: 8.2 I386.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Postfix: postfix-2.8.2,1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;Otro detalle que me gustaria aclarar es que ambos servidores corren bajo Jails de FreeBSD, osea que estan virtualizados y ninguno posee la loopback interface y tienen un arreglo de disco Raid-1 con Satas.&lt;br /&gt;&lt;br /&gt;La configuracion de mi src.conf es la siguiente tanto para el spam como el mail:&lt;br /&gt;&lt;br /&gt;WITHOUT_ACCT="yes"&lt;br /&gt;WITHOUT_ACPI="yes"&lt;br /&gt;WITHOUT_AMD="yes"&lt;br /&gt;WITHOUT_APM="yes"&lt;br /&gt;WITHOUT_ASSERT_DEBUG="yes"&lt;br /&gt;WITHOUT_ATM="yes"&lt;br /&gt;WITHOUT_AUDIT="yes"&lt;br /&gt;WITHOUT_AUTHPF="yes"&lt;br /&gt;WITHOUT_BIND="YES"&lt;br /&gt;WITHOUT_BLUETOOTH="yes"&lt;br /&gt;WITHOUT_BOOT="yes"&lt;br /&gt;WITHOUT_CALENDAR="yes"&lt;br /&gt;WITHOUT_CDDL="yes"&lt;br /&gt;WITHOUT_CTM="yes"&lt;br /&gt;WITHOUT_CVS="yes"&lt;br /&gt;WITHOUT_DICT="yes"&lt;br /&gt;WITHOUT_EXAMPLES="yes"&lt;br /&gt;WITHOUT_FLOPPY="YES"&lt;br /&gt;WITHOUT_FORTH="yes"&lt;br /&gt;WITHOUT_FREEBSD_UPDATE="yes"&lt;br /&gt;WITHOUT_GAMES="yes"&lt;br /&gt;WITHOUT_GDB="YES"&lt;br /&gt;WITHOUT_GPIB="yes"&lt;br /&gt;WITHOUT_HTML="yes"&lt;br /&gt;WITHOUT_INET6="yes"&lt;br /&gt;WITHOUT_IPFILTER="yes"&lt;br /&gt;WITHOUT_IPFW="yes"&lt;br /&gt;WITHOUT_IPX="yes"&lt;br /&gt;WITHOUT_JAIL="yes"&lt;br /&gt;WITHOUT_KVM="yes"&lt;br /&gt;WITHOUT_LOCALES="yes"&lt;br /&gt;WITHOUT_LOCATE="yes"&lt;br /&gt;WITHOUT_LPR="yes"&lt;br /&gt;WITHOUT_NCP="yes"&lt;br /&gt;WITHOUT_NDIS="yes"&lt;br /&gt;WITHOUT_NETGRAPH="yes"&lt;br /&gt;WITHOUT_NLS="yes"&lt;br /&gt;WITHOUT_NLS_CATALOGS="yes"&lt;br /&gt;WITHOUT_NS_CACHING="yes"&lt;br /&gt;WITHOUT_PF="yes"&lt;br /&gt;WITHOUT_PMC="yes"&lt;br /&gt;WITHOUT_PPP="yes"&lt;br /&gt;WITHOUT_PROFILE="yes"&lt;br /&gt;WITHOUT_QUOTAS="yes"&lt;br /&gt;WITHOUT_RCMDS="yes"&lt;br /&gt;WITHOUT_RCS="yes"&lt;br /&gt;WITHOUT_RESCUE="yes"&lt;br /&gt;WITHOUT_ROUTED="yes"&lt;br /&gt;WITHOUT_SHAREDOCS="yes"&lt;br /&gt;WITHOUT_SSP="yes"&lt;br /&gt;WITHOUT_SYSINSTALL="yes"&lt;br /&gt;WITHOUT_USB="yes"&lt;br /&gt;WITHOUT_WIRELESS="yes"&lt;br /&gt;WITHOUT_WPA_SUPPLICANT_EAPOL="yes"&lt;br /&gt;&lt;br /&gt;Cuando se instala Postfix nos pregunta si deseamos colocar la configuración en /etc, yo no lo acepto en este servidor, si fuera el "mail server" si. Por lo tanto la instalacion se va a:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;/usr/local/etc/postfix&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;Ahora algo que debemos saber es que configuracion nos da Postfix por default? Se supone que casi casi nos da una segura y no un "open-relay" que luego lo vamos a explicar.&lt;br /&gt;&lt;br /&gt;Asi esta el archivo &lt;span style="font-weight: bold;"&gt;main.cf&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;postconf -n&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;command_directory = /usr/local/sbin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;config_directory = /usr/local/etc/postfix&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;daemon_directory = /usr/local/libexec/postfix&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;data_directory = /var/db/postfix&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;debug_peer_level = 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;html_directory =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;mail_owner = postfix&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;mailq_path =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;manpage_directory =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;newaliases_path =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;queue_directory = /var/spool/postfix&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;readme_directory =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sample_directory =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sendmail_path =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;setgid_group =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;unknown_local_recipient_reject_code = 550&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ahora si desean ver toda la configuracion completa:&lt;br /&gt;&lt;br /&gt;postconf&lt;br /&gt;&lt;br /&gt;Pero aqui no lo puedo poner porque esta extensa la salida, ustedes en su maquina pueden hacerlo.&lt;br /&gt;&lt;br /&gt;Como tenemos 2 servidores:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;mail-server  192.168.40.2 Correo Saliente&lt;br /&gt;&lt;/li&gt;&lt;li&gt;spam-server 192.168.40.3 Correo Entrante&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Vamos a usar el dominio: example punto com para seguir la tradicion.&lt;br /&gt;&lt;br /&gt;Mi DNS apunta a mi spam-server, ya di de alta el registro PTR de mi IP publico a el nombre de mi spam-server, ya que el es quien recibe todo el correo entrante y envia el correo si pasa todos los filtros a el mail-server, si no tiene el PTR muchos servidores de correo no envian ni reciben correo de servidores que no cumplen esta norma.&lt;br /&gt;&lt;br /&gt;---------------------------------------------------------------------------------&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic; color: rgb(0, 0, 102);"&gt;NOTA:Aqui ya tengo mi servidor de correo operando sin problemas, solo voy a configurar el spam server.&lt;/span&gt;&lt;br /&gt;---------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Vamos a empezar con la 1ra configuracion, habran el archivo main.cf de postfix su corazon:&lt;br /&gt;&lt;br /&gt;1; Nombre del hostname:&lt;br /&gt;&lt;br /&gt;myhostname = spam.example.com&lt;br /&gt;&lt;br /&gt;2; Dominio que voy a proporcionar el servicio.&lt;br /&gt;&lt;br /&gt;mydomain = example.com&lt;br /&gt;&lt;br /&gt;3;Mi origen.&lt;br /&gt;&lt;br /&gt;myorigin = $mydomain&lt;br /&gt;&lt;br /&gt;5; Las interfaces que el servidor va a usar para recibir la comunicacion: Por lo regular es en todas las que tengamos.&lt;br /&gt;&lt;br /&gt;inet_interfaces = all&lt;br /&gt;&lt;br /&gt;6; Destinos:&lt;br /&gt;&lt;br /&gt;mydestination =&lt;br /&gt;&lt;br /&gt;¿Por que en blanco?, como queremos tanta seguridad como sea posible, vamos a deshabilitar el envio local, por ello no damos de alta nuestro dominio aqui, pero vamos a ver mas adelante como habilitar el envio local para recibir mensajes del root del spam-server.&lt;br /&gt;&lt;br /&gt;Para habilitar el envio local del root y cuentas de administradores como:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;postmaster&lt;/li&gt;&lt;li&gt;abuse&lt;/li&gt;&lt;/ul&gt;Deshabilitamos el parametro dejandolo en blanco:&lt;br /&gt;&lt;br /&gt;local_recipient_maps =&lt;br /&gt;&lt;br /&gt;Ahora si deseo que ciertos usuarios locales puedan recibir correos como los anteriores, vamos hacer uso del parametro este:&lt;br /&gt;&lt;br /&gt;virtual_alias_maps = hash:/usr/local/etc/postfix/virtual_alias_maps&lt;br /&gt;&lt;br /&gt;Como parametro le damos el archivo en formato binario que se lo indicamos usando la palabra "hash", ahora vamos a crear ese archivo y le agregamos la informacion asi:&lt;br /&gt;&lt;br /&gt;postmaster  postmaster@example.com&lt;br /&gt;abuse abuse@example.com&lt;br /&gt;&lt;br /&gt;Salvamos el archivo en la ruta indicada arriba y crea el formato que nos pide postfix con el comando postmap, asi:&lt;br /&gt;&lt;br /&gt;postmap hash:/usr/local/etc/postfix/virtual_alias_maps&lt;br /&gt;&lt;br /&gt;Si revisan su directorio van a ver los 2 archivos:&lt;br /&gt;&lt;br /&gt;-rw-r--r--  1 root  wheel    141 Apr 14 12:24 virtual_alias_maps&lt;br /&gt;-rw-r--r--  1 root  wheel  65536 Apr 14 12:24 virtual_alias_maps.db&lt;br /&gt;&lt;br /&gt;El que tiene extension "db" es el creado con el comand anterior y es el que usa postfix, todos estos archivos son creados usando BDB para esta funcion son excelentes y es mas veloces su acceso que si hicieramos uso de una DB como mysql, por ello se opto por este formato.&lt;br /&gt;&lt;br /&gt;Cuando alguien fuera del dominio busque enviar correos a cuentas locales podemos personalizar el mensaje con el parametro:&lt;br /&gt;&lt;br /&gt;local_transport&lt;br /&gt;&lt;br /&gt;Por default tiene un texto asi:&lt;br /&gt;&lt;br /&gt;local_transport = error:local mail delivery not available&lt;br /&gt;&lt;br /&gt;Pero pueden poner el texto que gusten como:&lt;br /&gt;&lt;br /&gt;local_transport = error:No molestar envio local esta deshabilitado&lt;br /&gt;&lt;br /&gt;Con esto el servidor podra enviar correos a las cuentas arriba dadas de alta de lo contrario ni eso podria ser posible.&lt;br /&gt;&lt;br /&gt;Ya para rematar debemos eliminar el envio demonio que se encarga de los envios locales, abran el archivo de nombre master.cf y deshabiliten la linea&lt;br /&gt;&lt;br /&gt;#local     unix  -       n       n       -       -       local&lt;br /&gt;&lt;br /&gt;Poniendo un "#" para convertirla a comentario.&lt;br /&gt;&lt;br /&gt;7; Datos de nuestra red.&lt;br /&gt;&lt;br /&gt;mynetworks = 192.168.40.2/32&lt;br /&gt;&lt;br /&gt;Aqui colocamos el IP de nuestro mail-server interno, solo a el vamos a servir, ya que si colocamos nuestro rango de red, ejemplo 192.168.40.0/24 cualquier usuario interno podra usar este servidor como relay y hacer maldades, con este dato descartamos esta posibilidad.&lt;br /&gt;&lt;br /&gt;8; Domino que podemos habilitar el relay.&lt;br /&gt;&lt;br /&gt;relay_domains = example.com&lt;br /&gt;&lt;br /&gt;9; Usuarios validos que pueden recibir correo externo.&lt;br /&gt;&lt;br /&gt;relay_recipient_maps = hash:/usr/local/etc/postfix/relay_recipients&lt;br /&gt;&lt;br /&gt;Este parametro es una pieza clave que deberan mantener al dia, ya que aqui le indicamos que usuarios del dominio pueden recibir correo, antes de que el spam-server envie el correo a el mail-server revisa este parametro y si la cuenta o "recipient" no esta aqui, rechaza el correo, aqui vamos a eliminar mucho spam, ya que los spammers tienen programas que generan cuentas de usuario aleatoriamente, ya con eso les paramos su kalabaza.&lt;br /&gt;&lt;br /&gt;Por lo tanto, como ven de nuevo necesitamos crear ese archivo con los usuarios validos, en mi caso tengo solo 3 y el archivo tiene este formato:&lt;br /&gt;&lt;br /&gt;usuario1@example.com   OK&lt;br /&gt;usuario2@example.com   OK&lt;br /&gt;usuario3@example.com   OK&lt;br /&gt;&lt;br /&gt;Creamos el archivo en formato BDB:&lt;br /&gt;&lt;br /&gt;postmap hash:/usr/local/etc/postfix/relay_recipients&lt;br /&gt;&lt;br /&gt;10; Alias&lt;br /&gt;&lt;br /&gt;alias_maps = hash:/usr/local/etc/postfix/aliases&lt;br /&gt;&lt;br /&gt;De nuevo necesitan crear el archivo con postmap, ya no se los voy a repetir, el archivo esta en blanco aun no hemos hecho uso de el.&lt;br /&gt;&lt;br /&gt;11; Alias Databases&lt;br /&gt;&lt;br /&gt;alias_database = hash:/usr/local/etc/postfix/aliases&lt;br /&gt;&lt;br /&gt;Igual en blanco ya que no hemos hecho uso de el, pero si deben crear el archivo en formato BDB.&lt;br /&gt;&lt;br /&gt;12; Banner&lt;br /&gt;&lt;br /&gt;smtpd_banner = $myhostname ESMTP $mail_name&lt;br /&gt;&lt;br /&gt;Cuando nuestro servidor de correo necesite comunicarse con otro smtp, el RFC pide que nos presentemos usando el HELO y nuestro nombre, este parametro hace eso.&lt;br /&gt;&lt;br /&gt;13; Rutas.&lt;br /&gt;&lt;br /&gt;sendmail_path = /usr/local/sbin/sendmail&lt;br /&gt;newaliases_path = /usr/bin/newaliases&lt;br /&gt;mailq_path = /usr/local/bin/mailq&lt;br /&gt;setgid_group = maildrop&lt;br /&gt;manpage_directory = /usr/local/man&lt;br /&gt;sample_directory = /usr/local/etc/postfix&lt;br /&gt;readme_directory = /usr/local/share/doc/postfix&lt;br /&gt;&lt;br /&gt;14; Habiltando el envio de correo a el mail-server.&lt;br /&gt;&lt;br /&gt;transport_maps = hash:/usr/local/etc/postfix/transport&lt;br /&gt;&lt;br /&gt;Como pueden observar, necesitamos crear ese archivo con los datos de nuestro mail-server, como sigue:&lt;br /&gt;&lt;br /&gt;example.com        smtp:[mail.example.com]&lt;br /&gt;&lt;br /&gt;Creamos el BDB.&lt;br /&gt;&lt;br /&gt;Este ultimo paso es donde le indicamos a nuestro spam-server que envie todos los correos aceptados a este hostname, si no tienen un DNS operable pueden poner el IP si gustan, en mi caso mi DNS esta funcionando sin problemas.&lt;br /&gt;&lt;br /&gt;15; Revisamos el sintaxis de postfix.&lt;br /&gt;&lt;br /&gt;postix check&lt;br /&gt;&lt;br /&gt;Si no hay problema, ya pueden iniciar su servicio y primero que nada buscar sitios publicos donde probar si nuestro servidor no es un "open-relay" que significa que nadie de fuera puede usarlo para enviar correos.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.abuse.net/relay.html"&gt;http://www.abuse.net/relay.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Le dan su IP o nombre del spam-server tal cual lo tiene dado de alta en su DNS y esperen los resultados, van a ver muchas pruebas que le hacen y a el final obtendran un mensaje como este:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Relay test result&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;All tests performed, no relays accepted.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pero hagan mas pruebas, existen varios sitios publicos que nos proporcionan este servicio publico.&lt;br /&gt;&lt;br /&gt;Tambien revisen su log para que vean lo que postfix logea cuando quieren penetrarlo para openrelay:&lt;br /&gt;&lt;br /&gt;May  6 00:09:29 spam postfix/smtpd[3333]: NOQUEUE: reject: RCPT from verify.abuse.net[64.57.183.77]: 554 5.7.1 &lt;securitytest@abuse.net&gt;: Relay access denied; from=&lt;spamtest@example.com&gt; to=&lt;securitytest@abuse.net&gt; proto=SMTP helo=&lt;www.abuse.net&gt;&lt;br /&gt;May  6 00:09:32 spam postfix/smtpd[3333]: NOQUEUE: reject: RCPT from verify.abuse.net[64.57.183.77]: 554 5.7.1 &lt;abuse.net!securitytest&gt;: Relay access denied; from=&lt;spamtest@example.com&gt; to=&lt;abuse.net!securitytest&gt; proto=SMTP helo=&lt;www.abuse.net&gt;&lt;br /&gt;May  6 00:09:35 spam postfix/smtpd[3333]: NOQUEUE: reject: RCPT from verify.abuse.net[64.57.183.77]: 554 5.7.1 &lt;abuse.net!securitytest@example.com&gt;: Relay access denied; from=&lt;spamtest@example.com&gt; to=&lt;abuse.net!securitytest@example.com&gt; proto=SMTP helo=&lt;www.abuse.net&gt;&lt;br /&gt;May  6 00:09:38 spam postfix/smtpd[3333]: NOQUEUE: reject: RCPT from verify.abuse.net[64.57.183.77]: 554 5.7.1 &lt;abuse.net!securitytest@[ip-publico]&gt;: Relay access denied; from=&lt;spamtest@example.com&gt; to=&lt;abuse.net!securitytest@[ip-publico]&gt; proto=SMTP helo=&lt;www.abuse.net&gt;&lt;br /&gt;&lt;br /&gt;Esto es solo una parte de los logs, familiaricense con ellos, son importantisimos.&lt;br /&gt;&lt;br /&gt;Vamos observando como nos queda la configuracion despues de estos primeros cambios:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;postconf -n&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;alias_database = hash:/usr/local/etc/postfix/aliases&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;alias_maps = hash:/usr/local/etc/postfix/aliases&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;command_directory = /usr/local/sbin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;config_directory = /usr/local/etc/postfix&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;daemon_directory = /usr/local/libexec/postfix&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;data_directory = /var/db/postfix&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;debug_peer_level = 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;html_directory = /usr/local/share/doc/postfix&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;inet_interfaces = all&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;local_recipient_maps =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;mail_owner = postfix&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;mailq_path = /usr/local/bin/mailq&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;manpage_directory = /usr/local/man&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;mydestination =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;mydomain = example.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;myhostname = spam.example.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;mynetworks = 192.168.40.2/32&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;myorigin = $mydomain&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;newaliases_path = /usr/bin/newaliases&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;queue_directory = /var/spool/postfix&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;readme_directory = /usr/local/share/doc/postfix&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;relay_domains = example.com&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;relay_recipient_maps = hash:/usr/local/etc/postfix/relay_recipients&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sample_directory = /usr/local/etc/postfix&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;sendmail_path = /usr/local/sbin/sendmail&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;setgid_group = maildrop&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;smtpd_banner = $myhostname ESMTP $mail_name&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;transport_maps = hash:/usr/local/etc/postfix/transport&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;unknown_local_recipient_reject_code = 550&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pueden compararla con la primera que mostramos y notaran la diferencia.&lt;br /&gt;&lt;br /&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest@[ip-publico]&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest@[ip-publico]&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest@example.com&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest@example.com&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest&gt;&lt;/www.abuse.net&gt;&lt;/securitytest@abuse.net&gt;&lt;/spamtest@example.com&gt;&lt;/securitytest@abuse.net&gt;&lt;div style="text-align: center;"&gt;&lt;securitytest@abuse.net style="font-weight: bold;"&gt;&lt;spamtest@example.com&gt;&lt;securitytest@abuse.net&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest@example.com&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest@example.com&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest@[ip-publico]&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest@[ip-publico]&gt;&lt;www.abuse.net&gt;Restricciones&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest@[ip-publico]&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest@[ip-publico]&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest@example.com&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest@example.com&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest&gt;&lt;/www.abuse.net&gt;&lt;/securitytest@abuse.net&gt;&lt;/spamtest@example.com&gt;&lt;/securitytest@abuse.net&gt;&lt;br /&gt;&lt;securitytest@abuse.net&gt;&lt;spamtest@example.com&gt;&lt;securitytest@abuse.net&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest@example.com&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest@example.com&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest@[ip-publico]&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest@[ip-publico]&gt;&lt;www.abuse.net&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest@[ip-publico]&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest@[ip-publico]&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest@example.com&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest@example.com&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest&gt;&lt;/www.abuse.net&gt;&lt;/securitytest@abuse.net&gt;&lt;/spamtest@example.com&gt;&lt;/securitytest@abuse.net&gt;&lt;/div&gt;&lt;securitytest@abuse.net&gt;&lt;spamtest@example.com&gt;&lt;securitytest@abuse.net&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest@example.com&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest@example.com&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest@[ip-publico]&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest@[ip-publico]&gt;&lt;www.abuse.net&gt;&lt;span style="font-weight: bold;"&gt;1; Helo.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Podemos por regla solicitar a el otro smtp que siempre que trate de entablar comunicacion con nosotros, se presente haciendo uso de su nombre, para ello usamos el parametro:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;smtpd_helo_required = yes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Con esto le pedimos que nos mande su hostname, asi dicen los RFC.&lt;br /&gt;&lt;br /&gt;Por default postfix no lo pide, pero nosotros si, muchos spammers no les gusta esto y mucho menos obedecer reglas, si asi nos gusta a nosotros ni modo asi va a hacer.&lt;br /&gt;&lt;br /&gt;Ahora vean lo que pasa cuando otro smtpd se conecta y es irrespetuoso, vamos a usar un equipo externo para hacer las pruebas, para ver la info en los logs de postfix que en mi caso estan en:&lt;br /&gt;&lt;br /&gt;/var/log/maillog&lt;br /&gt;&lt;br /&gt;Necesito prender el log de postfix abriendo el archivo de nombre:&lt;br /&gt;&lt;br /&gt;master.cf&lt;br /&gt;&lt;br /&gt;Y busca la siguiente linea y le agrego el parametro -v, asi quedaria:&lt;br /&gt;&lt;br /&gt;smtp      inet  n       -       n       -       -       smtpd -v&lt;br /&gt;&lt;br /&gt;En este caso es la 1ra.&lt;br /&gt;&lt;br /&gt;Aqui si reinicio el servicio.&lt;br /&gt;&lt;br /&gt;Ahora, me conecto del otro cliente e intento mandar un correo sin mandar el HELO:&lt;br /&gt;&lt;br /&gt;telnet example.com 25&lt;br /&gt;Trying XXX.YYY.ZZZ.WWW...&lt;br /&gt;Connected to example.com (IP-Publica).&lt;br /&gt;Escape character is '^]'.&lt;br /&gt;220 spam.example.com ESMTP Postfix&lt;br /&gt;mail from:&lt;test@example2.com&gt;&lt;br /&gt;503 5.5.1 Error: send HELO/EHLO first&lt;br /&gt;&lt;br /&gt;Esto aparece de lado del otros smtp, ahora vemos los logs de postfix, si va a logear mucho pero aqui estamos aprediendo y no hay como saber  leer los logs de cada uno de nuestros servidores de los contrario no somos buenos administradores:&lt;br /&gt;&lt;br /&gt;May  9 22:50:53 spam postfix/smtpd[68766]: &amp;gt; mail.example2.com[IP-Publica]: 220 spam.example.com ESMTP Postfix&lt;br /&gt;May  9 22:51:16 spam postfix/smtpd[68766]: &amp;lt; mail.example2.com[IP-Publica]: mail from:&lt;test@example2.com&gt;&lt;br /&gt;May  9 22:51:16 spam postfix/smtpd[68766]: &amp;gt; mail.example2.com[IP-Publica]: 503 5.5.1 Error: send HELO/EHLO first&lt;br /&gt;&lt;br /&gt;Ahi esta nuestra primer restriccion trabajando, asi que funciona.&lt;br /&gt;&lt;br /&gt;Panorama de la comunicacion de un correo y lugar donde aplica cada tipo de restriccion, ver siguiente figura:&lt;br /&gt;&lt;br /&gt;&lt;/test@example2.com&gt;&lt;/test@example2.com&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest@[ip-publico]&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest@[ip-publico]&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest@example.com&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest@example.com&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest&gt;&lt;/www.abuse.net&gt;&lt;/securitytest@abuse.net&gt;&lt;/spamtest@example.com&gt;&lt;/securitytest@abuse.net&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-VQ0-jmFBKTE/TcjWW7v6oKI/AAAAAAAAAFM/YR83AwAskAQ/s1600/postfix-envelope.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 155px;" src="http://4.bp.blogspot.com/-VQ0-jmFBKTE/TcjWW7v6oKI/AAAAAAAAAFM/YR83AwAskAQ/s320/postfix-envelope.JPG" alt="" id="BLOGGER_PHOTO_ID_5604965425746714786" border="0" /&gt;&lt;/a&gt;Figura 1. Ubicacion de restricciones de un correo en postfix.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;En base a la figura 1, vamos a seguir este tutorial.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;warn_if_reject&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Este parametro se creo con el fin de debugear las restricciones, se ponen 1ro que la restriccion y solo nos logea un mensaje como este:&lt;br /&gt;&lt;br /&gt;connect from mail.example2.com[IP-publica]&lt;br /&gt;May  9 23:27:29 spam postfix/smtpd[69200]: NOQUEUE: reject_warning:&lt;br /&gt;RCPT from mail.example2.com[IP-publica]: 554 5.7.1 &lt;mail.example2.com[ip]&gt;&lt;br /&gt;: Client host rejected: Access denied; from=&lt;user@example2.com&gt;&lt;br /&gt;to=&lt;user@example.com&gt; proto=ESMTP helo=&lt;mail.example2.com&gt;&lt;br /&gt;&lt;br /&gt;Este pequeño parametro es de gran utilidad, ya que nos avisa si la regla funciona y si la pocision es adecuada y sobre todo que no rechaza el correo es simple informacion en los logs.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;warn_if_reject restriccion_deseada&lt;/span&gt;&lt;br /&gt;&lt;/mail.example2.com&gt;&lt;/user@example.com&gt;&lt;/user@example2.com&gt;&lt;/mail.example2.com[ip]&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2; Client Restrictions.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Restricciones del cliente, que opciones por default tiene postfix, vamos revisandola:&lt;br /&gt;&lt;br /&gt;postconf -d smtpd_client_restrictions&lt;br /&gt;smtpd_client_restrictions =&lt;br /&gt;&lt;br /&gt;Ninguna, entonces vamos empezando a ver que nos sirve, aunque aqui se manejan muchas, no todas vamos  usar ya que muchas no tiene aplicacion para mi aun.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;check_client_access&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;smtpd_client_restrictions=&lt;br /&gt;warn_if_reject check_client_access hash:/usr/local/etc/postfix/access_clients&lt;br /&gt;permit&lt;br /&gt;&lt;br /&gt;Creamos el archivo con un dominio que no deseo aceptar, ejemplo&lt;br /&gt;&lt;br /&gt;hotmail.com     REJECT&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;securitytest@abuse.net&gt;&lt;spamtest@example.com&gt;&lt;securitytest@abuse.net&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest@example.com&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest@example.com&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest@[ip-publico]&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest@[ip-publico]&gt;&lt;www.abuse.net&gt;&lt;test@example2.com&gt;&lt;test@example2.com&gt;&lt;br /&gt;Ya saben es hash, ya saben que tienen que hacer.&lt;br /&gt;&lt;br /&gt;reload a postfix, mandamos un correo desde una cuenta de hotmail y vemos log.&lt;br /&gt;&lt;br /&gt;connect from snt0-omc3-s32.snt0.hotmail.com[65.55.90.171]&lt;br /&gt;May  9 23:45:21 spam postfix/smtpd[69404]: NOQUEUE: reject:&lt;br /&gt;RCPT from snt0-omc3-s32.snt0.hotmail.com[65.55.90.171]:&lt;br /&gt;554 5.7.1 &lt;snt0-omc3-s32.snt0.hotmail.com[65.55.90.171]&gt;:&lt;br /&gt;Client host rejected: Access denied;&lt;br /&gt;from=&lt;usera-thotmail.com&gt; to=&lt;usera-texample.com&gt;&lt;br /&gt;proto=ESMTP helo=&lt;snt0-omc3-s32.snt0.hotmail.com&gt;&lt;br /&gt;May  9 23:45:21 spam postfix/smtpd[69404]: disconnect&lt;br /&gt;from snt0-omc3-s32.snt0.hotmail.com[65.55.90.171]&lt;br /&gt;&lt;br /&gt;Dentro de hotmail recibiran un correo con el subject:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Delivery Status Notification (Failure)‏&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Y con el body:&lt;br /&gt;&lt;br /&gt;This is an automatically generated Delivery Status Notification.&lt;br /&gt;Delivery to the following recipients failed.&lt;br /&gt;usera-texample.com&lt;br /&gt;&lt;br /&gt;Ahora si tiene una cuenta de correo que no sea hotmail, prueben:&lt;br /&gt;&lt;br /&gt;connect from mail.otrodominio.com[ippublica]&lt;br /&gt;May  9 23:53:27 spam postfix/smtpd[69410]: 1D55BC16786: client=mail.otrodominio.com[ippublica]&lt;br /&gt;May  9 23:53:27 spam postfix/cleanup[69413]: 1D55BC16786:&lt;br /&gt;message-id=&amp;lt;6101993aafcd9f28f8b610475feca52b.squirrela-twww.otrodominio.com&amp;gt;&lt;br /&gt;May  9 23:53:27 spam postfix/qmgr[69390]: 1D55BC16786:&lt;br /&gt;from=&lt;usera-totrodominio.com&gt;, size=946, nrcpt=1 (queue active)&lt;br /&gt;May  9 23:53:27 spam postfix/smtpd[69410]: disconnect&lt;br /&gt;from mail.otrodominio.com[ippublica]&lt;br /&gt;May  9 23:53:27 spam postfix/smtp[69414]: 1D55BC16786:&lt;br /&gt;to=&lt;usera-texample.com&gt;, &lt;span style="font-weight: bold;"&gt;relay=mail.example.com[192.168.40.4]:25&lt;/span&gt;,&lt;br /&gt;delay=0.09, delays=0.02/0.01/0.02/0.04, dsn=2.0.0, &lt;span style="font-weight: bold;"&gt;status=sent&lt;/span&gt; (250 2.0.0 Ok: queued as 2DA714E0015)&lt;br /&gt;May  9 23:53:27 spam postfix/qmgr[69390]: 1D55BC16786: removed&lt;br /&gt;&lt;br /&gt;Como podran ver rechazo un dominio que es basura desde el 1er filtro segun la figura 1, ahora porque si facebook esta prohibido en su empresa no bloquearlo para no aceptar ninguna invitacion por correo, ya vieron como hacerlo...&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;NOTA: De los logs voy a quitar "@" y lo voy a remplazar por la palabra a-t, muchos sabran por que.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ahora veo como queda mi 1er restriccion:&lt;br /&gt;&lt;br /&gt;postconf -h smtpd_client_restrictions&lt;br /&gt;check_client_access hash:/usr/local/etc/postfix/access_clients        &lt;span style="font-weight: bold;"&gt;permit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El parametro permit le indica a postfix que si el cliente pasa las reglas anteriores pueden seguir su camino con las demas restricciones si hay.&lt;br /&gt;&lt;br /&gt;3; smtpd_recipient_restrictions.&lt;br /&gt;&lt;br /&gt;Aqui es donde la mayor parte de las restricciones entran, ya que si revisan la figura 1 en cada nivel postfix tiene filtros, pero segun los expertos aqui es donde van la mayoria. Ahora que es lo hace postfix por default para que nuestro smtpd no sea un "&lt;span style="font-weight: bold;"&gt;open relay&lt;/span&gt;"?,&lt;br /&gt;&lt;br /&gt;Vamos primero revisando viendo los parametros por default que nos da esta restriccion:&lt;br /&gt;&lt;br /&gt;postconf -d smtpd_recipient_restrictions&lt;br /&gt;smtpd_recipient_restrictions =&lt;br /&gt;permit_mynetworks, reject_unauth_destination&lt;br /&gt;&lt;br /&gt;Como podran ver solo existen 2, postfix divide sus restricciones en 2 capas:&lt;br /&gt;&lt;br /&gt;nombre_de_restriccion =&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;----Restricciones que aplica tanto a clientes internos como externos.&lt;/span&gt;&lt;br /&gt;permit_mynetworks&lt;br /&gt;----&lt;/usera-texample.com&gt;&lt;/usera-totrodominio.com&gt;&lt;/snt0-omc3-s32.snt0.hotmail.com&gt;&lt;/usera-texample.com&gt;&lt;/usera-thotmail.com&gt;&lt;/snt0-omc3-s32.snt0.hotmail.com[65.55.90.171]&gt;&lt;/test@example2.com&gt;&lt;/test@example2.com&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest@[ip-publico]&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest@[ip-publico]&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest@example.com&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest@example.com&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest&gt;&lt;/www.abuse.net&gt;&lt;/securitytest@abuse.net&gt;&lt;/spamtest@example.com&gt;&lt;/securitytest@abuse.net&gt;&lt;span style="font-weight: bold;"&gt;Restricciones que aplica solo a clientes externos.&lt;/span&gt;&lt;br /&gt;&lt;securitytest@abuse.net&gt;&lt;spamtest@example.com&gt;&lt;securitytest@abuse.net&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest@example.com&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest@example.com&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest@[ip-publico]&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest@[ip-publico]&gt;&lt;www.abuse.net&gt;&lt;test@example2.com&gt;&lt;test@example2.com&gt;&lt;snt0-omc3-s32.snt0.hotmail.com[65.55.90.171]&gt;&lt;usera-thotmail.com&gt;&lt;usera-texample.com&gt;&lt;snt0-omc3-s32.snt0.hotmail.com&gt;&lt;usera-totrodominio.com&gt;&lt;usera-texample.com&gt;permit&lt;br /&gt;&lt;br /&gt;Por ello coloca esta restriccion:&lt;br /&gt;&lt;br /&gt;&lt;/usera-texample.com&gt;&lt;/usera-totrodominio.com&gt;&lt;/snt0-omc3-s32.snt0.hotmail.com&gt;&lt;/usera-texample.com&gt;&lt;/usera-thotmail.com&gt;&lt;/snt0-omc3-s32.snt0.hotmail.com[65.55.90.171]&gt;&lt;/test@example2.com&gt;&lt;/test@example2.com&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest@[ip-publico]&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest@[ip-publico]&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest@example.com&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest@example.com&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest&gt;&lt;/www.abuse.net&gt;&lt;/securitytest@abuse.net&gt;&lt;/spamtest@example.com&gt;&lt;/securitytest@abuse.net&gt;&lt;span style="font-weight: bold;"&gt;reject_unauth_destination&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Enseguida de:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;permit_mynetworks&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Estos dos parametros hacen que nuestro smtp no sea un openrelay y asi viene por default postfix.&lt;br /&gt;&lt;br /&gt;El parametro reject_unauth_destination se encarga de eso, verificando que tanto el RCPT TO: su dominio o destinatarios sean de nuestro dominio, de lo contrario son rechazados.&lt;br /&gt;&lt;br /&gt;Entonces vamos armando nuestro siguiente filtro y quedaria asi:&lt;br /&gt;&lt;br /&gt;smtpd_recipient_restrictions =&lt;br /&gt;permit_mynetworks&lt;br /&gt;reject_unauth_destination&lt;br /&gt;permit&lt;br /&gt;&lt;br /&gt;Pongan lo anterior en el archivo main.cf.&lt;br /&gt;&lt;br /&gt;4; Exigir que a otros smtp que sigan las reglas del RFC y cuando manden su nombre en el HELO/EHLO venga en forma FQDN.&lt;br /&gt;&lt;br /&gt;mail.example.com&lt;br /&gt;&lt;br /&gt;De lo contrario sera rechazado, nosotros ponemos las reglas, el parametro usado es:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;reject_non_fqdn_hostname&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Quedaria  asi:&lt;br /&gt;&lt;br /&gt;smtpd_recipient_restrictions =&lt;br /&gt;  permit_mynetworks&lt;br /&gt;  reject_unauth_destination&lt;br /&gt;  reject_non_fqdn_hostname&lt;br /&gt;  permit&lt;br /&gt;&lt;br /&gt;Reload y probamos.&lt;br /&gt;&lt;br /&gt;connect from mail.example2.com[pub-ip]&lt;br /&gt;May 12 22:03:33 spam postfix/smtpd[8895]: NOQUEUE: reject_warning:&lt;br /&gt;RCPT from mail.example2.com[pub-ip]:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;504 5.5.2 &lt;yo&gt;: Helo command rejected: need fully-qualified hostname; &lt;/yo&gt;&lt;/span&gt;&lt;br /&gt;from=&lt;yo@example2.com&gt; to=&lt;user@example.com&gt; proto=SMTP helo=&lt;yo&gt;&lt;br /&gt;May 12 22:03:33 spam postfix/smtpd[8895]: 4EC1BC16786:&lt;br /&gt;client=mail.example2.com[pub-ip]&lt;br /&gt;&lt;br /&gt;5; Ahora vamos a pedirles a otros smtp que usen nombres validos en el hostname usando este parametro:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;reject_invalid_hostname&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Es parecido a el #4 y util.&lt;br /&gt;&lt;br /&gt;Reload y probamos.&lt;br /&gt;&lt;br /&gt;6; Hasta aqui hemos atacado el smtp, pero ahora sigue el sender o el "&lt;span style="font-weight: bold;"&gt;from:&lt;/span&gt;", asi como le pedimos a los smtp externos que tengan nombres en forma FQDN, tambien se lo vamos a exigir a los remitentes usando este parametro:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;reject_non_fqdn_sender&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Y lo vamos a colocar arriba de &lt;span style="font-weight: bold;"&gt;permit_mynetworks&lt;/span&gt;, para  que sea a todos, tanto los externos como internos, por si por alguna razon postfix falle no me vaya a causar problemas por error de dedo o de aplicacion, mejor se lo aplico a todos.&lt;br /&gt;&lt;br /&gt;Quedaria asi:&lt;br /&gt;&lt;br /&gt;smtpd_recipient_restrictions =&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        reject_non_fqdn_sender&lt;/span&gt;&lt;br /&gt;  permit_mynetworks&lt;br /&gt;  reject_unauth_destination&lt;br /&gt;  reject_non_fqdn_hostname&lt;br /&gt;  reject_invalid_hostname&lt;br /&gt;  permit&lt;br /&gt;&lt;br /&gt;Reload y probamos.&lt;br /&gt;&lt;br /&gt;connect from mail.example2.com[ip-pub]&lt;br /&gt;May 12 22:31:50 spam postfix/smtpd[9269]: NOQUEUE:&lt;br /&gt;RCPT from mail.example2.com[ip-pub]: 504 5.5.2 &lt;yo&gt;:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sender address rejected: need fully-qualified &lt;/span&gt;&lt;br /&gt;address; from=&lt;yo&gt; to=&lt;user@example.com&gt;&lt;br /&gt;proto=SMTP helo=&lt;mail.example2.com&gt;&lt;br /&gt;May 12 22:31:50 spam postfix/smtpd[9269]:&lt;br /&gt;96E4DC16786: client=mail.example2.com[ip-pub]&lt;br /&gt;May 12 22:31:56 spam postfix/smtpd[9269]:&lt;br /&gt;lost connection after UNKNOWN from mail.example2.com[ip-pub]&lt;br /&gt;May 12 22:31:56 spam postfix/smtpd[9269]:&lt;br /&gt;disconnect from mail.example2.com[ip-pub]&lt;br /&gt;&lt;br /&gt;7; Ahora vamos a validar la existencia de los dominios de los otros smtp`s. Con este parametro:&lt;br /&gt;&lt;br /&gt;smtpd_recipient_restrictions =&lt;br /&gt;  reject_non_fqdn_sender&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        reject_unknown_sender_domain&lt;/span&gt;&lt;br /&gt;  permit_mynetworks&lt;br /&gt;  reject_unauth_destination&lt;br /&gt;  reject_non_fqdn_hostname&lt;br /&gt;  reject_invalid_hostname&lt;br /&gt;  permit&lt;br /&gt;&lt;br /&gt;Reload y probamos.&lt;br /&gt;&lt;br /&gt;connect from mail.exmaple2.com[pub-ip]&lt;br /&gt;May 13 06:44:14 spam postfix/smtpd[15311]: NOQUEUE: reject:&lt;br /&gt;RCPT from mail.exmaple2.com[pub-ip]: 450 4.1.8&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;pepe@oakburrr.com&gt;: Sender address rejected: &lt;/pepe@oakburrr.com&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Domain not found; from=&lt;pepe@undominio.malo&gt; &lt;/pepe@undominio.malo&gt;&lt;/span&gt;&lt;br /&gt;to=&lt;user@exmaple.com&gt;&lt;br /&gt;proto=SMTP helo=&lt;mail.exmaple2.com&gt;&lt;br /&gt;May 13 06:44:19 spam postfix/smtpd[15311]:&lt;br /&gt;lost connection after RCPT from mail.exmaple2.com[pub-ip]&lt;br /&gt;May 13 06:44:19 spam postfix/smtpd[15311]:&lt;br /&gt;disconnect from mail.exmaple2.com[pub-ip]&lt;br /&gt;&lt;br /&gt;Claro que aqui postfix necesita hacer unos queries a el DNS pero no importa vale la pena.&lt;br /&gt;&lt;br /&gt;8; Ahora vamos a verficar que el dominio de los destinos existan, ya se que sabemos que no va a pasar, pero para que dejar que la comunicacion sigan procesandose si puede pararla antes mejor, asi me ahorro CPU/memoria/tiempo.&lt;br /&gt;&lt;br /&gt;Quedaria asi:&lt;br /&gt;&lt;br /&gt;smtpd_recipient_restrictions =&lt;br /&gt;  reject_non_fqdn_sender&lt;br /&gt;  reject_unknown_sender_domain&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        reject_unknown_recipient_domain&lt;/span&gt;&lt;br /&gt;  permit_mynetworks&lt;br /&gt;  reject_unauth_destination&lt;br /&gt;  reject_non_fqdn_hostname&lt;br /&gt;  reject_invalid_hostname&lt;br /&gt;  permit&lt;br /&gt;&lt;br /&gt;Reload y revisamos logs, les aparecera algo asi:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;user@dominio.malo.com&amp;gt;: Recipient address rejected: Domain not found&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hasta aqui hemos creado un grupo de restriciones, las cuales creanme van a bloquar parte de los spammers, pero este es solo la 1er barrera, vamos a seguirle.&lt;br /&gt;&lt;br /&gt;10; Validando remitentes.&lt;br /&gt;&lt;br /&gt;Ahora vamos a pedirle a postfix que antes de aceptar un correo para un usuario de nuestro dominio lo verifique, para ello tenemos 2 formas, usuarios locales y usuarios del dominio, anteriormente hablamos de los 1eros y configuramos a nuestro smtp para que no acepte nada a cuentas locales, asi que aqui me enfocare a los usuarios del dominio.&lt;br /&gt;&lt;br /&gt;El parametro:&lt;br /&gt;&lt;br /&gt;relay_recipient_maps = hash:/usr/local/etc/postfix/relay_recipients&lt;br /&gt;&lt;br /&gt;Le estamos dando un archivo donde tenemos las cuentas que pueden realmente recibir correos, aqui esta un ejemplo:&lt;br /&gt;&lt;br /&gt;user1@example.com   OK&lt;br /&gt;user2@example.com   OK&lt;br /&gt;&lt;br /&gt;&lt;securitytest@abuse.net&gt;&lt;spamtest@example.com&gt;&lt;securitytest@abuse.net&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest@example.com&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest@example.com&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest@[ip-publico]&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest@[ip-publico]&gt;&lt;www.abuse.net&gt;&lt;test@example2.com&gt;&lt;test@example2.com&gt;&lt;snt0-omc3-s32.snt0.hotmail.com[65.55.90.171]&gt;&lt;usera-thotmail.com&gt;&lt;usera-texample.com&gt;&lt;snt0-omc3-s32.snt0.hotmail.com&gt;&lt;usera-totrodominio.com&gt;&lt;usera-texample.com&gt;Ya saben como deben crear el archivo que requiere postfix, reload y prueban.&lt;br /&gt;&lt;br /&gt;connect from mail.example2.com[ip-pub]&lt;br /&gt;May 14 15:35:01 spam postfix/smtpd[32991]: NOQUEUE: reject: RCPT from&lt;br /&gt;mail.example2.com[ip-pub]: 550 5.1.1 &lt;yo@example.com&gt;:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Recipient address rejected: User unknown in relay &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;recipient table; from=&lt;user@example2.com&gt; &lt;/user@example2.com&gt;&lt;/span&gt;&lt;br /&gt;to=&lt;yo@example.com&gt; proto=SMTP helo=&lt;mail.example2.com&gt;&lt;br /&gt;May 14 15:35:08 spam postfix/smtpd[32991]:&lt;br /&gt;lost connection after RCPT from mail.example2.com[ip-pub]&lt;br /&gt;May 14 15:35:08 spam postfix/smtpd[32991]:&lt;br /&gt;disconnect from mail.example2.com[ip-pub]&lt;br /&gt;&lt;br /&gt;Se preguntaran, como podre sacar mi lista de usuarios? bueno aqui cada debe saber como tenerla a el dia.&lt;br /&gt;&lt;br /&gt;11;Vamos a agregar otros parametros y al ver su nombre ustedes van a saber lo que hacen:&lt;br /&gt;&lt;br /&gt;smtpd_recipient_restrictions =&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        reject_non_fqdn_recipient&lt;/span&gt;&lt;br /&gt;   reject_non_fqdn_sender&lt;br /&gt;   reject_unknown_sender_domain&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        reject_unknown_recipient_domain&lt;/span&gt;&lt;br /&gt;   permit_mynetworks&lt;br /&gt;   reject_unauth_destination&lt;br /&gt;   reject_non_fqdn_hostname&lt;br /&gt;   reject_invalid_hostname&lt;br /&gt;   permit&lt;br /&gt;&lt;br /&gt;Reload y prueban.&lt;br /&gt;&lt;br /&gt;12; Envio a multiples destinatarios.&lt;br /&gt;&lt;br /&gt;Dice el RFC que uno nunca debe de bloquear el correo de remitentes en esta forma:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ya que este correo lo usan los mismos smtp para comunicarse, pero muchos spammers abusan y tratan de usarlo para aprovecharse de este atributo y ademas trataran de usarlo para enviar correos a multiples destinatarios, por ello existe este parametro:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;reject_multi_recipient_bounce&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Su funcion es esa y nuestra configuracion seria asi:&lt;br /&gt;&lt;br /&gt;&lt;/mail.example2.com&gt;&lt;/yo@example.com&gt;&lt;/yo@example.com&gt;&lt;/usera-texample.com&gt;&lt;/usera-totrodominio.com&gt;&lt;/snt0-omc3-s32.snt0.hotmail.com&gt;&lt;/usera-texample.com&gt;&lt;/usera-thotmail.com&gt;&lt;/snt0-omc3-s32.snt0.hotmail.com[65.55.90.171]&gt;&lt;/test@example2.com&gt;&lt;/test@example2.com&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest@[ip-publico]&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest@[ip-publico]&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest@example.com&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest@example.com&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest&gt;&lt;/www.abuse.net&gt;&lt;/securitytest@abuse.net&gt;&lt;/spamtest@example.com&gt;&lt;/securitytest@abuse.net&gt;&lt;/mail.exmaple2.com&gt;&lt;/user@exmaple.com&gt;&lt;/mail.example2.com&gt;&lt;/user@example.com&gt;&lt;/yo&gt;&lt;/yo&gt;&lt;/yo&gt;&lt;/user@example.com&gt;&lt;/yo@example2.com&gt;smtpd_recipient_restrictions =&lt;br /&gt;   reject_non_fqdn_recipient&lt;br /&gt;   reject_non_fqdn_sender&lt;br /&gt;   reject_unknown_sender_domain&lt;br /&gt;   reject_unknown_recipient_domain&lt;br /&gt;   permit_mynetworks&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;      reject_unauth_destination&lt;br /&gt;  &lt;span style="font-weight: bold;"&gt; reject_multi_recipient_bounce&lt;/span&gt;&lt;br /&gt;reject_non_fqdn_hostname&lt;br /&gt;   reject_invalid_hostname&lt;br /&gt;   permit&lt;br /&gt;&lt;br /&gt;&lt;yo@example2.com&gt;&lt;user@example.com&gt;&lt;yo&gt;&lt;yo&gt;&lt;yo&gt;&lt;user@example.com&gt;&lt;mail.example2.com&gt;&lt;user@exmaple.com&gt;&lt;mail.exmaple2.com&gt;&lt;securitytest@abuse.net&gt;&lt;spamtest@example.com&gt;&lt;securitytest@abuse.net&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest@example.com&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest@example.com&gt;&lt;www.abuse.net&gt;&lt;abuse.net!securitytest@[ip-publico]&gt;&lt;spamtest@example.com&gt;&lt;abuse.net!securitytest@[ip-publico]&gt;&lt;www.abuse.net&gt;&lt;test@example2.com&gt;&lt;test@example2.com&gt;&lt;snt0-omc3-s32.snt0.hotmail.com[65.55.90.171]&gt;&lt;usera-thotmail.com&gt;&lt;usera-texample.com&gt;&lt;snt0-omc3-s32.snt0.hotmail.com&gt;&lt;usera-totrodominio.com&gt;&lt;usera-texample.com&gt;&lt;yo@example.com&gt;&lt;yo@example.com&gt;&lt;mail.example2.com&gt;&lt;/mail.example2.com&gt;&lt;/yo@example.com&gt;&lt;/yo@example.com&gt;&lt;/usera-texample.com&gt;&lt;/usera-totrodominio.com&gt;&lt;/snt0-omc3-s32.snt0.hotmail.com&gt;&lt;/usera-texample.com&gt;&lt;/usera-thotmail.com&gt;&lt;/snt0-omc3-s32.snt0.hotmail.com[65.55.90.171]&gt;&lt;/test@example2.com&gt;&lt;/test@example2.com&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest@[ip-publico]&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest@[ip-publico]&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest@example.com&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest@example.com&gt;&lt;/www.abuse.net&gt;&lt;/abuse.net!securitytest&gt;&lt;/spamtest@example.com&gt;&lt;/abuse.net!securitytest&gt;&lt;/www.abuse.net&gt;&lt;/securitytest@abuse.net&gt;&lt;/spamtest@example.com&gt;&lt;/securitytest@abuse.net&gt;&lt;/mail.exmaple2.com&gt;&lt;/user@exmaple.com&gt;&lt;/mail.example2.com&gt;&lt;/user@example.com&gt;&lt;/yo&gt;&lt;/yo&gt;&lt;/yo&gt;&lt;/user@example.com&gt;&lt;/yo@example2.com&gt;Reload y prueban.&lt;br /&gt;&lt;br /&gt;connect from mail.example2.com[pub-ip]&lt;br /&gt;May 15 22:01:11 spam postfix/smtpd[64455]: 3D706C16E22:&lt;br /&gt;client=mail.example2.com[pub-ip]&lt;br /&gt;May 15 22:01:23 spam postfix/smtpd[64455]:&lt;br /&gt;3D706C16E22: reject: RCPT from mail.example2.com[pub-ip]:&lt;br /&gt;550 5.5.3 &lt;user2@example.com&gt;: &lt;span style="font-weight: bold;"&gt;Recipient address rejected: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Multi-recipient bounce; from=&amp;lt;&amp;gt; to=&lt;user2@example.com&gt; &lt;/user2@example.com&gt;&lt;/span&gt;&lt;br /&gt;proto=SMTP helo=&lt;mail.example2.com&gt;&lt;br /&gt;May 15 22:01:28 spam postfix/smtpd[64455]:&lt;br /&gt;lost connection after RCPT from mail.example2.com[pub-ip]&lt;br /&gt;May 15 22:01:28 spam postfix/smtpd[64455]:&lt;br /&gt;disconnect from mail.example2.com[pub-ip]&lt;br /&gt;&lt;br /&gt;13; Helo Checks.&lt;br /&gt;&lt;br /&gt;Muchos spammers trataran de pasarse de listos y quedran enviar en el HELO/EHLO el nombre de nuestro smtp, por lo tanto vamos deteniendo este detalle creando un archivo con los siguientes caracteres raros:&lt;br /&gt;&lt;br /&gt;/^spam\.example\.com$/        REJECT You are not in the server room&lt;br /&gt;&lt;br /&gt;# Somebody HELO'ing with our IP address?&lt;br /&gt;/^W\.X\.Y\.Z$/                   REJECT You are not my IP&lt;br /&gt;/^\[W.X.Y\.Z\]$/               REJECT You are not my IP&lt;br /&gt;/^[0-9.]+$/                             REJECT U are not RFC2821 compliant&lt;br /&gt;&lt;br /&gt;Donde W.X.Y.Z es el ip publico de mi spam server, no el interno.&lt;br /&gt;&lt;br /&gt;Y dentro de postfix usamos el parametro:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;check_helo_access&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Asi:&lt;br /&gt;&lt;br /&gt;smtpd_recipient_restrictions =&lt;br /&gt;   reject_non_fqdn_recipient&lt;br /&gt;   reject_non_fqdn_sender&lt;br /&gt;   reject_unknown_sender_domain&lt;br /&gt;   reject_unknown_recipient_domain&lt;br /&gt;   permit_mynetworks&lt;br /&gt;   reject_unauth_destination&lt;br /&gt;   reject_multi_recipient_bounce&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        check_helo_access pcre:/usr/local/etc/postfix/helo_checks&lt;/span&gt;&lt;br /&gt;   reject_non_fqdn_hostname&lt;br /&gt;   reject_invalid_hostname&lt;br /&gt;    permit&lt;br /&gt;&lt;br /&gt;Reload.&lt;br /&gt;&lt;br /&gt;Si se dan cuenta, postfix genera un archivo con la extension .pcre de helo_checks.&lt;br /&gt;&lt;br /&gt;Ahora revisamos el log:&lt;br /&gt;&lt;br /&gt;connect from mail.example2.com[pub-ip]&lt;br /&gt;May 15 22:45:43 spam postfix/smtpd[59312]: NOQUEUE: reject:&lt;br /&gt;RCPT from mail.example2.com[pub-ip]:&lt;br /&gt;554 5.7.1 &lt;spam.example.com&gt;:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Helo command rejected: You are not in the server room; &lt;/span&gt;&lt;br /&gt;from=&lt;user@example.com&gt;&lt;br /&gt;to=&lt;user@example.com&gt;&lt;br /&gt;proto=SMTP helo=&lt;spam.example.com&gt;&lt;br /&gt;&lt;br /&gt;14; Listras negras de DNS.&lt;br /&gt;&lt;br /&gt;Postfix nos permite a nosotros hacer uso de sitios externos para saber si el smtp externo que desea tener comunicacion con nuestro smtp no esta en alguna lista negra. Hay varios parametros y lista de este tipo existen varias, yo en lo particular estoy usando:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.spamhaus.org/index.lasso"&gt;http://www.spamhaus.org/index.lasso&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Me ha servido mucho y es mucho el spam que me bloquean y no he tenido problemas con ninguno de nuestros clientes en el sentido que este filtro los este bloqueando.&lt;br /&gt;&lt;br /&gt;Bien, esta funcion es desgastante en tiempo pero vale la pena, y me refiero a esto porque nuestro smtp tendra que hacer algunos queries a el dns, asi que si ven lentitud vayan pensando en levantar un cache DNS.&lt;br /&gt;&lt;br /&gt;Como quedaria my configuracion:&lt;br /&gt;&lt;br /&gt;smtpd_recipient_restrictions =&lt;br /&gt;   reject_non_fqdn_recipient&lt;br /&gt;   reject_non_fqdn_sender&lt;br /&gt;   reject_unknown_sender_domain&lt;br /&gt;   reject_unknown_recipient_domain&lt;br /&gt;   permit_mynetworks&lt;br /&gt;   reject_unauth_destination&lt;br /&gt;   reject_multi_recipient_bounce&lt;br /&gt;   check_helo_access pcre:/usr/local/etc/postfix/helo_checks&lt;br /&gt;   reject_non_fqdn_hostname&lt;br /&gt;   reject_invalid_hostname&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        reject_rbl_client zen.spamhaus.org&lt;/span&gt;&lt;br /&gt;   permit&lt;br /&gt;&lt;br /&gt;En mi caso quiero que sea la ultima que se lleve a cabo por lo mismo del tiempo precioso que necesita que son segundos, pero cuando tienes 20 conexiones x segundo ya pesa.&lt;br /&gt;&lt;br /&gt;Reload y voy a mostrar un log de cuando este operacion entra en juego:&lt;br /&gt;&lt;br /&gt;May 15 23:01:39 spam postfix/smtpd[2968]:&lt;br /&gt;NOQUEUE: reject: RCPT from unknown[PUB-IP]:&lt;br /&gt;554 5.7.1 Service unavailable; Client host&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;[PUB-IP] blocked using zen.spamhaus.org; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;http://www.spamhaus.org/query/bl?ip=PUB-IP; &lt;/span&gt;&lt;br /&gt;from=&lt;un x="" com=""&gt; to=&lt;user@example.com&gt;&lt;br /&gt;proto=SMTP helo=&amp;lt;456.subnet24-432-789.speedy.telkom.net.id&amp;gt;&lt;br /&gt;&lt;br /&gt;15; No permitir usar mi dominio a el remitente.&lt;br /&gt;&lt;br /&gt;Ahora vamos a verificar que los smtp no traten de usar mi dominio en sus remitentes, para ello vamos a crear un archivo con estos datos:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;example.com           554 No usar mi dominio en tu remitente&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Y nuestro configuracion seria asi:&lt;br /&gt;&lt;br /&gt;smtpd_recipient_restrictions =&lt;br /&gt;   reject_non_fqdn_recipient&lt;br /&gt;   reject_non_fqdn_sender&lt;br /&gt;   reject_unknown_sender_domain&lt;br /&gt;   reject_unknown_recipient_domain&lt;br /&gt;   permit_mynetworks&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        check_sender_access hash:/usr/local/etc/postfix/no_usar_mi_dominio&lt;/span&gt;&lt;br /&gt;   reject_unauth_destination&lt;br /&gt;   reject_multi_recipient_bounce&lt;br /&gt;   check_helo_access pcre:/usr/local/etc/postfix/helo_checks&lt;br /&gt;   reject_non_fqdn_hostname&lt;br /&gt;   reject_invalid_hostname&lt;br /&gt;   reject_rbl_client zen.spamhaus.org&lt;br /&gt;   permit&lt;br /&gt;&lt;br /&gt;Por que ahi? Bien yo quiero que si alguien quiere usar mi dominio en su remitente, no deseo investigar mas ya que ese smtp ha tratado de fingir ser "yo" por lo tanto lo rechazo antes de seguir gastando mi precioso tiempo, CPU, memoria por ello le doy prioridad a esta regla.&lt;br /&gt;&lt;br /&gt;Reload y vamos a ver que dice el log:&lt;br /&gt;&lt;br /&gt;connect from mail.example2.com[pub-ip]&lt;br /&gt;May 15 23:44:39 spam postfix/smtpd[64295]:&lt;br /&gt;NOQUEUE: reject: RCPT from mail.example2.com[pub-ip]:&lt;br /&gt;554 5.7.1 &lt;yo@example.com&gt;:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sender address rejected: No usar mi dominio en tu remitente; &lt;/span&gt;&lt;br /&gt;from=&lt;yo@example.com&gt;&lt;br /&gt;to=&lt;user@example.com&gt;&lt;br /&gt;proto=SMTP helo=&lt;/user@example.com&gt;&lt;/yo@example.com&gt;&lt;/yo@example.com&gt;&lt;/user@example.com&gt;&lt;/un&gt;&lt;/spam.example.com&gt;&lt;/user@example.com&gt;&lt;/user@example.com&gt;&lt;/spam.example.com&gt;&lt;/mail.example2.com&gt;&lt;/user2@example.com&gt;&lt;br /&gt;&lt;br /&gt;16;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;Filtros Externos&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Ahora vamos hacer uso de programas externos y deseo darles una tecnica que a muchos les parece algo exagerada pero a mi punto de vista la veo muy util, la cual se basa en un funcion de los smtp, la cual funciona asi.&lt;br /&gt;&lt;br /&gt;Cuando un smtp se comunica con otro, y este otro esta muy saturado, este ultimo le puede responder a el 1er smtp diciendole que esta muy cargado que espero un poco de tiempo. El rfc tiene contemplado esto.&lt;br /&gt;&lt;br /&gt;Asi de simple, pero a que viene esto?&lt;br /&gt;&lt;br /&gt;Muchos spaammers les pagan por enviar correos, mientras mas envien mas les pagan o llegan a su cuota, por ello muchos crean su programas para que no obedezcan los RFC de lo contrario serian ejecutables muy grandes y rapidamente detectados.&lt;br /&gt;&lt;br /&gt;Y ademas, &lt;span style="font-weight: bold;"&gt;ellos reciben su paga por enviar y no por confirmar si llego o no&lt;/span&gt;, en las palabras anteriores esta la clave.&lt;br /&gt;&lt;br /&gt;Para llevar a cabo esta tecnica vamos hacer uso de un programa llamado: Postgrey de este sitio.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://postgrey.schweikert.ch/"&gt;http://postgrey.schweikert.ch/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Por ello postfix nos da este parametro:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;check_policy_service&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Aqui es donde le decimos que haga uso de algo externo.&lt;br /&gt;&lt;br /&gt;Lo que hace postgrey es lo siguiente. Cuando un remitente externo(otro smtp) trata de enviarnos por primera vez correos a un destinatario de nuestro dominio, una vez pasado por todas las reglas y llegado a el check_policy_service, postgrey en su bd verifica que haya un par de parametros:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;remitente destinatario&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Si no hay ninguno, este le retorna el mensaje a el otro smtp que debe esperar, por default postgrey tienen una poliza de 5 minutos, asi que si el otro smtp trata de hacerlo antes postgrey ya lo tiene en su lista de espera y lo vuelve a rechazar hasta que haya pasado ese periodo de gracia.&lt;br /&gt;&lt;br /&gt;Una vez que el otro smtp lo intenta en el tiempo especificado ya postgrey le permite el paso por que ya tiene un par de llaves en su bd.&lt;br /&gt;&lt;br /&gt;Asi de simple, como les comente anteriormente los spammers no les interesa saber si si correo llego o no, muchos menos detenerse para volver enviar el correo, por ello esta tecnica tambien les va a bloquear un bloque de spam.&lt;br /&gt;&lt;br /&gt;Su unico incoveniente es que la 1ra vez que su amigo les envie el correo van a tardar 5 minutos en entrar, pero todos los smtp que siguen las reglas van a respetar nuestras reglas y volver a enviar el correo en el tiempo especificado asi que no van a tener problemas.&lt;br /&gt;&lt;br /&gt;Ustedes son los que saben como operar su servidor y que es lo mejor para su compañia asi que si un empleado sale lloron solo tienen que convencer a su jefe la importancia para su compañia de este pequeño truco.&lt;br /&gt;&lt;br /&gt;Para ponerlo a trabajar ya solo voy a rc.conf y lo doy de alta:&lt;br /&gt;&lt;br /&gt;postgrey_enable="yes"&lt;br /&gt;&lt;br /&gt;La bd de datos que usa es BDB, postgrey no es el unico que existen hay muchos, pero para este funcion yo lo elegi a el.&lt;br /&gt;&lt;br /&gt;Lo hecho a volar.&lt;br /&gt;&lt;br /&gt;Mi configuracion quedaria asi:&lt;br /&gt;&lt;br /&gt;smtpd_recipient_restrictions =&lt;br /&gt;     reject_non_fqdn_recipient&lt;br /&gt;     reject_non_fqdn_sender&lt;br /&gt;     reject_unknown_sender_domain&lt;br /&gt;     reject_unknown_recipient_domain&lt;br /&gt;     permit_mynetworks&lt;br /&gt;     check_sender_access hash:/usr/local/etc/postfix/no_usar_mi_dominio&lt;br /&gt;     reject_unauth_destination&lt;br /&gt;     check_helo_access pcre:/usr/local/etc/postfix/helo_checks&lt;br /&gt;     reject_multi_recipient_bounce&lt;br /&gt;     reject_non_fqdn_hostname&lt;br /&gt;     reject_invalid_hostname&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        check_policy_service inet:192.168.40.5:10023&lt;/span&gt;&lt;br /&gt;     reject_rbl_client zen.spamhaus.org&lt;br /&gt;     permit&lt;br /&gt;&lt;br /&gt;Lo coloco antes del _rbl_client ya que prefiero que los queries externos sea lo ultimo que haga mi spam server.&lt;br /&gt;&lt;br /&gt;Reload y van a ver logs como este:&lt;br /&gt;&lt;br /&gt;connect from second3.fotuicatan.com[173.246.141.201]&lt;br /&gt;May 16 07:07:39 spam postgrey[18480]: action=greylist, reason=new,&lt;br /&gt;client_name=second3.fotuicatan.com,&lt;br /&gt;client_address=173.246.141.201,&lt;br /&gt;sender=dentalcarea-tfotuicatan.com,&lt;br /&gt;recipient=usera-texample.com&lt;br /&gt;May 16 07:07:40 spam postfix/smtpd[14371]:&lt;br /&gt;NOQUEUE: reject: RCPT from second3.fotuicatan.com&lt;br /&gt;[173.246.141.201]: 450 4.2.0 &lt;usera-texample.com&gt;:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Recipient address rejected: Greylisted, see &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;http://postgrey.schweikert.ch/help/example.com.html; &lt;/span&gt;&lt;br /&gt;from=&lt;dentalcarea-tfotuicatan.com&gt; to=&lt;usera-texample.com&gt;&lt;br /&gt;proto=ESMTP helo=&lt;second3.fotuicatan.com&gt;&lt;br /&gt;&lt;/second3.fotuicatan.com&gt;&lt;/usera-texample.com&gt;&lt;/dentalcarea-tfotuicatan.com&gt;&lt;/usera-texample.com&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Clamavis&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Ahora vamos a configurar el antivirus open source &lt;a href="http://www.clamav.net/lang/en/"&gt;ClamAV&lt;/a&gt;, en este servidor estamos hablando de la version 0.97, y como todo usuario de FreeBSD siempre nos preguntamos y que opciones usamos cuando ejecutemos:&lt;br /&gt;&lt;br /&gt;make install clean&lt;br /&gt;&lt;br /&gt;Bien aqui pongo las que estoy usando:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Qj7ISA7lVI4/TdNWeareR1I/AAAAAAAAAFU/RessDYg2mjw/s1600/clamav.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 194px;" src="http://1.bp.blogspot.com/-Qj7ISA7lVI4/TdNWeareR1I/AAAAAAAAAFU/RessDYg2mjw/s320/clamav.JPG" alt="" id="BLOGGER_PHOTO_ID_5607921041564125010" border="0" /&gt;&lt;/a&gt;Figura 2.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Bien una vez instalado vamos a la configuracion, la instalacion coloca 2 archivos por default en la ruta default: /usr/local/etc/, esto son:&lt;br /&gt;&lt;br /&gt;-r--r--r--  1 root  wheel   13986 Mar 23 02:06 clamd.conf.default&lt;br /&gt;-r--r--r--  1 root  wheel    7507 Mar 23 02:06 freshclam.conf.default&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;Solo compeanos cada a otro archivo sin la extension .default.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Freshclam&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Clamav instala 2 servicios:&lt;br /&gt;&lt;br /&gt;freshclam clamd.&lt;br /&gt;&lt;br /&gt;El 1ro es el encargado de actualizar las firmas del antivirus, asi que  este servidor cada cierto tiempo se estara conectado para bajar las firmas mas nuevas.&lt;br /&gt;&lt;br /&gt;Su configuracion es la siguiente:&lt;br /&gt;&lt;br /&gt;DatabaseDirectory /var/db/clamav&lt;br /&gt;UpdateLogFile /var/log/clamav/freshclam.log&lt;br /&gt;LogFileMaxSize 2M&lt;br /&gt;LogTime yes&lt;br /&gt;LogVerbose yes&lt;br /&gt;LogSyslog yes&lt;br /&gt;PidFile /var/run/clamav/freshclam.pid&lt;br /&gt;DatabaseOwner clamav&lt;br /&gt;AllowSupplementaryGroups yes&lt;br /&gt;DatabaseMirror db.us.clamav.net&lt;br /&gt;DatabaseMirror database.clamav.net&lt;br /&gt;MaxAttempts 5&lt;br /&gt;NotifyClamd /usr/local/etc/clamd.conf&lt;br /&gt;&lt;br /&gt;Crear el archivo log si no existe, los demas parametros y comentarios los deje tal cual estan.&lt;br /&gt;&lt;br /&gt;El directorio donde se guardan los logs debe tener el siguiente permiso:&lt;br /&gt;&lt;br /&gt;drwxr-xr-x  2 clamav  clamav    1024 May 17 00:00 clamav&lt;br /&gt;&lt;br /&gt;Ahora lo damos de alta en el rc.conf&lt;br /&gt;&lt;br /&gt;clamav_freshclam_enable="YES"&lt;br /&gt;&lt;br /&gt;Aqui ya lo tenemos listo para proibar.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;Clamav&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Este programa es el que se encarga de llevar la tarea sucia y revisar nuestros archivos de cosas malas.&lt;br /&gt;&lt;br /&gt;Vamos mostrando la configuracion que estoy usando:&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;LogFile /var/log/clamav/clamd.log&lt;br /&gt;LogFileMaxSize 2M&lt;br /&gt;LogTime yes&lt;br /&gt;LogSyslog yes&lt;br /&gt;LogVerbose yes&lt;br /&gt;ExtendedDetectionInfo yes&lt;br /&gt;PidFile /var/run/clamav/clamd.pid&lt;br /&gt;DatabaseDirectory /var/db/clamav&lt;br /&gt;LocalSocket /var/run/clamav/clamd.sock&lt;br /&gt;FixStaleSocket yes&lt;br /&gt;TCPAddr 192.168.40.5&lt;br /&gt;StreamMaxLength 10M&lt;br /&gt;MaxDirectoryRecursion 20&lt;br /&gt;User clamav&lt;br /&gt;AllowSupplementaryGroups yes&lt;br /&gt;ScanMail yes&lt;br /&gt;&lt;br /&gt;Todos los demas parametros los estoy dejando con sus valores por default, aqui solo muestro los que yo uso y eliminando comentarios, ademas tengo habilitado el verbose ya cuando termine de configurar todo lo voy a poner lo mas bajo posible.&lt;br /&gt;&lt;br /&gt;FreeBSD crea el usuario y grupo de clamav, ya solo falta  agregar el servicio a rc.conf:&lt;br /&gt;&lt;br /&gt;clamav_clamd_enable="YES"&lt;br /&gt;&lt;br /&gt;Ahora si vamos poniendo ambos en operacion, el1ro es el freshclam y lo ejecutamos a mano, este servicio usa el puerto 80 para bajar sus archivos, asi que su firewall debe permitirle salir por el puerto 80.&lt;br /&gt;&lt;br /&gt;freshclam -v&lt;br /&gt;&lt;br /&gt;freshclam -v&lt;br /&gt;Current working dir is /var/db/clamav&lt;br /&gt;Max retries == 5&lt;br /&gt;ClamAV update process started at Tue May 17 22:51:02 2011&lt;br /&gt;Using IPv6 aware code&lt;br /&gt;Querying current.cvd.clamav.net&lt;br /&gt;TTL: 422&lt;br /&gt;Software version from DNS: 0.97&lt;br /&gt;main.cvd version from DNS: 53&lt;br /&gt;main.cvd is up to date (version: 53, sigs: 846214, f-level: 53, builder: sven)&lt;br /&gt;daily.cvd version from DNS: 13086&lt;br /&gt;daily.cld is up to date (version: 13086, sigs: 118614, f-level: 60, builder: guitar)&lt;br /&gt;bytecode.cvd version from DNS: 143&lt;br /&gt;bytecode.cld is up to date (version: 143, sigs: 40, f-level: 60, builder: edwin)&lt;br /&gt;&lt;br /&gt;Ahora sigue clamd:&lt;br /&gt;&lt;br /&gt;/usr/local/etc/rc.d/clamav-clamd start&lt;br /&gt;&lt;br /&gt;Starting clamav_clamd.&lt;br /&gt;&lt;br /&gt;Vemos el log:&lt;br /&gt;&lt;br /&gt;Tue May 17 22:28:26 2011 -&amp;gt; +++ Started at Tue May 17 22:28:26 2011&lt;br /&gt;Tue May 17 22:28:26 2011 -&amp;gt; clamd daemon 0.97 (OS: freebsd8.2, ARCH: i386, CPU: i386)&lt;br /&gt;Tue May 17 22:28:26 2011 -&amp;gt; Running as user clamav (UID 106, GID 106)&lt;br /&gt;Tue May 17 22:28:26 2011 -&amp;gt; Log file size limited to 2097152 bytes.&lt;br /&gt;Tue May 17 22:28:26 2011 -&amp;gt; Reading databases from /var/db/clamav&lt;br /&gt;Tue May 17 22:28:26 2011 -&amp;gt; Not loading PUA signatures.&lt;br /&gt;Tue May 17 22:28:32 2011 -&amp;gt; Loaded 963507 signatures.&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; LOCAL: Unix socket file /var/run/clamav/clamd.sock&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; LOCAL: Setting connection queue length to 200&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; Limits: Global size limit set to 104857600 bytes.&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; Limits: File size limit set to 26214400 bytes.&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; Limits: Recursion level limit set to 16.&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; Limits: Files limit set to 10000.&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; Limits: Core-dump limit is 4294967295.&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; Archive support enabled.&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; Algorithmic detection enabled.&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; Portable Executable support enabled.&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; ELF support enabled.&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; Mail files support enabled.&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; OLE2 support enabled.&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; PDF support enabled.&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; HTML support enabled.&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; Self checking every 600 seconds.&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; Listening daemon: PID: 90556&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; MaxQueue set to: 100&lt;br /&gt;Tue May 17 22:28:34 2011 -&amp;gt; Set stacksize to 1114112&lt;br /&gt;&lt;br /&gt;Verificamos:&lt;br /&gt;&lt;br /&gt;/usr/local/etc/rc.d/clamav-clamd status&lt;br /&gt;clamav_clamd is running as pid 90556.&lt;br /&gt;&lt;br /&gt;Vemos si esta el servicio arriba:&lt;br /&gt;&lt;br /&gt;ps -ax | grep clam&lt;br /&gt;90596  ??  IsJ    0:00.00 /usr/local/sbin/clamd&lt;br /&gt;&lt;br /&gt;Probamos localmente:&lt;br /&gt;&lt;br /&gt;clamscan /usr/local/etc/&lt;br /&gt;/usr/local/etc/screenrc: OK&lt;br /&gt;/usr/local/etc/pkgtools.status-pkg.sh: OK&lt;br /&gt;/usr/local/etc/pkgtools.conf.sample: OK&lt;br /&gt;/usr/local/etc/pkgtools.conf: OK&lt;br /&gt;/usr/local/etc/rarfiles.lst: OK&lt;br /&gt;/usr/local/etc/amavisd.conf-dist: OK&lt;br /&gt;/usr/local/etc/amavisd.conf-sample: OK&lt;br /&gt;/usr/local/etc/amavisd.conf-default: OK&lt;br /&gt;/usr/local/etc/amavisd-custom.conf-dist: OK&lt;br /&gt;/usr/local/etc/amavisd.conf: OK&lt;br /&gt;/usr/local/etc/amavisd-custom.conf: OK&lt;br /&gt;/usr/local/etc/clamd.conf.default: OK&lt;br /&gt;/usr/local/etc/freshclam.conf.default: OK&lt;br /&gt;/usr/local/etc/clamd.conf: OK&lt;br /&gt;/usr/local/etc/freshclam.conf: OK&lt;br /&gt;/usr/local/etc/policyd-weight.conf.sample: OK&lt;br /&gt;/usr/local/etc/my.cnf: OK&lt;br /&gt;/usr/local/etc/nss_ldap.conf.sample: OK&lt;br /&gt;/usr/local/etc/nss_ldap.conf: OK&lt;br /&gt;/usr/local/etc/ldap.conf.dist: OK&lt;br /&gt;/usr/local/etc/policyd-weight.conf: OK&lt;br /&gt;/usr/local/etc/ldap.conf: Symbolic link&lt;br /&gt;/usr/local/etc/portaudit.conf.sample: OK&lt;br /&gt;&lt;br /&gt;----------- SCAN SUMMARY -----------&lt;br /&gt;Known viruses: 963507&lt;br /&gt;Engine version: 0.97&lt;br /&gt;Scanned directories: 1&lt;br /&gt;Scanned files: 22&lt;br /&gt;Infected files: 0&lt;br /&gt;Data scanned: 0.59 MB&lt;br /&gt;Data read: 0.33 MB (ratio 1.79:1)&lt;br /&gt;Time: 8.726 sec (0 m 8 s)&lt;br /&gt;&lt;br /&gt;Ahora si ejecutamos el demonio de freshclam:&lt;br /&gt;&lt;br /&gt;/usr/local/etc/rc.d/clamav-freshclam restart&lt;br /&gt;Starting clamav_freshclam.&lt;br /&gt;&lt;br /&gt;Revisamos ambos servicios:&lt;br /&gt;&lt;br /&gt;ps -ax | grep clam&lt;br /&gt;90828  ??  IsJ    0:02.74 /usr/local/bin/freshclam --daemon -p /var/run/clamav/freshclam.pid&lt;br /&gt;90850  ??  IsJ    0:00.00 /usr/local/sbin/clamd&lt;br /&gt;&lt;br /&gt;Ahora los sockets:&lt;br /&gt;&lt;br /&gt;sockstat -4&lt;br /&gt;USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS&lt;br /&gt;clamav   clamd      90850 3  tcp4   192.168.40.5:21989    192.168.40.4:389&lt;br /&gt;clamav   freshclam  90828 3  tcp4   192.168.40.5:31452    192.168.40.4:389&lt;br /&gt;&lt;br /&gt;Como mi red depende de LDAP, aqui veo que ambos estan teniendo comunicacion eon mi servidor LDAP.&lt;br /&gt;&lt;br /&gt;En la configuracion de freshclam viene una parte donde dice que una vez que actualice firmas debe informar a clamd sobre esto, sus logs van a mostrar algo asi:&lt;br /&gt;&lt;br /&gt;Tue May 17 22:43:04 2011 -&amp;gt; Current working dir is /var/db/clamav&lt;br /&gt;Tue May 17 22:43:04 2011 -&amp;gt; Max retries == 5&lt;br /&gt;Tue May 17 22:43:04 2011 -&amp;gt; ClamAV update process started at Tue May 17 22:43:04 2011&lt;br /&gt;Tue May 17 22:43:04 2011 -&amp;gt; Using IPv6 aware code&lt;br /&gt;Tue May 17 22:43:04 2011 -&amp;gt; Querying current.cvd.clamav.net&lt;br /&gt;Tue May 17 22:43:04 2011 -&amp;gt; TTL: 900&lt;br /&gt;Tue May 17 22:43:04 2011 -&amp;gt; Software version from DNS: 0.97&lt;br /&gt;Tue May 17 22:43:04 2011 -&amp;gt; main.cvd version from DNS: 53&lt;br /&gt;Tue May 17 22:43:04 2011 -&amp;gt; main.cvd is up to date (version: 53, sigs: 846214, f-level: 53, builder: sven)&lt;br /&gt;Tue May 17 22:43:04 2011 -&amp;gt; daily.cvd version from DNS: 13086&lt;br /&gt;Tue May 17 22:43:04 2011 -&amp;gt; Retrieving http://db.us.clamav.net/daily-13086.cdiff&lt;br /&gt;Tue May 17 22:43:04 2011 -&amp;gt; connect_error: getsockopt(SO_ERROR): fd=6 error=61: Connection refused&lt;br /&gt;Tue May 17 22:43:04 2011 -&amp;gt; Can't connect to port 80 of host db.us.clamav.net (IP: 194.47.250.218)&lt;br /&gt;Tue May 17 22:43:04 2011 -&amp;gt; Trying to download http://db.us.clamav.net/daily-13086.cdiff (IP: 168.143.19.95)&lt;br /&gt;Tue May 17 22:43:04 2011 -&amp;gt; Downloading daily-13086.cdiff [100%]&lt;br /&gt;Tue May 17 22:43:04 2011 -&amp;gt; cdiff_apply: Parsed 21 lines and executed 21 commands&lt;br /&gt;Tue May 17 22:43:05 2011 -&amp;gt; Loading signatures from daily.cld&lt;br /&gt;Tue May 17 22:43:05 2011 -&amp;gt; Properly loaded 118614 signatures from new daily.cld&lt;br /&gt;Tue May 17 22:43:05 2011 -&amp;gt; daily.cld updated (version: 13086, sigs: 118614, f-level: 60, builder: guitar)&lt;br /&gt;Tue May 17 22:43:05 2011 -&amp;gt; bytecode.cvd version from DNS: 143&lt;br /&gt;Tue May 17 22:43:05 2011 -&amp;gt; bytecode.cld is up to date (version: 143, sigs: 40, f-level: 60, builder: edwin)&lt;br /&gt;Tue May 17 22:43:08 2011 -&amp;gt; Database updated (964868 signatures) from db.us.clamav.net (IP: 168.143.19.95)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Tue May 17 22:43:08 2011 -&amp;gt; Clamd successfully notified about the update.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Y la configuracion tambien muestra cada cuanto se va a estar actualizando.&lt;br /&gt;&lt;br /&gt;Parece que clamav esta listo para ser usado por amavisd.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;SpamAssasin&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Viene una pieza angular de este servidor, SA abreviado, es una aplicacion opensource que tiene mucho reconocimiento a nivel mundial, hasta empresas de renombre hacen uso de el.&lt;br /&gt;&lt;br /&gt;Amavisd le llama a sa cuando empieza a recibir mensajes de Postfix, sa es un software de autoaprendizaje asi que conforme recibe mensajes va memorizando la comunicacion de cada usuario.&lt;br /&gt;&lt;br /&gt;Su configuracion tiene varios achivos en:&lt;br /&gt;&lt;br /&gt;/usr/local/etc/mail/spamassassin/&lt;br /&gt;&lt;br /&gt;El principal es local.cf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;usera-texample.com&gt;&lt;dentalcarea-tfotuicatan.com&gt;&lt;usera-texample.com&gt;&lt;second3.fotuicatan.com&gt;&lt;user2@example.com&gt;&lt;mail.example2.com&gt;&lt;spam.example.com&gt;&lt;user@example.com&gt;&lt;user@example.com&gt;&lt;spam.example.com&gt;&lt;un x="" com=""&gt;&lt;user@example.com&gt;&lt;yo@example.com&gt;&lt;yo@example.com&gt;&lt;user@example.com&gt;&lt;mail.example2.com&gt;&lt;/mail.example2.com&gt;&lt;/user@example.com&gt;&lt;/yo@example.com&gt;&lt;/yo@example.com&gt;&lt;/user@example.com&gt;&lt;/un&gt;&lt;/spam.example.com&gt;&lt;/user@example.com&gt;&lt;/user@example.com&gt;&lt;/spam.example.com&gt;&lt;/mail.example2.com&gt;&lt;/user2@example.com&gt;&lt;/second3.fotuicatan.com&gt;&lt;/usera-texample.com&gt;&lt;/dentalcarea-tfotuicatan.com&gt;&lt;/usera-texample.com&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3419696413132675684-5862410577488220109?l=pheriko.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pheriko.blogspot.com/feeds/5862410577488220109/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3419696413132675684&amp;postID=5862410577488220109' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/5862410577488220109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3419696413132675684/posts/default/5862410577488220109'/><link rel='alternate' type='text/html' href='http://pheriko.blogspot.com/2010/04/freebsd-8x.html' title='FreeBSD 8.X: Spam Gateway'/><author><name>Pedro Moreno</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-VQ0-jmFBKTE/TcjWW7v6oKI/AAAAAAAAAFM/YR83AwAskAQ/s72-c/postfix-envelope.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3419696413132675684.post-4459705284988233320</id><published>2010-04-06T06:41:00.001-07:00</published><updated>2010-08-28T17:22:21.809-07:00</updated><title type='text'>FreeBSD 8: Samba + LDAP + Dovecot + Postfix</title><content type='html'>Aqui de nuevo, esta vez me he visto en la necesidad de crear un  dominio con samba+ldap y utilizar este contenido de datos para que  FreeBSD consulte los usuarios con sus respectivas claves de acceso que  por costumbre voy a utilizar el lenguaje comun ingles.&lt;br /&gt;&lt;br /&gt;Bien  aqui mismo, vamos a levantar un servidor de correo con Dovecot+Postfix  que juntos hacen un buena mancuerna.&lt;br /&gt;&lt;br /&gt;LDAP es el AD de  Unix/Linux por ello es importante saber como usarlo, no soy un experto  en el ya que es muy complejo, pero lo que he hecho con el sigue  funcionando.&lt;br /&gt;&lt;br /&gt;Para el correo no voy a usar directorios  virtuales, como estamos hablando de un dominio, donde tenemos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Usuarios&lt;/li&gt;&lt;li&gt;Computadoras&lt;/li&gt;&lt;li&gt;Grupos&lt;/li&gt;&lt;/ul&gt;Y  cada usuario tiene si propio directorio en /home, asi:&lt;br /&gt;&lt;br /&gt;/home/usurio1&lt;br /&gt;/home/usurio2&lt;br /&gt;/home/usurio3&lt;br /&gt;...&lt;br /&gt;/home/usurioN&lt;br /&gt;&lt;br /&gt;Entonces no veo la razon de tener que crear esto:&lt;br /&gt;&lt;br /&gt;/var/mail/virtual/dominioA/user1&lt;br /&gt;/var/mail/virtual/dominioA/user2&lt;br /&gt;/var/mail/virtual/dominioA/user3&lt;br /&gt;...&lt;br /&gt;/var/mail/virtual/dominioA/userN&lt;br /&gt;&lt;br /&gt;Ademas de tener que levantar un Mysql para esto, es un solo dominio,  si fueran mas dominios entonces si tendria que ver la posibilidad de  hacer uso de Mysql o PostgreSQL, pero con mi actual red no le veo caso.&lt;br /&gt;&lt;br /&gt;Vamos meternos con NSS para que FreeBSD consulte la informacion de los  usuarios, por ejemplo tengo un usuario de nombre test en samba, FreeBSD  no lo tiene localmente, pero al momento de ejecutar el comando ID debe  darnos la informacion de este usuario, asi:&lt;br /&gt;&lt;br /&gt;id test&lt;br /&gt;uid=10003(test)  gid=513(Domain Users) groups=513(Domain Users)&lt;br /&gt;&lt;br /&gt;Como podran  ver, es un usuario de LDAP, en la base de datos local no existe:&lt;br /&gt;&lt;br /&gt;#  $FreeBSD: src/etc/master.passwd,v 1.40.22.1.2.1 2009/10/25 01:10:29  kensmith Exp $&lt;br /&gt;#&lt;br /&gt;root:$1$2OxWxY4U$zs3bOHCFShY.8yUclDtRS0:0:0::0:0:Charlie  &amp;amp;:/root:/bin/csh&lt;br /&gt;toor:*:0:0::0:0:Bourne-again Superuser:/root:&lt;br /&gt;daemon:*:1:1::0:0:Owner  of many system processes:/root:/usr/sbin/nologin&lt;br /&gt;operator:*:2:5::0:0:System  &amp;amp;:/:/usr/sbin/nologin&lt;br /&gt;bin:*:3:7::0:0:Binaries Commands and  Source:/:/usr/sbin/nologin&lt;br /&gt;tty:*:4:65533::0:0:Tty  Sandbox:/:/usr/sbin/nologin&lt;br /&gt;kmem:*:5:65533::0:0:KMem  Sandbox:/:/usr/sbin/nologin&lt;br /&gt;games:*:7:13::0:0:Games  pseudo-user:/usr/games:/usr/sbin/nologin&lt;br /&gt;news:*:8:8::0:0:News  Subsystem:/:/usr/sbin/nologin&lt;br /&gt;man:*:9:9::0:0:Mister Man  Pages:/usr/share/man:/usr/sbin/nologin&lt;br /&gt;sshd:*:22:22::0:0:Secure Shell  Daemon:/var/empty:/usr/sbin/nologin&lt;br /&gt;smmsp:*:25:25::0:0:Sendmail  Submission User:/var/spool/clientmqueue:/usr/sbin/nologin&lt;br /&gt;mailnull:*:26:26::0:0:Sendmail  Default User:/var/spool/mqueue:/usr/sbin/nologin&lt;br /&gt;bind:*:53:53::0:0:Bind  Sandbox:/:/usr/sbin/nologin&lt;br /&gt;proxy:*:62:62::0:0:Packet Filter  pseudo-user:/nonexistent:/usr/sbin/nologin&lt;br /&gt;_pflogd:*:64:64::0:0:pflogd  privsep user:/var/empty:/usr/sbin/nologin&lt;br /&gt;_dhcp:*:65:65::0:0:dhcp  programs:/var/empty:/usr/sbin/nologin&lt;br /&gt;uucp:*:66:66::0:0:UUCP  pseudo-user:/var/spool/uucppublic:/usr/local/libexec/uucp/uucico&lt;br /&gt;pop:*:68:6::0:0:Post  Office Owner:/nonexistent:/usr/sbin/nologin&lt;br /&gt;www:*:80:80::0:0:World  Wide Web Owner:/nonexistent:/usr/sbin/nologin&lt;br /&gt;nobody:*:65534:65534::0:0:Unprivileged  user:/nonexistent:/usr/sbin/nologin&lt;br /&gt;mysql:*:88:88::0:0:MySQL  Daemon:/var/db/mysql:/usr/sbin/nologin&lt;br /&gt;&lt;br /&gt;Es lo bonito de poder  centralizar todo un solo punto, asi cualquier cliente con soporte para  LDAP podra consultar este servidor para autentificar los usuarios, que  bonito no?&lt;br /&gt;&lt;br /&gt;Y como ultimo, todo esto no va a ejecutarse dentro  de un sistema fisico, sino dentro de un Jail, que es una forma que tiene  BSD para virtualizar nativamente, es como poder tener 2 FreeBSD  en la  misma caja.&lt;br /&gt;&lt;br /&gt;Para ello, vamos a seguir paso a paso el capitulo 15  de la biblia de FreeBSD para crear nuestra Jail, les recomiendo leer  "man src.conf" para que ustedes decidan que necesitan y que no, aqui yo  les voy a indicar como me quedo el archivo para este servidor, para  poder llegar a esto, tuve que ejecutar varias veces el buildworld, y  reinstalar infinidad de  veces la misma aplicacion via ports, pero valio  la pena.&lt;br /&gt;&lt;br /&gt;Antes iniciar esto, necesito que cumplan los  siguientes requisitos&lt;br /&gt;&lt;br /&gt;a) Si van a usar jails, crearla y ponerla en operacion.&lt;br /&gt;b) Actualizar su arbol de ports.&lt;br /&gt;b)  Configurar el acceso a el jail via ssh por llave, aqui en mi blog viene  esto.&lt;br /&gt;&lt;br /&gt;Una vez hecho esto, podemos continuar.&lt;br /&gt;&lt;br /&gt;Paso 1:  Configurar Samba con LDAP.&lt;br /&gt;Ports a instalar:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;   net/samba3&lt;/li&gt;&lt;li&gt;  net/openldap24-server&lt;/li&gt;&lt;li&gt;   net/openldap24-client&lt;/li&gt;&lt;li&gt;net/nss_ldap&lt;/li&gt;&lt;li&gt;security/pam_ldap&lt;/li&gt;&lt;li&gt;net/smbldap-tools&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt; Como no voy a compartir las impresoras  con Samba, deshabilito CUPS cuando salga el menu de configuracion de   Samba.&lt;br /&gt;&lt;br /&gt;Van a salir mas ports de los cuales dependen estos, pero  usen las opciones que vienen por default.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;src.conf&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;WITHOUT_AMD="yes"&lt;br /&gt;WITHOUT_APM="yes"&lt;br /&gt;WITHOUT_ASSERT_DEBUG="yes"&lt;br /&gt;WITHOUT_ATM="yes"&lt;br /&gt;WITHOUT_AUTHPF="yes"&lt;br /&gt;WITHOUT_BIND="yes"&lt;br /&gt;WITHOUT_BLUETOOTH="yes"&lt;br /&gt;WITHOUT_BOOT="yes"&lt;br /&gt;WITHOUT_CALENDAR="yes"&lt;br /&gt;WITHOUT_CDDL="yes"&lt;br /&gt;WITHOUT_CTM="yes"&lt;br /&gt;WITHOUT_CVS="yes"&lt;br /&gt;WITHOUT_DICT="yes"&lt;br /&gt;WITHOUT_EXAMPLES="yes"&lt;br /&gt;WITHOUT_FLOPPY="yes"&lt;br /&gt;WITHOUT_FREEBSD_UPDATE="yes"&lt;br /&gt;WITHOUT_GAMES="yes"&lt;br /&gt;WITHOUT_GPIB="yes"&lt;br /&gt;WITHOUT_HTML="yes"&lt;br /&gt;WITHOUT_INET6="yes"&lt;br /&gt;WITHOUT_IPFILTER="yes"&lt;br /&gt;WITHOUT_IPFW="yes"&lt;br /&gt;WITHOUT_IPX="yes"&lt;br /&gt;WITHOUT_JAIL="yes"&lt;br /&gt;WITHOUT_KVM="yes"&lt;br /&gt;WITHOUT_LPR="yes"&lt;br /&gt;WITHOUT_MAIL="yes"&lt;br /&gt;WITHOUT_MAN="yes"&lt;br /&gt;WITHOUT_NCP="yes"&lt;br /&gt;WITHOUT_NDIS="yes&lt;br /&gt;WITHOUT_NTP="yes"&lt;br /&gt;WITHOUT_PF="yes"&lt;br /&gt;WITHOUT_PMC="yes"&lt;br /&gt;WITHOUT_PPP="yes"&lt;br /&gt;WITHOUT_PROFILE="yes"&lt;br /&gt;WITHOUT_QUOTAS="yes"&lt;br /&gt;WITHOUT_RCMDS="yes"&lt;br /&gt;WITHOU_RCS="yes"&lt;br /&gt;WITHOUT_SHAREDOCS="yes"&lt;br /&gt;WITHOUT_TELNET="yes"&lt;br /&gt;WITHOUT_USB="yes"&lt;br /&gt;WITHOUT_WIRELESS="yes"&lt;br /&gt;WITHOUT_WPA_SUPPLICANT_EAPOL="yes"&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;LDAP Server&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;Una vez finalizado,  lo primero que vamos a configurar es ldap, como sabran la configuracion  la tenemos en /usr/local/etc/openldap.&lt;br /&gt;&lt;br /&gt;Como este va a ser el servidor ldap, vamos a trabajar sobre slapd.conf, cuando este listo continuaremos con ldap.conf, ya que es usado por los clientes que buscan contactar a servidores ldap, aqui el servidor es a la vez cliente.&lt;br /&gt;&lt;br /&gt;Vamos a definir nuestro dominio, pero vamos a darle mas realismo, aqui yo me registre en dyndns.org y elegi el nombre midominio, el cual quedo:&lt;br /&gt;&lt;br /&gt;midominio.dyndns.org&lt;br /&gt;&lt;br /&gt;Esta es la estructura de mi domino en ldap:&lt;br /&gt;&lt;br /&gt;dc=midominio,dc=dyndns,dc=org&lt;br /&gt;&lt;br /&gt;Vamos a tener lo siguiente en mi dominio:&lt;br /&gt;&lt;br /&gt;Users -- Usuarios.&lt;br /&gt;Groups -- Grupos.&lt;br /&gt;Computers --Computadoras&lt;br /&gt;Imap&lt;br /&gt;&lt;br /&gt;Por pasos:&lt;br /&gt;&lt;br /&gt;1; Password de ldap.&lt;br /&gt;Necesitamos obtener el password que ldap va usar para administrarlo, para ello elegimos un password, ustedes elijen el que gusten:&lt;br /&gt;&lt;br /&gt;root@ slappasswd&lt;br /&gt;New password:&lt;br /&gt;Re-enter new password:&lt;br /&gt;{SSHA}XXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;&lt;br /&gt;2; Crear archivo ldif:&lt;br /&gt;&lt;br /&gt;Con esta informacion voy a crear el siguiente archivo el cual mas adelante voy a usar para crear mi dominio en ldap, le voy a llamar midominio.ldif:&lt;br /&gt;&lt;br /&gt;dn: dc=midominio,dc=dyndns,dc=org&lt;br /&gt;objectClass: dcObject&lt;br /&gt;objectClass: organizationalUnit&lt;br /&gt;dc: midominio&lt;br /&gt;ou: midominio&lt;br /&gt;&lt;br /&gt;dn: cn=Manager,dc=midominio,dc=dyndns,dc=org&lt;br /&gt;objectClass: simpleSecurityObject&lt;br /&gt;objectClass: organizationalRole&lt;br /&gt;cn: Manager&lt;br /&gt;description: LDAP administrator&lt;br /&gt;userPassword:{SSHA}XXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;br /&gt;&lt;br /&gt;dn: ou=Users,dc=midominio,dc=dyndns,dc=org&lt;br /&gt;objectClass: organizationalUnit&lt;br /&gt;ou: Users&lt;br /&gt;&lt;br /&gt;dn: ou=Groups,dc=midominio,dc=dyndns,dc=org&lt;br /&gt;objectClass: organizationalUnit&lt;br /&gt;ou: Groups&lt;br /&gt;&lt;br /&gt;dn: ou=Computers,dc=midominio,dc=dyndns,dc=org&lt;br /&gt;objectClass: organizationalUnit&lt;br /&gt;ou: Computers&lt;br /&gt;&lt;br /&gt;dn: ou=Idmap,dc=midominio,dc=dyndns,dc=org&lt;br /&gt;objectClass: organizationalUnit&lt;br /&gt;ou: Idmap&lt;br /&gt;&lt;br /&gt;El campo del password va a ser de acuerdo a su password que usaron con el comando anterior.&lt;br /&gt;&lt;br /&gt;3; Editar el archivo slapd.conf:&lt;br /&gt;&lt;br /&gt;Ahora necesitamos ahora si editar el archivo de configuracion del servidor  ldap, su nombre es slapd.conf, se localiza en /usr/local/etc/openldap/, quedaria como sigue:&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# See slapd.conf(5) for details on configuration options.&lt;br /&gt;# This file should NOT be world readable.&lt;br /&gt;#&lt;br /&gt;include         /usr/local/etc/openldap/schema/core.schema&lt;br /&gt;include         /usr/local/etc/openldap/schema/cosine.schema&lt;br /&gt;include         /usr/local/etc/openldap/schema/inetorgperson.schema&lt;br /&gt;include         /usr/local/etc/openldap/schema/misc.schema&lt;br /&gt;include         /usr/local/etc/openldap/schema/nis.schema&lt;br /&gt;include         /usr/local/etc/openldap/schema/openldap.schema&lt;br /&gt;include         /usr/local/etc/openldap/schema/samba.schema&lt;br /&gt;&lt;br /&gt;# Define global ACLs to disable default read access.&lt;br /&gt;&lt;br /&gt;# Do not enable referrals until AFTER you have a working directory&lt;br /&gt;# service AND an understanding of referrals.&lt;br /&gt;#referral       ldap://root.openldap.org&lt;br /&gt;&lt;br /&gt;pidfile         /var/run/openldap/slapd.pid&lt;br /&gt;argsfile        /var/run/openldap/slapd.args&lt;br /&gt;&lt;br /&gt;# Load dynamic backend modules:&lt;br /&gt;modulepath      /usr/local/libexec/openldap&lt;br /&gt;moduleload      back_bdb&lt;br /&gt;#######################################################################&lt;br /&gt;# BDB database definitions&lt;br /&gt;#######################################################################&lt;br /&gt;&lt;br /&gt;database        bdb&lt;br /&gt;suffix          "dc=midominio,dc=dyndns,dc=org"&lt;br /&gt;rootdn          "cn=Manager,dc=midominio,dc=dyndns,dc=org"&lt;br /&gt;cachesize       100000&lt;br /&gt;&lt;br /&gt;# Cleartext passwords, especially for the rootdn, should&lt;br /&gt;# be avoid.  See slappasswd(8) and slapd.conf(5) for details.&lt;br /&gt;# Use of strong authentication encouraged.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;rootpw          {SSHA}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&lt;/span&gt;&lt;br /&gt;# The database directory MUST exist prior to running slapd AND&lt;br /&gt;# should only be accessible by the slapd and slap tools.&lt;br /&gt;# Mode 700 recommended.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;directory       /var/db/openldap-data/midominio&lt;/span&gt;&lt;br /&gt;# Indices to maintain&lt;br /&gt;index   objectClass     eq&lt;br /&gt;index   cn              pres,sub,eq&lt;br /&gt;index   sn              pres,sub,eq&lt;br /&gt;index   uid             pres,sub,eq&lt;br /&gt;index   displayName     pres,sub,eq&lt;br /&gt;index   uidNumber               eq&lt;br /&gt;index   gidNumber               eq&lt;br /&gt;index   memberUID               eq&lt;br /&gt;index   sambaSID                eq&lt;br /&gt;index   sambaPrimaryGroupSID    eq&lt;br /&gt;index   sambaDomainName         eq&lt;br /&gt;index   default                 sub&lt;br /&gt;&lt;br /&gt;loglevel                256&lt;br /&gt;&lt;br /&gt;Recordar el password del archivo midominio.ldif debe ser el mismo.&lt;br /&gt;&lt;br /&gt;A) Yo estoy usando el folder midominio en la ruta indicada, asi que como no existe lo creo.&lt;br /&gt;&lt;br /&gt;B) Muchos esquemas o "schemas" no estan con ldap asi que tenemos que buscarlos y copiarlos a el folder: .../openldap/schemas/ ejemplo:&lt;br /&gt;&lt;br /&gt;include         /usr/local/etc/openldap/schema/core.schema&lt;br /&gt;include         /usr/local/etc/openldap/schema/cosine.schema&lt;br /&gt;include         /usr/local/etc/openldap/schema/inetorgperson.schema&lt;br /&gt;include         /usr/local/etc/openldap/schema/misc.schema&lt;br /&gt;include         /usr/local/etc/openldap/schema/nis.schema&lt;br /&gt;include         /usr/local/etc/openldap/schema/openldap.schema&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;include         /usr/local/etc/openldap/schema/samba.schema&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;cp /usr/local/share/examples/samba/LDAP/samba.schema /usr/local/etc/openldap/schema/&lt;br /&gt;&lt;br /&gt;C) Copear el archivo DB_CONFIG.example a donde Ldap va a almacenar su informacion:&lt;br /&gt;&lt;br /&gt;cp /usr/local/etc/openldap/DB_CONFIG.example  /var/db/openldap-data/pipi/DB_CONFIG&lt;br /&gt;&lt;br /&gt;D) Cambiar los permisos del folder padre y sus subdirectorios, el usuario ldap y el mismo grupo deben ser los propietarios de esos directorios:&lt;br /&gt;&lt;br /&gt;chown -R ldap:ldap /var/db/openldap-data/&lt;br /&gt;&lt;br /&gt;E) Agregar el servicio para que arranque al iniciar el servidor:&lt;br /&gt;&lt;br /&gt;slapd_enable="YES"&lt;br /&gt;slapd_flags='-h "ldapi://%2fvar%2frun%2fopenldap%2fldapi/ ldap://0.0.0.0/"'&lt;br /&gt;slapd_sockets="/var/run/openldap/ldapi"&lt;br /&gt;&lt;br /&gt;F) Iniciamos el servicio:&lt;br /&gt;&lt;br /&gt;/usr/local/etc/rc.d/slapd start&lt;br /&gt;Starting slapd.&lt;br /&gt;&lt;br /&gt;G) Verificamos que haya arrancado:&lt;br /&gt;&lt;br /&gt;sockstat -4&lt;br /&gt;USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ldap     slapd      23384 7  tcp4   192.168.49.2:389      *:*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;H) De otro cliente probamos nos responda via telnet:&lt;br /&gt;&lt;br /&gt;telnet 192.168.49.2 389&lt;br /&gt;Trying 192.168.49.2...&lt;br /&gt;Connected to 192.168.49.2.&lt;br /&gt;Escape character is '^]'.&lt;br /&gt;&lt;br /&gt;Listo.&lt;br /&gt;&lt;br /&gt;I) Apagamos el servicio.&lt;br /&gt;&lt;br /&gt;/usr/local/etc/rc.d/slapd stop&lt;br /&gt;Stopping slapd.&lt;br /&gt;Waiting for PIDS: 23384.&lt;br /&gt;&lt;br /&gt;J) Agregamos el log a el syslog:&lt;br /&gt;&lt;br /&gt;!slapd&lt;br /&gt;*.*                                             /var/log/slapd.log&lt;br /&gt;&lt;br /&gt;Debemos crear este archivo.&lt;br /&gt;touch /var/log/slapd.log&lt;br /&gt;&lt;br /&gt;Debemos reiniciar syslog para que levante los cambios.&lt;br /&gt;Debemos reiniciar slapd y ya debe estar logeando a ese archivo.&lt;br /&gt;&lt;br /&gt;cat slapd.log&lt;br /&gt;Apr 22 23:56:18 host slapd[23535]: @(#) $OpenLDAP: slapd 2.4.21 (Apr 21 2010 22:09:47) $        root@host.midomnio.dyndns.org:/usr/ports/net/openldap24-server/work/openldap-2.4.21/servers/slapd&lt;br /&gt;Apr 22 23:56:18 mail slapd[23536]: slapd starting&lt;br /&gt;&lt;br /&gt;Hasta aqui el servidor esta listo para poder ahora si crear nuestra estructura.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;Creando el dominio.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;Apagamos el servicio de ldap, ahora lo que sigue es muy simple, como en mi caso estoy almacenando la BD de ldap en /var/db/openldap-data/pipi/, todo ese contenido lo voy a borrar para poder ahora crear mi dominio.&lt;br /&gt;&lt;br /&gt;cd /var/db/openldap-data/midominio/&lt;br /&gt;mail# rm -rf ./*&lt;br /&gt;&lt;br /&gt;De nuevo tenemos que hacer lo del paso &lt;span style="font-weight: bold;"&gt;C)&lt;/span&gt;. Ahora vamos a darle a LDAP nuestro archivo de texto con extension ldif para que forme nuestro dominio.&lt;br /&gt;&lt;br /&gt;slapadd -v -l /usr/local/etc/openldap/pipi.ldif&lt;br /&gt;added: "dc=midominio,dc=dyndns,dc=org" (00000001)&lt;br /&gt;added: "cn=Manager,dc=midominio,dc=dyndns,dc=org" (00000002)&lt;br /&gt;added: "ou=Users,dc=midominio,dc=dyndns,dc=org" (00000003)&lt;br /&gt;added: "ou=Groups,dc=midominio,dc=dyndns,dc=org" (00000004)&lt;br /&gt;added: "ou=Computers,dc=midominio,dc=dyndns,dc=org" (00000005)&lt;br /&gt;added: "ou=Idmap,dc=midominio,dc=dyndns,dc=org" (00000006)&lt;br /&gt;_#################### 100.00% eta   none elapsed            none fast!&lt;br /&gt;Closing DB...&lt;br /&gt;&lt;br /&gt;Ahora repetir paso D).&lt;br /&gt;&lt;br /&gt;Dejo el servicio apagado.&lt;br /&gt;&lt;br /&gt;Ahora si, lo que sigue es trabajar con samba.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;Samba&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;Tenemos nuestro servicio LDAP operando, ahora entra samba, tiene que ser configurado para que LDAP sea quien le proporcione informacion de los usuarios, maquinas, grupos, etc.&lt;br /&gt;&lt;br /&gt;Para esto necesitamos configurar samba y proporcionarle la informacion necesaria para poder comunicarse con LDAP, para ello vamos a usar la siguiente configuración.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;Encontramos el archivo en: /usr/local/etc/&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;smb.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;# Global parameters&lt;br /&gt;[global]&lt;br /&gt;workgroup = PIPI&lt;br /&gt;server string = Samba Server&lt;br /&gt;netbios name = SMBPDC&lt;br /&gt;hosts allow = 192.168.49. 127.&lt;br /&gt;interfaces = xl0&lt;br /&gt;bind interfaces only = Yes&lt;br /&gt;&lt;br /&gt;# passwd backend&lt;br /&gt;encrypt passwords = yes&lt;br /&gt;passdb backend   = ldapsam:ldap://192.168.49.2/&lt;br /&gt;enable privileges = yes&lt;br /&gt;pam password change= Yes&lt;br /&gt;passwd program = /usr/bin/passwd %u&lt;br /&gt;passwd chat = *New*UNIX*password* %nn *ReType*new*UNIX*password* %nn * passwd:*all*authentication*tokens*updated*successfully*&lt;br /&gt;unix password sync = Yes&lt;br /&gt;&lt;br /&gt;# Log options&lt;br /&gt;log level = 1&lt;br /&gt;log file = /var/log/samba/%m.log&lt;br /&gt;max log size = 500&lt;br /&gt;syslog = 1&lt;br /&gt;&lt;br /&gt;# Name resolution&lt;br /&gt;name resolve order = wins hosts bcast&lt;br /&gt;&lt;br /&gt;# misc&lt;br /&gt;timeserver = No&lt;br /&gt;socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192&lt;br /&gt;use sendfile = yes&lt;br /&gt;veto files = /*.eml/*.nws/*.{*}/&lt;br /&gt;veto oplock files = /*.doc/*.xls/*.mdb/&lt;br /&gt;deadtime         = 120&lt;br /&gt;&lt;br /&gt;# Dos-Attribute&lt;br /&gt;map hidden = No&lt;br /&gt;map system = No&lt;br /&gt;map archive = No&lt;br /&gt;map read only = No&lt;br /&gt;store dos attributes = Yes&lt;br /&gt;&lt;br /&gt;# printers - configured to use CUPS and automatically load them&lt;br /&gt;load printers = No&lt;br /&gt;printcap name =&lt;br /&gt;printing =&lt;br /&gt;cups options =&lt;br /&gt;show add printer wizard = No&lt;br /&gt;&lt;br /&gt;# scripts invoked by samba&lt;br /&gt;add user script               = /usr/local/sbin/smbldap-useradd -m %u&lt;br /&gt;delete user script            = /usr/local/sbin/smbldap-userdel %u&lt;br /&gt;add group script              = /usr/local/sbin/smbldap-groupadd -p %g&lt;br /&gt;delete group script           = /usr/local/sbin/smbldap-groupdel %g&lt;br /&gt;add user to group script      = /usr/local/sbin/smbldap-groupmod -m %u %g&lt;br /&gt;delete user from group script = /usr/local/sbin/smbldap-groupmod -x %u %g&lt;br /&gt;set primary group script      = /usr/local/sbin/smbldap-usermod -g %g %u&lt;br /&gt;add machine script            = /usr/local/sbin/smbldap-useradd -w %m&lt;br /&gt;&lt;br /&gt;# LDAP-iConfiguration&lt;br /&gt;ldap delete dn                = Yes&lt;br /&gt;ldap ssl                      = off&lt;br /&gt;ldap passwd sync              = Yes&lt;br /&gt;ldap suffix                   = dc=midominio,dc=dyndns,dc=org&lt;br /&gt;ldap machine suffix           = ou=Computers&lt;br /&gt;ldap user suffix              = ou=Users&lt;br /&gt;ldap group suffix             = ou=Groups&lt;br /&gt;ldap idmap suffix             = ou=Idmap&lt;br /&gt;ldap admin dn                 = cn=Manager,dc=midominio,dc=dyndns,dc=org&lt;br /&gt;idmap backend                 = ldap:ldap://192.168.49.2&lt;br /&gt;idmap uid                     = 10000-20000&lt;br /&gt;idmap gid                     = 10000-20000&lt;br /&gt;&lt;br /&gt;# logon options&lt;br /&gt;logon script =&lt;br /&gt;logon path =&lt;br /&gt;logon path =&lt;br /&gt;logon home =&lt;br /&gt;logon drive =&lt;br /&gt;&lt;br /&gt;# setting up as domain controller&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;      username map = /home/samba/usermap&lt;/span&gt;&lt;br /&gt;preferred master = Yes&lt;br /&gt;wins support = Yes&lt;br /&gt;domain logons = Yes&lt;br /&gt;domain master = Yes&lt;br /&gt;local master = Yes&lt;br /&gt;os level = 64&lt;br /&gt;map acl inherit = Yes&lt;br /&gt;unix charset     = UTF8&lt;br /&gt;password level = 6&lt;br /&gt;&lt;br /&gt;#========== Share Definitions ==============================&lt;br /&gt;&lt;br /&gt;[netlogon]&lt;br /&gt;comment = Network Logon Service&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;      path = /home/samba/netlogon&lt;/span&gt;&lt;br /&gt;guest ok = yes&lt;br /&gt;locking = no&lt;br /&gt;&lt;br /&gt;[homes]&lt;br /&gt;comment = Home Directories&lt;br /&gt;valid users = %S&lt;br /&gt;read only = No&lt;br /&gt;browseable = No&lt;br /&gt;&lt;br /&gt;[Profiles]&lt;br /&gt;comment = Network Profiles Service&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;      path = /home/samba/profiles&lt;/span&gt;&lt;br /&gt;read only = No&lt;br /&gt;profile acls = yes&lt;br /&gt;hide files = /desktop.ini/ntuser.ini/NTUSER.*/&lt;br /&gt;profile acls = Yes&lt;br /&gt;&lt;br /&gt;Parte de esto esta basado en el tutorial de freebsd para samba con algunas modificaciones hechas por mi.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://forums.freebsd.org/showthread.php?t=770"&gt;FreeBSD-Samba&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Creamos los folders:&lt;br /&gt;&lt;br /&gt;/home&lt;br /&gt;/home/samba&lt;br /&gt;/home/samba/netlogon&lt;br /&gt;/home/samba/profiles&lt;br /&gt;&lt;br /&gt;Creamos el archivo usermap con esta informacion:&lt;br /&gt;&lt;br /&gt;# Unix_name = SMB_name1 SMB_name2 ...&lt;br /&gt;root = Manager administrator admin&lt;br /&gt;nobody = guest pcguest smbguest&lt;br /&gt;&lt;br /&gt;Si existen parametros que no entiendan de favor lean man smb.conf.&lt;br /&gt;&lt;br /&gt;Este servidor aparecera como &lt;span style="font-weight: bold;"&gt;SMBPDC&lt;/span&gt;, cuando lo veamos con samba o windows dominio MIDOMINIO.&lt;br /&gt;&lt;br /&gt;Probamos la configuracion de samba:&lt;br /&gt;&lt;br /&gt;testparm&lt;br /&gt;Load smb config files from /usr/local/etc/smb.conf&lt;br /&gt;Processing section "[netlogon]"&lt;br /&gt;Processing section "[homes]"&lt;br /&gt;Processing section "[Profiles]"&lt;br /&gt;Loaded services file OK.&lt;br /&gt;Server role: ROLE_DOMAIN_PDC&lt;br /&gt;Press enter to see a dump of your service definitions&lt;br /&gt;&lt;br /&gt;[global]&lt;br /&gt;unix charset = UTF8&lt;br /&gt;workgroup = PIPI&lt;br /&gt;netbios name = SMBPDC&lt;br /&gt;server string = Samba Server&lt;br /&gt;interfaces = xl0&lt;br /&gt;bind interfaces only = Yes&lt;br /&gt;passdb backend = ldapsam:ldap://192.168.49.2/&lt;br /&gt;pam password change = Yes&lt;br /&gt;passwd program = /usr/bin/passwd %u&lt;br /&gt;passwd chat = *New*UNIX*password* %nn *ReType*new*UNIX*password* %nn * passwd:*all*authentication*tokens*updated*successfully*&lt;br /&gt;username map = /home/samba/usermap&lt;br /&gt;password level = 6&lt;br /&gt;unix password sync = Yes&lt;br /&gt;log level = 1&lt;br /&gt;log file = /var/log/samba/%m.log&lt;br /&gt;max log size = 500&lt;br /&gt;name resolve order = wins hosts bcast&lt;br /&gt;deadtime = 120&lt;br /&gt;socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192&lt;br /&gt;load printers = No&lt;br /&gt;show add printer wizard = No&lt;br /&gt;add user script = /usr/local/sbin/smbldap-useradd -m %u&lt;br /&gt;delete user script = /usr/local/sbin/smbldap-userdel %u&lt;br /&gt;add group script = /usr/local/sbin/smbldap-groupadd -p %g&lt;br /&gt;delete group script = /usr/local/sbin/smbldap-groupdel %g&lt;br /&gt;add user to group script = /usr/local/sbin/smbldap-groupmod -m %u %g&lt;br /&gt;delete user from group script = /usr/local/sbin/smbldap-groupmod -x %u %g&lt;br /&gt;set primary group script = /usr/local/sbin/smbldap-usermod -g %g %u&lt;br /&gt;add machine script = /usr/local/sbin/smbldap-useradd -w %m&lt;br /&gt;logon path =&lt;br /&gt;logon home =&lt;br /&gt;domain logons = Yes&lt;br /&gt;os level = 64&lt;br /&gt;preferred master = Yes&lt;br /&gt;domain master = Yes&lt;br /&gt;wins support = Yes&lt;br /&gt;ldap admin dn = cn=Manager,dc=midominio,dc=dyndns,dc=org&lt;br /&gt;ldap delete dn = Yes&lt;br /&gt;ldap group suffix = ou=Groups&lt;br /&gt;ldap idmap suffix = ou=Idmap&lt;br /&gt;ldap machine suffix = ou=Computers&lt;br /&gt;ldap passwd sync = Yes&lt;br /&gt;ldap suffix = dc=midominio,dc=dyndns,dc=org&lt;br /&gt;ldap user suffix = ou=Users&lt;br /&gt;idmap backend = ldap:ldap://192.168.49.2&lt;br /&gt;idmap uid = 10000-20000&lt;br /&gt;idmap gid = 10000-20000&lt;br /&gt;hosts allow = 192.168.49., 127.&lt;br /&gt;map acl inherit = Yes&lt;br /&gt;use sendfile = Yes&lt;br /&gt;veto files = /*.eml/*.nws/*.{*}/&lt;br /&gt;veto oplock files = /*.doc/*.xls/*.mdb/&lt;br /&gt;map archive = No&lt;br /&gt;map readonly = no&lt;br /&gt;store dos attributes = Yes&lt;br /&gt;&lt;br /&gt;[netlogon]&lt;br /&gt;comment = Network Logon Service&lt;br /&gt;path = /home/samba/netlogon&lt;br /&gt;guest ok = Yes&lt;br /&gt;locking = No&lt;br /&gt;&lt;br /&gt;[homes]&lt;br /&gt;comment = Home Directories&lt;br /&gt;valid users = %S&lt;br /&gt;read only = No&lt;br /&gt;browseable = No&lt;br /&gt;&lt;br /&gt;[Profiles]&lt;br /&gt;comment = Network Profiles Service&lt;br /&gt;path = /home/samba/profiles&lt;br /&gt;read only = No&lt;br /&gt;profile acls = Yes&lt;br /&gt;hide files = /desktop.ini/ntuser.ini/NTUSER.*/&lt;br /&gt;&lt;br /&gt;Correcto no marco errores de ortografia o sintaxis.&lt;br /&gt;&lt;br /&gt;Sigue darle a samba el password del administrator de ldap, por que tiene  que presentarlo cuando accese informacion de LDAP.&lt;br /&gt;&lt;br /&gt;Ejecutamos lo siguiente:&lt;br /&gt;&lt;br /&gt;smbpasswd -W&lt;br /&gt;Setting stored password for "cn=Manager,dc=midominio,dc=dyndns,dc=org" in secrets.tdb&lt;br /&gt;New SMB password:&lt;br /&gt;Retype new SMB password:&lt;br /&gt;&lt;br /&gt;Este password es el mismo que usaron cuando estabamos configurando a LDAP.&lt;br /&gt;&lt;br /&gt;El archivo es creado en /usr/local/etc/samba/:&lt;br /&gt;&lt;br /&gt;ll&lt;br /&gt;total 8&lt;br /&gt;-rw-------  1 root  wheel  8192 Apr 24 13:38 secrets.tdb&lt;br /&gt;-rw-r--r--  1 root  wheel     0 Apr 23 14:15 smbpasswd&lt;br /&gt;&lt;br /&gt;Bien ahora vamos a decirle a FreeBSD que arranque el servicio cada que el servidor reinicie:&lt;br /&gt;&lt;br /&gt;Abrimo rc.conf y agregamos esto a el final:&lt;br /&gt;&lt;br /&gt;#####################Samba#########################&lt;br /&gt;nmbd_enable="YES"&lt;br /&gt;smbd_enable="YES"&lt;br /&gt;winbindd_enable="YES"&lt;br /&gt;&lt;br /&gt;Reiniciamos el servicio y vemos si todo salio como debiera, debemos empezar por LDAP:&lt;br /&gt;&lt;br /&gt;/usr/local/etc/rc.d/slapd start&lt;br /&gt;Starting slapd.&lt;br /&gt;&lt;br /&gt;Ahora si samba:&lt;br /&gt;&lt;br /&gt;/usr/local/etc/rc.d/samba start&lt;br /&gt;Removing stale Samba tdb files: ...... done&lt;br /&gt;Starting nmbd.&lt;br /&gt;Starting smbd.&lt;br /&gt;Starting winbindd.&lt;br /&gt;&lt;br /&gt;Checamos el status:&lt;br /&gt;&lt;br /&gt;/usr/local/etc/rc.d/samba status&lt;br /&gt;nmbd is running as pid 57468.&lt;br /&gt;smbd is running as pid 57475.&lt;br /&gt;winbindd is running as pid 57481.&lt;br /&gt;&lt;br /&gt;Parece que todo esta funcionando sin problemas, vamos a revisar que los puertos esten escuchando:&lt;br /&gt;&lt;br /&gt;sockstat -4&lt;br /&gt;USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;root     smbd       57485 9  tcp4   192.168.49.2:47739    192.168.49.2:389&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;root     winbindd   57483 21 tcp4   192.168.49.2:61499    192.168.49.2:389&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;root     winbindd   57483 22 tcp4   192.168.49.2:12092    192.168.49.2:389&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;root     winbindd   57483 23 tcp4   192.168.49.2:17436    192.168.49.2:389&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;root     smbd       57475 9  tcp4   192.168.49.2:47739    192.168.49.2:389&lt;/span&gt;&lt;br /&gt;root     nmbd       57468 9  udp4   192.168.49.2:137      *:*&lt;br /&gt;root     nmbd       57468 10 udp4   192.168.49.2:138      *:*&lt;br /&gt;ldap     slapd      23844 7  tcp4   192.168.49.2:389      *:*&lt;br /&gt;ldap     slapd      23844 11 tcp4   192.168.49.2:389      192.168.49.2:47739&lt;br /&gt;ldap     slapd      23844 16 tcp4   192.168.49.2:389      192.168.49.2:61499&lt;br /&gt;ldap     slapd      23844 19 tcp4   192.168.49.2:389      192.168.49.2:12092&lt;br /&gt;ldap     slapd      23844 20 tcp4   192.168.49.2:389      192.168.49.2:17436&lt;br /&gt;&lt;br /&gt;Los que estan bold nos indica que samba+winbind estan comunicados con LDAP, parace que todo ha salido sin problemas.&lt;br /&gt;&lt;br /&gt;Hasta aqui hemos configurado samba para que pueda comunicarse con LDAP, lo que sigue configurar smbldap-tools que son la interface que nos va a ayudar a crear, usuarios, grupos, modificar parametros de grupo, usuarios, etc.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;smbldap-tools&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;Bien smbldap-tools se instala en: /usr/local/etc/smbldap-tools.&lt;br /&gt;&lt;br /&gt;Ahi dentro tenemos los siguientes archivos:&lt;br /&gt;&lt;br /&gt;-r--r--r--  1 root  wheel  7944 Apr 21 22:59 smbldap.conf&lt;br /&gt;-r--r--r--  1 root  wheel  7944 Apr 21 22:59 smbldap.conf.sample&lt;br /&gt;-r--r--r--  1 root  wheel   433 Apr 21 22:59 smbldap_bind.conf&lt;br /&gt;-r--r--r--  1 root  wheel   433 Apr 21 22:59 smbldap_bind.conf.sample&lt;br /&gt;&lt;br /&gt;smbldap.conf contiene la configuracion de nuestro dominio.&lt;br /&gt;smbldap_bind.conf los parametros para accesar LDAP.&lt;br /&gt;&lt;br /&gt;Vamos empezando por smbldap.conf, esta nos quedaria asi:&lt;br /&gt;&lt;br /&gt;Existe una informacion que smbldap necesita de nuestro servidor, la cual se en el mundo Windows se llama el "SID", cada dominio tiene una, para obtenerla de nuestro dominio debemos ejecutar el siguiente comando:&lt;br /&gt;&lt;br /&gt;net getlocalsid&lt;br /&gt;[2010/04/25 21:21:45, 0] lib/interface.c:load_interfaces(229)&lt;br /&gt;WARNING: no network interfaces found&lt;br /&gt;SID for domain SMBPDC is: S-1-5-21-WWWWWWWW-XXXXXXXXXX-YYYYYYYYYY&lt;br /&gt;&lt;br /&gt;Les quiero aclarar algo, esta informacion a veces tarda en salir, por alguna razon LDAP tarda en proporcionarla, les dice que no puede contactar el dominio, etc.&lt;br /&gt;&lt;br /&gt;No se desesperen, a veces necesitamos esperar un poco 15-20 minutos, y decirle el nombre del dominio como:&lt;br /&gt;&lt;br /&gt;net getlocalsid MIDOMINIO&lt;br /&gt;[2010/04/25 21:24:13, 0] lib/interface.c:load_interfaces(229)&lt;br /&gt;WARNING: no network interfaces found&lt;br /&gt;SID for domain MIDOMINIO is: S-1-5-21-WWWWWWWW-XXXXXXXXXX-YYYYYYYYYY&lt;br /&gt;&lt;br /&gt;El programa smbldap-tools es una serie de scripts diseñados para poder comunicarse con LDAP y hacernos la vida mas facil, tenemos 2 maneras de configurarlo:&lt;br /&gt;&lt;br /&gt;1) Automaticamente:&lt;br /&gt;Aqui necesitamos ejecutar el siguiente comando:&lt;br /&gt;&lt;br /&gt;/usr/local/share/examples/smbldap-tools/configure.pl&lt;br /&gt;&lt;br /&gt;Aqui nos va a empezar a hacer preguntas que debemos conocer, por default algunas si tenemos que proporcionarselas, el trata de obtener el SID, si no lo tiene no podra operar correctamente, ejecutenlo si asi lo desean&lt;br /&gt;&lt;br /&gt;2) Manual: Cuando sabemos la informacion que debemos proporcionarle a smbldap-tools, podremos editar ambos archivos, al final el comando anterior es lo que hace.&lt;br /&gt;&lt;br /&gt;Yo me voy por el lado manual, y mi archivo queda asi:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;smbldap.conf&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;##############################################################################&lt;br /&gt;#&lt;br /&gt;# General Configuration&lt;br /&gt;#&lt;br /&gt;##############################################################################&lt;br /&gt;&lt;br /&gt;# Put your own SID. To obtain this number do: "net getlocalsid".&lt;br /&gt;# If not defined, parameter is taking from "net getlocalsid" return&lt;br /&gt;SID="S-1-5-21-WWWWWWWW-XXXXXXXXXX-YYYYYYYYYY"&lt;br /&gt;# Domain name the Samba server is in charged.&lt;br /&gt;# If not defined, parameter is taking from smb.conf configuration file&lt;br /&gt;# Ex: sambaDomain="IDEALX-NT"&lt;br /&gt;sambaDomain="MIDOMINIO"&lt;br /&gt;&lt;br /&gt;##############################################################################&lt;br /&gt;#&lt;br /&gt;# LDAP Configuration&lt;br /&gt;#&lt;br /&gt;##############################################################################&lt;br /&gt;&lt;br /&gt;# Notes: to use to dual ldap servers backend for Samba, you must patch&lt;br /&gt;# Samba with the dual-head patch from IDEALX. If not using this patch&lt;br /&gt;# just use the same server for slaveLDAP and masterLDAP.&lt;br /&gt;# Those two servers declarations can also be used when you have&lt;br /&gt;# . one master LDAP server where all writing operations must be done&lt;br /&gt;# . one slave LDAP server where all reading operations must be done&lt;br /&gt;#   (typically a replication directory)&lt;br /&gt;&lt;br /&gt;# Slave LDAP server&lt;br /&gt;# Ex: slaveLDAP=127.0.0.1&lt;br /&gt;# If not defined, parameter is set to "127.0.0.1"&lt;br /&gt;slaveLDAP="192.168.49.2"&lt;br /&gt;&lt;br /&gt;# Slave LDAP port&lt;br /&gt;# If not defined, parameter is set to "389"&lt;br /&gt;slavePort="389"&lt;br /&gt;&lt;br /&gt;# Master LDAP server: needed for write operations&lt;br /&gt;# Ex: masterLDAP=127.0.0.1&lt;br /&gt;# If not defined, parameter is set to "127.0.0.1"&lt;br /&gt;masterLDAP="192.168.49.2"&lt;br /&gt;&lt;br /&gt;# Master LDAP port&lt;br /&gt;# If not defined, parameter is set to "389"&lt;br /&gt;#masterPort="389"&lt;br /&gt;masterPort="389"&lt;br /&gt;&lt;br /&gt;# Use TLS for LDAP&lt;br /&gt;# If set to 1, this option will use start_tls for connection&lt;br /&gt;# (you should also used the port 389)&lt;br /&gt;# If not defined, parameter is set to "0"&lt;br /&gt;ldapTLS="0"&lt;br /&gt;&lt;br /&gt;# Use SSL for LDAP&lt;br /&gt;# If set to 1, this option will use SSL for connection&lt;br /&gt;# (standard port for ldaps is 636)&lt;br /&gt;# If not defined, parameter is set to "0"&lt;br /&gt;ldapSSL="0"&lt;br /&gt;&lt;br /&gt;# How to verify the server's certificate (none, optional or require)&lt;br /&gt;# see "man Net::LDAP" in start_tls section for more details&lt;br /&gt;verify="require"&lt;br /&gt;&lt;br /&gt;# CA certificate&lt;br /&gt;# see "man Net::LDAP" in start_tls section for more details&lt;br /&gt;cafile="/etc/smbldap-tools/ca.pem"&lt;br /&gt;&lt;br /&gt;# certificate to use to connect to the ldap server&lt;br /&gt;# see "man Net::LDAP" in start_tls section for more details&lt;br /&gt;clientcert="/etc/smbldap-tools/smbldap-tools.iallanis.info.pem"&lt;br /&gt;&lt;br /&gt;# key certificate to use to connect to the ldap server&lt;br /&gt;# see "man Net::LDAP" in start_tls section for more details&lt;br /&gt;clientkey="/etc/smbldap-tools/smbldap-tools.iallanis.info.key"&lt;br /&gt;&lt;br /&gt;# LDAP Suffix&lt;br /&gt;# Ex: suffix=dc=IDEALX,dc=ORG&lt;br /&gt;suffix="dc=midominio,dc=dyndns,dc=org"&lt;br /&gt;&lt;br /&gt;# Where are stored Users&lt;br /&gt;# Ex: usersdn="ou=Users,dc=IDEALX,dc=ORG"&lt;br /&gt;# Warning: if 'suffix' is not set here, you must set the full dn for usersdn&lt;br /&gt;usersdn="ou=Users,${suffix}"&lt;br /&gt;&lt;br /&gt;# Where are stored Computers&lt;br /&gt;# Ex: computersdn="ou=Computers,dc=IDEALX,dc=ORG"&lt;br /&gt;# Warning: if 'suffix' is not set here, you must set the full dn for computersdn&lt;br /&gt;computersdn="ou=Computers,${suffix}"&lt;br /&gt;# Where are stored Groups&lt;br /&gt;# Ex: groupsdn="ou=Groups,dc=IDEALX,dc=ORG"&lt;br /&gt;# Warning: if 'suffix' is not set here, you must set the full dn for groupsdn&lt;br /&gt;groupsdn="ou=Groups,${suffix}"&lt;br /&gt;&lt;br /&gt;# Where are stored Idmap entries (used if samba is a domain member server)&lt;br /&gt;# Ex: groupsdn="ou=Idmap,dc=IDEALX,dc=ORG"&lt;br /&gt;# Warning: if 'suffix' is not set here, you must set the full dn for idmapdn&lt;br /&gt;idmapdn="ou=Idmap,${suffix}"&lt;br /&gt;&lt;br /&gt;# Where to store next uidNumber and gidNumber available for new users and groups&lt;br /&gt;# If not defined, entries are stored in sambaDomainName object.&lt;br /&gt;# Ex: sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}"&lt;br /&gt;# Ex: sambaUnixIdPooldn="cn=NextFreeUnixId,${suffix}"&lt;br /&gt;sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}"&lt;br /&gt;&lt;br /&gt;# Default scope Used&lt;br /&gt;scope="sub"&lt;br /&gt;&lt;br /&gt;# Unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA, CLEARTEXT)&lt;br /&gt;hash_encrypt="SSHA"&lt;br /&gt;&lt;br /&gt;# if hash_encrypt is set to CRYPT, you may set a salt format.&lt;br /&gt;# default is "%s", but many systems will generate MD5 hashed&lt;br /&gt;# passwords if you use "$1$%.8s". This parameter is optional!&lt;br /&gt;crypt_salt_format="%s"&lt;br /&gt;&lt;br /&gt;##############################################################################&lt;br /&gt;#&lt;br /&gt;# Unix Accounts Configuration&lt;br /&gt;#&lt;br /&gt;##############################################################################&lt;br /&gt;&lt;br /&gt;# Login defs&lt;br /&gt;# Default Login Shell&lt;br /&gt;# Ex: userLoginShell="/bin/bash"&lt;br /&gt;userLoginShell="/sbin/nologin"&lt;br /&gt;&lt;br /&gt;# Home directory&lt;br /&gt;# Ex: userHome="/home/%U"&lt;br /&gt;userHome="/home/%U"&lt;br /&gt;&lt;br /&gt;# Default mode used for user homeDirectory&lt;br /&gt;userHomeDirectoryMode="700"&lt;br /&gt;# Gecos&lt;br /&gt;userGecos="System User"&lt;br /&gt;&lt;br /&gt;# Default User (POSIX and Samba) GID&lt;br /&gt;defaultUserGid="513"&lt;br /&gt;&lt;br /&gt;# Default Computer (Samba) GID&lt;br /&gt;defaultComputerGid="515"&lt;br /&gt;&lt;br /&gt;# Skel dir&lt;br /&gt;skeletonDir="/etc/skel"&lt;br /&gt;&lt;br /&gt;# Default password validation time (time in days) Comment the next line if&lt;br /&gt;# you don't want password to be enable for defaultMaxPasswordAge days (be&lt;br /&gt;# careful to the sambaPwdMustChange attribute's value)&lt;br /&gt;defaultMaxPasswordAge="10000"&lt;br /&gt;&lt;br /&gt;##############################################################################&lt;br /&gt;#&lt;br /&gt;# SAMBA Configuration&lt;br /&gt;#&lt;br /&gt;##############################################################################&lt;br /&gt;&lt;br /&gt;# The UNC path to home drives location (%U username substitution)&lt;br /&gt;# Just set it to a null string if you want to use the smb.conf 'logon home'&lt;br /&gt;# directive and/or disable roaming profiles&lt;br /&gt;# Ex: userSmbHome="\\PDC-SMB3\%U"&lt;br /&gt;userSmbHome="\\smbpdc\%U"&lt;br /&gt;&lt;br /&gt;# The UNC path to profiles locations (%U username substitution)&lt;br /&gt;# Just set it to a null string if you want to use the smb.conf 'logon path'&lt;br /&gt;# directive and/or disable roaming profiles&lt;br /&gt;# Ex: userProfile="\\PDC-SMB3\profiles\%U"&lt;br /&gt;userProfile="\\smbpdc\profiles\%U"&lt;br /&gt;&lt;br /&gt;# The default Home Drive Letter mapping&lt;br /&gt;# (will be automatically mapped at logon time if home directory exist)&lt;br /&gt;# Ex: userHomeDrive="H:"&lt;br /&gt;userHomeDrive="H:"&lt;br /&gt;&lt;br /&gt;# The default user netlogon script name (%U username substitution)&lt;br /&gt;# if not used, will be automatically username.cmd&lt;br /&gt;# make sure script file is edited under dos&lt;br /&gt;# Ex: userScript="startup.cmd" # make sure script file is edited under dos&lt;br /&gt;userScript=""&lt;br /&gt;# Domain appended to the users "mail"-attribute&lt;br /&gt;# when smbldap-useradd -M is used&lt;br /&gt;# Ex: mailDomain="idealx.com"&lt;br /&gt;mailDomain="midominio.dyndns.org"&lt;br /&gt;&lt;br /&gt;##############################################################################&lt;br /&gt;#&lt;br /&gt;# SMBLDAP-TOOLS Configuration (default are ok for a RedHat)&lt;br /&gt;#&lt;br /&gt;##############################################################################&lt;br /&gt;&lt;br /&gt;# Allows not to use smbpasswd (if with_smbpasswd == 0 in smbldap_conf.pm) but&lt;br /&gt;# prefer Crypt::SmbHash library&lt;br /&gt;with_smbpasswd="0"&lt;br /&gt;smbpasswd="/usr/bin/smbpasswd"&lt;br /&gt;&lt;br /&gt;# Allows not to use slappasswd (if with_slappasswd == 0 in smbldap_conf.pm)&lt;br /&gt;# but prefer Crypt:: libraries&lt;br /&gt;with_slappasswd="0"&lt;br /&gt;slappasswd="/usr/sbin/slappasswd"&lt;br /&gt;&lt;br /&gt;# comment out the following line to get rid of the default banner&lt;br /&gt;# no_banner="1"&lt;br /&gt;&lt;br /&gt;Ahora el que sigue:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;smbldap_bind.conf&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;############################&lt;br /&gt;# Credential Configuration #&lt;br /&gt;############################&lt;br /&gt;# Notes: you can specify two differents configuration if you use a&lt;br /&gt;# master ldap for writing access and a slave ldap server for reading access&lt;br /&gt;# By default, we will use the same DN (so it will work for standard Samba&lt;br /&gt;# release)&lt;br /&gt;slaveDN="cn=Manager,dc=midominio,dc=dyndns,dc=org"&lt;br /&gt;slavePw="LDAP-PASSWORD"&lt;br /&gt;masterDN="cn=Manager,dc=midominio,dc=dyndns,dc=org"&lt;br /&gt;masterPw="LDAP-PASSWORD"&lt;br /&gt;&lt;br /&gt;Bien lo que sigue es de los ultimos pasos, ya tenemos todo lo necesario para operar nuestro dominio, pero aun no falta hacer el ultimo paso el cual consiste en agregar la informacion necesaria que nos ayudara a emular un dominio tipo "Windows NT4". Para esto smbldap-tools instala unos scripts, solo necesitamos 1 de ellos, y es lo que sigue:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;smbldap-populate&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;smbldap-populate&lt;br /&gt;Populating LDAP directory for domain MIDOMINIO (S-1-5-21-WWWWWWWW-XXXXXXXXXX-YYYYYYYYYY)&lt;br /&gt;(using builtin directory structure)&lt;br /&gt;&lt;br /&gt;entry dc=midominio,dc=dyndns,dc=org already exist.&lt;br /&gt;entry ou=Users,midominio,dc=dyndns,dc=org already exist.&lt;br /&gt;entry ou=Groups,midominio,dc=dyndns,dc=org already exist.&lt;br /&gt;entry ou=Computers,midominio,dc=dyndns,dc=org already exist.&lt;br /&gt;entry ou=Idmap,midominio,dc=dyndns,dc=org already exist.&lt;br /&gt;adding new entry: uid=root,ou=Users,midominio,dc=dyndns,dc=org&lt;br /&gt;adding new entry: uid=nobody,ou=Users,midominio,dc=dyndns,dc=org&lt;br /&gt;adding new entry: cn=Domain Admins,ou=Groups,midominio,dc=dyndns,dc=org&lt;br /&gt;adding new entry: cn=Domain Users,ou=Groups,midominio,dc=dyndns,dc=org&lt;br /&gt;adding new entry: cn=Domain Guests,ou=Groups,midominio,dc=dyndns,dc=org&lt;br /&gt;adding new entry: cn=Domain Computers,ou=Groups,midominio,dc=dyndns,dc=org&lt;br /&gt;adding new entry: cn=Administrators,ou=Groups,midominio,dc=dyndns,dc=org&lt;br /&gt;adding new entry: cn=Account Operators,ou=Groups,midominio,dc=dyndns,dc=org&lt;br /&gt;adding new entry: cn=Print Operators,ou=Groups,midominio,dc=dyndns,dc=org&lt;br /&gt;adding new entry: cn=Backup Operators,ou=Groups,midominio,dc=dyndns,dc=org&lt;br /&gt;adding new entry: cn=Replicators,ou=Groups,midominio,dc=dyndns,dc=org&lt;br /&gt;entry sambaDomainName=MIDOMINIO,midominio,dc=dyndns,dc=org already exist. Updating it...&lt;br /&gt;&lt;br /&gt;Please provide a password for the domain root:&lt;br /&gt;Changing UNIX and samba passwords for root&lt;br /&gt;New password:&lt;br /&gt;Retype new password:&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;El password es mismo que hemos estado usando desde que iniciamos, ese es el que tiene que usar siempre que necesiten hacer con el administrador de LDAP.&lt;br /&gt;&lt;br /&gt;Bien, ya tenemos todo listo. Vamos probando.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;Probando&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;net groupmap list&lt;br /&gt;[2010/04/25 21:54:50, 0] lib/interface.c:load_interfaces(229)&lt;br /&gt;WARNING: no network interfaces found&lt;br /&gt;Administrators (S-1-5-32-544) -&gt; 10000&lt;br /&gt;Users (S-1-5-32-545) -&gt; 10001&lt;br /&gt;Domain Admins (S-1-5-21-WWWWWWWW-XXXXXXXXXX-YYYYYYYYYY) -&gt; 512&lt;br /&gt;Domain Users (S-1-5-21-WWWWWWWW-XXXXXXXXXX-YYYYYYYYYY) -&gt; 513&lt;br /&gt;Domain Guests (S-1-5-21-WWWWWWWW-XXXXXXXXXX-YYYYYYYYYY) -&gt; 514&lt;br /&gt;Domain Computers (S-1-5-21-WWWWWWWW-XXXXXXXXXX-YYYYYYYYYY) -&gt; 515&lt;br /&gt;Administrators (S-1-5-32-544) -&gt; 544&lt;br /&gt;Account Operators (S-1-5-32-548) -&gt; 548&lt;br /&gt;Print Operators (S-1-5-32-550) -&gt; 550&lt;br /&gt;Backup Operators (S-1-5-32-551) -&gt; 551&lt;br /&gt;Replicators (S-1-5-32-552) -&gt; 552&lt;br /&gt;&lt;br /&gt;Bien ahi tenemos los grupos creados, vamos viendo el comando pdbedit.&lt;br /&gt;&lt;br /&gt;pdbedit -Lv root&lt;br /&gt;Unix username:        root&lt;br /&gt;NT username:          root&lt;br /&gt;Account Flags:        [U          ]&lt;br /&gt;User SID:             S-1-5-21-WWWWWWWW-XXXXXXXXXX-YYYYYYYYYY&lt;br /&gt;Primary Group SID:    S-1-5-21-WWWWWWWW-XXXXXXXXXX-YYYYYYYYYY&lt;br /&gt;Full Name:            root&lt;br /&gt;Home Directory:       \\smbpdc\root&lt;br /&gt;HomeDir Drive:        H:&lt;br /&gt;Logon Script:&lt;br /&gt;Profile Path:         \\smbpdc\profiles\root&lt;br /&gt;Domain:               MIDOMINIO&lt;br /&gt;Account desc:&lt;br /&gt;Workstations:&lt;br /&gt;Munged dial:&lt;br /&gt;Logon time:           0&lt;br /&gt;Logoff time:          never&lt;br /&gt;Kickoff time:         never&lt;br /&gt;Password last set:    Sun, 25 Apr 2010 21:50:36 UTC&lt;br /&gt;Password can change:  Sun, 25 Apr 2010 21:50:36 UTC&lt;br /&gt;Password must change: never&lt;br /&gt;Last bad password   : 0&lt;br /&gt;Bad password count  : 0&lt;br /&gt;Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF&lt;br /&gt;&lt;br /&gt;Todo bien, ahora vamos probando smbldap-tools:&lt;br /&gt;&lt;br /&gt;smbldap-usershow root&lt;br /&gt;dn: uid=root,ou=Users,dc=midominio,dc=dyndns,dc=org&lt;br /&gt;cn: root&lt;br /&gt;sn: root&lt;br /&gt;objectClass: top,person,organizationalPerson,inetOrgPerson,sambaSamAccount,posixAccount,shadowAccount&lt;br /&gt;gidNumber: 0&lt;br /&gt;uid: root&lt;br /&gt;uidNumber: 0&lt;br /&gt;homeDirectory: /home/root&lt;br /&gt;sambaLogonTime: 0&lt;br /&gt;sambaLogoffTime: 2147483647&lt;br /&gt;sambaKickoffTime: 2147483647&lt;br /&gt;sambaPwdCanChange: 0&lt;br /&gt;sambaHomePath: \\smbpdc\root&lt;br /&gt;sambaHomeDrive: H:&lt;br /&gt;sambaProfilePath: \\smbpdc\profiles\root&lt;br /&gt;sambaPrimaryGroupSID: S-1-5-21-WWWWWWWW-XXXXXXXXXX-YYYYYYYYYY&lt;br /&gt;sambaSID: S-1-5-21-WWWWWWWW-XXXXXXXXXX-YYYYYYYYYY&lt;br /&gt;loginShell: /bin/false&lt;br /&gt;gecos: Netbios Domain Administrator&lt;br /&gt;sambaLMPassword: AS45DSA4D65AS4D654ASD654AS6D54ASD&lt;br /&gt;sambaAcctFlags: [U]&lt;br /&gt;sambaNTPassword: 4AASD54AS5D4AS6D46A5SD465AS4D&lt;br /&gt;sambaPwdLastSet: 1272232236&lt;br /&gt;sambaPwdMustChange: 2136232236&lt;br /&gt;userPassword: {SSHA}A5SD4SA65D4SA65D46SA5D46SA5D4&lt;br /&gt;shadowLastChange: 14724&lt;br /&gt;shadowMax: 10000&lt;br /&gt;&lt;br /&gt;Parece que todo ha salido correctamente, vamos agregando 1 usuario:&lt;br /&gt;&lt;br /&gt;smbldap-useradd -a -m test1&lt;br /&gt;smbldap-passwd test1&
