viernes, 25 de octubre de 2013

Pfsense 2.x: squidGuard redirector warning.

Hola, bien este es un comentario para todos aquellos que tengan su pfsense con squid+squidGuard, cuando lo tengan ya operando, revisen el log de squid:

/var/squid/logs/cache.log

Ya que por default squidGuard tiene de fabrica abrir solo 5 hilos del redirector o sea el.

9573  ??  SN     0:02.30 (squidGuard) -c /usr/pbi/squidguard-squid3-i386/etc/squidGuard/squidGuard.conf (squidGuard)
 9712  ??  IN     0:00.42 (squidGuard) -c /usr/pbi/squidguard-squid3-i386/etc/squidGuard/squidGuard.conf (squidGuard)
 9935  ??  IN     0:00.31 (squidGuard) -c /usr/pbi/squidguard-squid3-i386/etc/squidGuard/squidGuard.conf (squidGuard)
10084  ??  IN     0:00.25 (squidGuard) -c /usr/pbi/squidguard-squid3-i386/etc/squidGuard/squidGuard.conf (squidGuard)
10110  ??  IN     0:00.22 (squidGuard) -c /usr/pbi/squidguard-squid3-i386/etc/squidGuard/squidGuard.conf (squidGuard)
10150  ??  IN     0:00.20 (squidGuard) -c /usr/pbi/squidguard-squid3-i386/etc/squidGuard/squidGuard.conf (squidGuard)

Entonces, esto esta bien uno solo en su casita, pero cuando ya estas hablando mas de 1 usuario ahi viene lo interesante, te hablan que esta lento, que si funciona pero lento o que no hay servicio, llegas y se cayo.

Un log que debemos siempre buscar y a lo mejor ya ajustado no lo vamos a ver por mucho tiempo es este:

2013/10/25 09:44:24| WARNING: All redirector processes are busy.
2013/10/25 09:44:24| Consider increasing the number of redirector processes in your config file.

El mismo dice que el servicio esta ocupado, que debemos incrementar la cantidad, uno puede entrar a la config de squid en la pestaña: General.

En la parte de abajo esta configurado la parte donde squid envia el trabajo a squidGuard y mas o menos asi esta:

redirect_program /usr/pbi/squidguard-squid3-i386/bin/squidGuard -c /usr/pbi/squidguard-squid3-i386/etc/squidGuard/squidGuard.conf;redirector_bypass off;url_rewrite_children 5

Podemos ajustar ahi, pero pasa algo, este parametro viene de las configuraciones de fabrica de pfsense, si reiniciamos el servidor, esta parte se pierde y coloca por default la que tiene en:

/usr/local/pkg/squidguard_configurator.inc

Busquen la linea:

define('REDIRECTOR_PROCESS_COUNT', '5'); # redirector processes count will started

Ahi es donde se debe cambiar si desean que se mantenga en cada reinicio y este valor es el que se colocara en la configuracion de squid.

Les recomiendo que lo incrementen de 5 en 5, por que?

Si se dan cuenta, cada uno de ellos consume memoria, entonces, si dicen, vamos a ponerle 100 para no estar batallandole,estamos mal, vean lo siquiente:


Dice que estamos utilizando cerca de 67MB x cada uno de ellos, entonces nomas recuerden que nunca debemos usar la memoria virtual, aqui aun no hemos llegado a eso pero debemos estar al pendiente de monitorear este log, este tipo de sistemas no son de ponerlos 1dia y olvidarse de ellos, debemos estar minimo 2 semanas revisando, siempre requieren ajuste hasta dejarlo como filo de bisturo, a lo mejor hasta memoria vamos a requerir, aun no sabemos.

Estos ejemplos son de un equipo corriendo pfsense 2.1 i386 1GB RAM, cache de squid deshabilitado.

Nos vemos pronto,Saludos.

miércoles, 2 de octubre de 2013

Pfsense 2: Habilitando squid 2.x cachemgr.

Hola, hace tiempo que no escribo nada, tengo muchas cosas en la cabeza, pero aqui me estoy dando un tiempo para hacer esto, creo que es momento de hacer un libro de pfsense+squid+squidguard...

Muchos que manejamos squid, siempre estamos buscando como obtener datos de la operacion dia a dia de nuestro proxy, existen varios programas que nos ayuda, pero algo importante es que el mismo squid, trae ya una utileria via web que podemos consultar para tocarle el pulso y ver como anda operando.

Trae tanta informacion que hasta el momento no he encontrado tanta informacion sobre sus partes mas internas en otra utileria libre.

Pero antes de esto vamos aclarando que eso lo encontre en el foro gabacho de pfsense, y esta basado en squid 2.7.x, no importa si es pfsense 2.0.x o ya la rama nueva, funciona.

Aclarando esto, es momento de explicar que vamos a editar el archivo fuente de pfsense para hechar a volar squid, este se localiza en:

/usr/local/pkg/squid/squid.inc

Antes de hacer un respaldo para cualquier problema que se les presente puedan retornarlo a su estado original.

cp squid.inc backup-squid.inc

Otra cosa estos son mis datos:

Mi Pfsense tiene el IP: 192.168.2.4 Puerto 249 https
Se llama gw.midominio.org

Abrimos el archivo squid.inc y buscamos esta linea:

acl localhost src 127.0.0.1/255.255.255.255

Le pones comentario y la dejamos asi, ajusten a sus parametros:

#acl localhost src 127.0.0.1/255.255.255.255
acl localhost src 192.168.2.4/255.255.255.255
cachemgr_passwd disable offline_toggle reconfigure shutdown
cachemgr_passwd none all

Salvan.

De ahi sigue editar el archivo cachemgr.conf localizado en donde se instala squid:

/usr/local/etc/squid/

Lo abro y lo dejo asi al final:

#localhost
gw

Salvan.

De aqui sigue el ultimo paso, creamos un enlace hacia el folder root the el webserver de pfsense.

cd /usr/local/www

ln -s /usr/local/libexec/squid/cachemgr.cgi  cachemgr.cgi 

Ya con esto, se van a su navegador y ponen la direccion de su pfsense asi como esta la figura-1, excepto que yo lo tengo apuntando a el puerto https 249, a lo mejor ustedes lo tienen de fabrica 80, 443, ahi ustedes hagan sus ajustes.

Figura 1: Pantalla de inicio



Navegen en todas sus opciones, ahi tenemos tantos datos por analizar, agarren su google y a empezar a buscar mas informacion.

Espero les sirva, saludos.

martes, 16 de abril de 2013

Pfsense 2.0.3 liberada!!!

  Esta semana aparecio la actualizacion de la rama 2.0, que es la 3, trae principalmente parches de bugs importantes de seguridad, vamos empezar nuestro laboratorio para la migracion y ver que todo funcione.

  Mas info: http://blog.pfsense.org/?p=694

 Saludos!!!

martes, 5 de marzo de 2013

SQL Server 2008: Restaurar una base de datos Full+Diferencial.

A veces me da risa como las grandes compañias de software cobran tanto por su aplicacion, lees la documentacion tecnica y sigues paso a paso el manual, te muestran las opciones, estoy refiriendome a SQL Server 2008 restauracion de la base de datos.

Como decia, te explican las opciones de restauracion pero hasta ahi, no se meten mas a una forma de: asi se debe hacer.

Por que digo esto? Hoy me llamo una persona del departamento de Import-Export, ellos estan ya en fase de implementar un software llamado "Intrade", corre bajo SQL Server, y yo instale el server, version 2008 Estandard.

Entonces me llamo por que alguien de su equipo acceso a la configuracion del sistema ya que aun no tienen dados de alta los usuarios y todos estan usando el mismo que nos dieron cuando se instalo la 1ra vez y es admin o sea como root en Linux.

Entonces esta persona modifica y afecta cierta funcionalidad del sistema, claro esta que para estas alturas, los de soporte de Intrade ya no lo haran gratis, tendra un costo y al final ellos me contactaran a mi ya que ellos no tienen la menor idea de los respaldos.

Yo si :-), cuando se implemento el sistema lo primero que hice fue configurar los respaldos y probarlos, aqui implemente lo que hago con Bacula, Lunes Full, el resto diferencial de martes a sabado.

Si necesitara restaurar la BD, es tomar el ultimo Full+el ultimo diferencial, pero aqui sucedio algo chistoso, la persona lo modifico ayer Lunes durante el dia, entonces mi respaldo Full de ayer no sirve ya que la BD esta mal, no tiene sentido hoy restaurar lo de ayer, asi que tuve que sacar el Full de la semana pasada mas el ultimo diferencial de ese Full que fue el sabado.

Bien ya todo entendido, hice mi procedimiento:

1; Respaldo de la BD actual por aquello del no te entumas.
2; Borrar BD que deseamos restaurar.
3; Restaurar BD en base a un Full correcto(Lunes semana pasada).
4; Restaurar BD en base a el ultimo diferencial del Full seleccionado(Sabado).
5; Listo.

Pero o sorpresa en paso 4, se supone que el manual dice, seleccionas el respaldo diferencial deseado y dale, pero cuando le daba click a el boton OK, salia un error que dice mas o menos asi:

The log or differential backup cannot be restored because no files are ready to rollforward.

Que paso, lei el manual detenidamente y no di en cual era el motivo del error, que habia hecho mal?

Bien, no me preocupe, me fui con nuestro aliado google y encontre un doc que ya tiene tiempo pero ahi explicaban lo que Microsoft con todo su equipo tenico y manuales bonitos no logro hacerlo, este es el link, no me gusta saludar con sombrero ajeno:

http://justgeeks.blogspot.mx/2009/03/log-or-differential-backup-cannot-be.html

Lo que dice en pocas palabra es que cuando restauremos el Full nos vayamos a las opciones y selecciones la que dice:

Leave the database non-operational, and do not roll back uncommitted transactions. Additional transaction logs can be restored.(RESTORE WITH NORECOVERY)
 
De ahi, ahora si restauremos la diferencial con las opciones por default y listo.

Segui el proceso con esas sugerencias y listo, ya no arrojo ese maldito error, no fue una empresa que vale billones de dolares y tienen de los mejores tecnicos en BD la que me ayudo y me explico de una manera clara y objetiva como hacerlo, fue alguien como yo que vive esto dia a dia y sabe que la doc de esa gran empresa es un fiasco cuando en realidad te enfrentas a los problemas reales.

Los de Import-Export revisaron y si estaba la BD en el estado adecuado.

Saludos!!!

domingo, 24 de febrero de 2013

Centos 5/6: Instalar Percona XtraBackup.

XtraBackup es un software que nos permite respaldar base de datos de MySQL del tipo Innodb sin necesidad de apagar el servicio y hacerlo manualmente, lo hace con la BD en operacion lo cual a nosotros los sysadm nos ayuda mucho.

Es gratuita pero ellos tambien tiene la version que comercializan por si alguien desea soporte profesional.

Existen para varias versiones de Linux segun sea su tipo de instalador, como sabran yo sigo con Centos, y estoy con la version 6 pero debe operar para la 5 sin problemas, Percona esta en este momento ofreciendo la version 2.0.5 asi que procedemos a bajarlo en formato rpm.

Lo instalamos:

rpm -i percona-xtrabackup-2.0.5-499.rhel6.x86_64.rpm

Algo que no han arreglado y en la doc no lo mencionan ya que  esta el reporte o bug, por que digo esto?

Bien si seguimos el doc de como respaldar, al momento de ejecutar sin ningun argumento el comando innobackupex les a salir este error:

innobackupex
Can't locate Time/HiRes.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/bin/innobackupex line 22.
BEGIN failed--compilation aborted at /usr/bin/innobackupex line 22.


No soy un guru pero como que entiendo que nos falta algo, alguna libreria, este software esta basado en Perl asi que googleando un poco, nos falta instalar esta libreria perl-Time-HiRes, asi que procedemos:

yum install perl-Time-HiRes

Ahora vamos ejecutando el commando de nuevo sin ningun parametro:

innobackupex
innobackupex: You must specify the backup directory.


Ya cambio el mensaje, esta listo para ser utilizando, que es el siguiente doc, saludos!!!

pmoreno arroba bajaopensolutions punto com

Centos: Como resetear el root password de MySQL 5?

Que pasa cuando se te olvida el password del root en MySQL 5.x? te sientes bien estupido, la gran ventaja es que este es un servidor que aun no entra en operacion asi que no pasa nada, si te sucede con uno de producción entonces si sientete estupido.

Esto debe funcionar tanto para Centos 5 como 6 en la version de MySQL 5.x, los pasos son sencillos:

1; Apagar el servicio si esta en operacion:

service mysqld stop
Stopping mysqld:                                           [  OK  ]

2; Iniciar el servicio con la opcion --skip-grant-tables.

/usr/bin/mysqld_safe --skip-grant-tables &
[1] 2965
[root@oerp61 mysql]# 130224 21:25:03 mysqld_safe Logging to '/var/log/mysqld.log'.
130224 21:25:03 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql


NOTA: Dale ENTER ya que a veces se queda colgado y no retorna la consola.

3; Entramos a la consola de MySQL:

mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.67 Source distribution

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>


4; Cambiamos el password con comandos SQL asi se va directo a el corazon de la BD:
NOTA: Pongan el password que ustedes decidan.


UPDATE mysql.user SET Password=PASSWORD('123456');
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0


mysql>

FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql>



5; Salimos.

 mysql>quit

6; Apagamos el servicio de nuevo:

service mysqld stop
130224 21:27:19 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
Stopping mysqld:                                           [  OK  ]
[1]+  Done                    /usr/bin/mysqld_safe --skip-grant-tables


7; Lo iniciamos.

service mysqld start
Starting mysqld:                                           [  OK  ]


8; Probamos el nuevo password asignado:

mysql -u root -p
Enter password: <== ingresamos nuevo password.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.67 Source distribution

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>


9; Listo a seguir trabajando y tatuarnos el password, saludos!!!

martes, 19 de febrero de 2013

Ubuntu 12: Configurar APC BackupUPS USB con apcupsd.

Necesito configurar mi desktop corriendo Ubuntu 12.x para que se apague cuando se nos va la luz, el modelo que me llego es el:

Backup UPS 550.

Viene con su cable para monitorear su alimentacion el cual de lado del equipo es una conector RJ45 y de lado de la computadora es un USB.

Conectado el cable a la pc es necesario confirmar que nuestra PC pueda ver ese equipo asi podremos estar seguros que esto va a funcionar:

2.692667] usbcore: registered new interface driver usb-storage
[   18.528092] usb 4-2: new low-speed USB device number 3 using ohci_hcd
[   18.959393] generic-usb 0003:051D:0002.0002: hiddev0,hidraw1: USB HID v1.10 Device [APC Back-UPS ES 550 FW:843.K2 .D USB FW:K2 ] on usb-0000:00:12.0-2/input0

Ahi lo tienen, viene hasta el modelo detectado.

Como mencione el software que vamos a usar es apcupsd su sitio como muchos sabran se localiza en:

http://www.apcupsd.com/

Asi que procedemos a la instalacion:

apt-get install apcupsd

Este nos trajo la version:

apcupsd  3.14.10-1  APC UPS Power Management (daemon)

Segun el manual la configuracion es muy sencilla:

 ## apcupsd.conf v1.1 ##
UPSCABLE usb
UPSTYPE usb
DEVICE
LOCKFILE /var/lock
UPSCLASS standalone


Abran su archivo de configuracion /etc/apcupsd/apcupsd.conf, busquen esos parametros y modifiquenlos tal cual dice el manual.

De ahi sigue pedirle a Ubuntu que habilite el servicio, para esto abran el archivo:

/etc/defaults/apcupsd

Y dejen este parametro asi:

ISCONFIGURED=yes

Salvan y salen.

Ya solo es cuestion de ver si gustan jugar con los parametros de cuando apagar la pila los que tienen a mi me han funcionado pero cada quien.

Ya con esto listo es cuestion de hechar a volar servicio:

service apcupsd start
Starting UPS power management: apcupsd.


La prueba de fuego, ejecuten este comando:

apcaccess

APC      : 001,034,0875
DATE     : 2013-02-19 10:06:21 -0800 
HOSTNAME : my-pc
VERSION  : 3.14.10 (13 September 2011) debian
UPSNAME  : BackupUPS 550
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2013-02-19 10:06:20 -0800 
MODEL    : Back-UPS ES 550
STATUS   : ONLINE
LINEV    : 123.0 Volts
LOADPCT  :  36.0 Percent Load Capacity
BCHARGE  : 100.0 Percent
TIMELEFT :  14.4 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 5 Minutes
MAXTIME  : 0 Seconds
SENSE    : Medium
LOTRANS  : 092.0 Volts
HITRANS  : 139.0 Volts
ALARMDEL : 30 seconds
BATTV    : 13.5 Volts
LASTXFER : No transfers since turnon
NUMXFERS : 0
TONBATT  : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
STATFLAG : 0x07000008 Status Flag
SERIALNO : 3B1044X16904 
BATTDATE : 2010-10-27
NOMINV   : 120 Volts
NOMBATTV :  12.0 Volts
FIRMWARE : 843.K2 .D USB FW:K2
END APC  : 2013-02-19 10:06:37 -0800


Vean el campo sombreado en BOLD, vamos hacer la prueba, quitemos la energia a ver que pasa:

Broadcast Message from root@my-pc                                          
        (somewhere) at 10:08 ...               
                               
                                                                              
Power failure on UPS BackupUPS 550. Running on batteries.

Ahora que nos dice el comando apcaccess:

APC      : 001,035,0924
DATE     : 2013-02-19 10:08:14 -0800 
HOSTNAME : my-pc
VERSION  : 3.14.10 (13 September 2011) debian
UPSNAME  : BackupUPS 550
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2013-02-19 10:06:20 -0800 
MODEL    : Back-UPS ES 550
STATUS   : ONBATT
LINEV    : 000.0 Volts
LOADPCT  :  27.0 Percent Load Capacity
BCHARGE  : 091.0 Percent
TIMELEFT :  15.0 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 5 Minutes
MAXTIME  : 0 Seconds
SENSE    : Medium
LOTRANS  : 092.0 Volts
HITRANS  : 139.0 Volts
ALARMDEL : 30 seconds
BATTV    : 11.9 Volts
LASTXFER : Unacceptable line voltage changes
NUMXFERS : 1
XONBATT  : 2013-02-19 10:08:04 -0800 
TONBATT  : 11 seconds
CUMONBATT: 11 seconds
XOFFBATT : N/A
STATFLAG : 0x07060010 Status Flag
SERIALNO : 3B1044X16904 
BATTDATE : 2010-10-27
NOMINV   : 120 Volts
NOMBATTV :  12.0 Volts
FIRMWARE : 843.K2 .D USB FW:K2
END APC  : 2013-02-19 10:08:15 -0800


Ya notaron que esta corriendo con la bateria, bien que pasa cuando regresa la energia?

Broadcast Message from root@my-pc
        (somewhere) at 10:08 ...                                              
                                                                              
Power has returned on UPS BackupUPS 550...


apcaccess
APC      : 001,035,0947
DATE     : 2013-02-19 10:10:40 -0800 
HOSTNAME : my-pc
VERSION  : 3.14.10 (13 September 2011) debian
UPSNAME  : BackupUPS 550
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2013-02-19 10:06:20 -0800 
MODEL    : Back-UPS ES 550
STATUS   : ONLINE
LINEV    : 123.0 Volts
LOADPCT  :  27.0 Percent Load Capacity
BCHARGE  : 074.0 Percent
TIMELEFT :  12.9 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 5 Minutes
MAXTIME  : 0 Seconds
SENSE    : Medium
LOTRANS  : 092.0 Volts
HITRANS  : 139.0 Volts
ALARMDEL : 30 seconds
BATTV    : 13.3 Volts
LASTXFER : Unacceptable line voltage changes
NUMXFERS : 1
XONBATT  : 2013-02-19 10:08:04 -0800 
TONBATT  : 0 seconds
CUMONBATT: 35 seconds
XOFFBATT : 2013-02-19 10:08:39 -0800 
STATFLAG : 0x07000008 Status Flag
SERIALNO : 3B1044X16904 
BATTDATE : 2010-10-27
NOMINV   : 120 Volts
NOMBATTV :  12.0 Volts
FIRMWARE : 843.K2 .D USB FW:K2
END APC  : 2013-02-19 10:10:54 -0800


Listo, todo operando ya solo es cuestion de que dejen que se drene la pila para que vean si su configuracion es la adecuada y en dado caso no sea asi hagan los ajustes.