tunel_1

Conectar a escritorio remoto (RDP) usando un Túnel SSH


En alguna ocasión me surgio la necesidad de conectarme a un servidor windows por Escritorio Remoto (RDP) para hacer unos diagnostico el problema estaba en que mi red no estaba enlazada con la red de mi cliente y no había una configuración de VPN que pudiera colocar para tener acceso, el unico contacto que tenía con su red era su servidor con Linux por SSH, así que busque el modo de aprovechar este enlace para poderme conectar a su servidor  con Windows y resulto ser más fácil de lo que imagine. Pondré aquí las instrucciones por en caso de que se me olvide y/o a alguien le sirva.

Para conectarse a un equipo con Windows mediante la herramienta Remote Desktop utilizando un túnel SSH requerimos lo siguiente:

  • Servidor Linux con SSH Server
  • Servidor Windows con Remote Desktop

Las instrucciones que colocare aquí están basadas en que mi equipo cliente es un Windows XP y la conexión al Servidor SSH será mediante el programa PuTTy.

Básicamente el potencial reside en la configuración del PuTTY es decir el cliente de SSH por lo que es aquí dónde hay que colocar la todas las configuraciones.

Asumiré que ya saben conectarse a un servidor SSH utilizando PuTTy y que conocen al menos lo básico de SSH, así comencemos

Una vez que hayan iniciado una sesión de SSH, tendrán una ventana como esta de aquí abajo,

tunel1

 

 

 

 

 

Para abrir la configuración deben hacer click en el icono superior izquierdo y elegir la opción change Settings

tunel2

 

 

 

 

 

Después ubican en la sección Connection –> SSH –>Tunnels y tendrán una pantalla similar a esta:

tunel4

 

 

 

 

 

 

 

Aquí es dónde colocarán los datos del túnel para tener comunicación con el Servidor Windows, la configuración es la siguiente:

Source Port : 9090

Destinatio: <IP Win Server>:3389    ejemplo: 172.16.25.61:3389

Colocan el punto en la etiqueta Local y en IPv4

Presionan botón Add, después Apply

Y listo la configuración ha finalizado ahora abren su cliente de Remote Desktop

inicio -> ejecutar ->escribir mstsc -> Aceptar

y colocan lo siguiente: localhost:9090 y presionan conectar, y listo les estará pidiendo las credenciales de Windows para el acceso

 

tunel5

 

 

 

 

 

Fácil y sencillo.

bueno es todo por el momento.

Saludos

 

WordPress-logo

WordPress Arreglando el problema Fatal error: Allowed memory size of 67108864/33554432 bytes exhausted

Cuando intentaba abrir la sección de entradas del wordpress este arrojaba una página en blanco y en otras ocasiones marcaba el siguiente error:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 7680 bytes)

Estuve experimentando este problema en mi WordPress desde hace un par de meses solo que por cuestión de trabajo y otros pendientes personales no había podido dedicarle tiempo a solucionarlo y apenas hoy me di ese tiempo y al parecer ya todo esta en orden y ahora dedicaré esta entrada a la solución que le di.

Primero que nada este error sucede por muchas razones y no es exclusivo de WordPress basicamente pasa cuando la página que se intenta cargar quiere consumir mas memoria de la que la configuración de PHP tiene configurada, en wordpress una razón común es cuando se cargan muchos plugins y por tal razón la memoria es sobrepasada.

La solución a este problema se soluciona indicandole a PHP que asigne mas memoria, para ello abrir el arhivo php.ini y cambiar esta línea

memory_limit = 32M ;

Por esta línea:

memory_limit = 64M ;

Pero si no tienen acceso a modificar el archivo como fué en mi caso la alternativa es modificar el un poco el código del wordpress, consiste en agregar la línea:

define(‘WP_MEMORY_LIMIT’, ’64M’);

al inicio (después de los comentarios) del archivo wp-config.php

o bien agregar al archivo .htaccess o si no lo tienen creardo en la raíz del directorio de WordPress y agregar esta línea

php_value memory_limit 64M

haciendo cualquiera de estas configuraciones o las 3 el problema dejará desaparecera.

espero les sea útil.

 

Ext2Fsd Montar Particiones Linux en Windows

Ext2FsdHola, recientemente he iniciado clases de maestría y una de las cosas que me pidieron es que entregara mis proyectos en formato de Word por lo que he reiniciado mi laptop en Windows 7 ya que tengo “Dual Boot” solo que una de las cosas que comence a extrañar fueron los archivos multimedia que tengo en mi partición con Gentoo por lo que dispuse a bajar un software que me permitiera tener acceso a los archivos de mi partición Ext4.

El programa que utilice fue Ext2Fsd, este sencillo programa funciona como un servicio de windows que con la cofiguración dada monta las particiones en la letra que se indicó.

ParticionesLaptopLa instalación es muy sencilla, al estilo windows, una vez que lo abren la pantalla principal muestra el listado de los Discos y Particiones.

Lo primero que deben de hacer activar el servicio para que funcione, para ello presiones [F7]  en la patanlla principal.

LanzarServicioExtFsd

Aparecera una pantalla como esta y solo hay que presionar “Start” y listo, al regresar a la otra pantalla podrán configurar las particiones en la letra que deseen y cuando reinicien estas particiones estarán montandas

Existen mas programas o aplicaciones que tienen el mismo proposito pero este fué el que mas sencillo me resulto operar, falta probar la estabilidad al momento de escribir en la partición, en caso de que lo llegue a hacer, lo pondré aquí.

saludos

_IMG_9844

Cambiar la Cara o “Face” de un Galaxy Gear

Ya muchos conocemos el Samsung Galaxy Gear, es un dispositivo de esos que les llaman “wearable” y su función principal es la de dar la hora puesto que es un reloj solo que con súper poderes, una ventaja de estos súper poderes es que podemos cambiar el “face” o cara solo que  el software base incluye una variedad de 9 caras:

  1. Reloj analógico 1
  2. Reloj analógico 2
  3. Reloj analógico 3
  4. Reloj de atajos
  5. Reloj de clima
  6. Reloj de eventos
  7. Reloj de podómetro
  8. Reloj digital
  9. Reloj Dual

Unos son buenos y bonitos y otros no tanto (personalmente prefiero el Reloj de Clima) sin embargo todos tienen el mismo tema es decir todos son fondo negro y letras blancas y esto puede llegar a ser aburrido para un dispositivo que como dije, tiene súper poderes así que buscando como cambiar esto he navegado en la tienda de Samsung Apps y encontré una aplicación con la que podemos generar nuestros propias caras.

GalaxyGear1La aplicación se llama WatchStyler para instalarla en el Galaxy Note 3 hay que hacer lo siguiente:

Abrir el Galaxy Manager después el  Samsung Apps

 

 

 

 

GalaxyGear2

 

En las categorías mostradas abrir la que dice Reloj

 

 

 

 

 

GalaxyGear3

 

Y podrán en ver la aplicación que les menciono WatchStyler, solo pinchan ahí para abrir la descripción y demas cosas y entre ellas el botón para hacerla instalación

 

 

 

 

GalaxyGear4Una vez instalada abren la aplicación y verán un pequeño tutorial de cómo crear relojes personalizados, se puede seleccionar entre los 2 tipos de reloj (digital o análogo) y colocar fondos, aunque no tiene mucho nivel de configuración creo que se pueden generar caras más interesantes o divertidas que las que vienen por defult.

 

 

GalaxyGear5     GalaxyGear4

Ivan_Rico_Gear

Aquí pueden ver uno de los temas que arme así rapidón para agregarlo a la entrada.

 

Saludos

wireframePaper

Wireframes

Hola, en esta entrada vengo a platicarles sobre Wireframes, es algo que aprendí en estos últimos días gracias a mis compañeros del área de análisis en mi actual trabajo, cuando mencionaron el tecnicismo me mostré sorprendido ya que no lo había escuchado antes por lo que comenzó mi curiosidad sobre el tema y baje algunos artículos dónde conocí que su objetivo era el de facilitar el diseño web.

Según la Wikipedia [http://es.wikipedia.org/wiki/Wireframe]

En diseño web, un wireframe es una representación esquemática de una página web sin ele mentos gráficos que muestran contenido y comportamiento de las páginas. Sirven como herramienta de comunicación y discusión entre arquitectos de información, programadores, diseñadores y clientes. También se pueden utilizar para comprobar la usabilidad de un sitio web.

Una definición más completa la pueden encontrar aquí:

[http://es.wikipedia.org/wiki/Wireframe_%28Dise%C3%B1o_web%29]

Básicamente un wireframe es un esqueleto del sitio web que se pretende desarrollar sin utilizar colores o efectos ya que estos pueden representar una distracción entre las personas que lo están analizando (analista, arquitecto, cliente, diseñadores, etc) se pueden usar para generar prototipos, pero por lo general un wireframe no indica el diseño final que tendrá el sitio web.

Existen varios niveles de detalle, desde simples informativos hasta elegantes y sorprendentes, pero a mi consideración no hay que abusar del uso de esta opción ya que no se pueden hacer diseños dinámicos y hay que tener en cuenta que si hacen muy elegantes es posible que no sea fácil de desarrollar en web con lo que actualmente tenemos.

Considero que un diseño simple y rápido debe bastar para comunicar la funcionalidad a todo el equipo que participara en el desarrollo del sitio web, el resto de la elegancia, efectos y detalles estéticos debe ser diseñado, probado y aceptado ya visto en el navegador, de lo contrario se puede caer en pérdidas de tiempo por diseñar algo que no será reutilizable.

Hoy en día existen varias herramientas para diseñar Wireframes, para Linux podemos encontrar las siguientes:

Pencil Project http://pencil.evolus.vn/

 pencilProject

 

Un proyecto Open Source que además puede instalarse incluso como una extensión del Firefox

 

SimpleDiagrams http://www.simplediagrams.com

simpleDiagrams

 

Aplicación de escritorio desarrollada sobre plataforma Adobe AIR por lo que puede correr en cualquier S.O. popular de la actualidad incluyendo GNU/Linux

WireframeSketcher http://wireframesketcher.com/

WireframeSketcher

Esta aplicación esta interesante ya que puede instalarse como un plugin del IDE Eclipse, para aquellos desarrolladores que usamos eclipsepodemos gozar de esta herramienta.

Espero les parezca interesante.

Saludos

linux-terminal

Configurar wireless desde la consola de linux

Desde la última actualización de mi sistema algunas cosas dejaron de funcionar como yo lo tenía, en especifico lo que no funcionó fué GNOME por lo que me ví en la necesidad de cambiar de entorno gráfico a XFCE y la verdad que esta muy bueno pero como todo, he estado experimentando la curva de aprendizaje, la primera que me viene es la de configurar el wireless con el access point, si bien el Network Manager sí funciona en XFCE solo que por alguna razón no puedo ejecutarlo (creo que me faltan algunos permisos), en fin para no complicarmela siempre queda la alternativa de hacerlo al estilo geek, es decir usando una consola o terminal y lo expondré aquí esperando que a alguien le sea útil.

Comenzaré con lo mas sencillo que es conectarse a un access point que no tiene password.

Wireless sin encriptación

Partiendo de que ya tienen todas la herramientas que se necesitan como wireless-tools y los módulos de sus chips  de red ya cargados comencemos

Cabe destacar que todos los comandos deben hacerse con el usuario root o bien con sudo

Para escannear las redes desde la consola lo podemos hacer con este comando :

ifconfig wlan0 up #para despertar al dispositivo
iwlist wlan0 scanning

Dónde wlan0 es mi dispositivo de red inalambrica, la salida de este comando te dirá tanta información tenga de cada una de las redes inalámbricas, habiendo escaneado el área es turno de configurar una red, en mi caso la que quiero configurar se llama HOMELAN, por lo tanto aplico este comando

iwconfig wlan0 essid "HOMELAN"

Después de esto solo activamos nuestro cliente dhcp

dhcpcd wlan0

O tal vez prefieran el otro comando

dhclient wlan0

Como sea, cualquiera de los 2 comandos debe poder solicitar una IP al DHCP Server y configurar los parametros de la red

Con esto listo, ya cuentas con internet, ¿sencillo no?

Wireless con seguridad WEP

Ahora pasemos a configurar el wireless con un access point que tiene  seguridad WEP

Suponiendo que nuestra red se llama HOMELAN y el password es 6d6e6a6579 los comando a tirar son los siguientes

ifconfig wlan0 up
iwconfig wlan0 essid "HOMELAN" key 6d6e6a6579
dhcpcd wlan0

O bien este último comando puede reemplazarse por:

dhclient wlan0

Y listo, ya se configuró el wireless así de sencillo.

Wireless con encriptación WPA/WPA2

Ya para finalizar esta entrada, pasemos a configurar nuestro wireless con un Access Point que tiene un password en WPA/WPA2

Para hacer esta configuración vamos a necesitar tener instaldo el paquete net-wireless/wpa_supplicant, si usan Gentoo como yo tan fácil como hacer:

emerge net-wireless/wpa_supplicant

O bien pueden usar apt-get o yum o el gestor que su distribución utiliza

Continuando con el ejemplo de nuestra red HOMELAN donde ahora nuestro password será helloaccesspoint y ya con el paquete instalado hacemos lo siguiente

wpa_passphrase HOMELAN helloaccesspoint > /etc/wpa_supplicant/wpa_supplicant.conf

La salida de este comando generará  en el archivo wpa_supplicant.conf algo parecido a esto:

network={
ssid="HOMELAN"
# psk="helloaccesspoint"
psk=a7ce91ec3fff78b5abca9a8337a0a9d0da3b86caef05b3a3b1c701d1d5fb677b
}

Yo tuve que editar el archivo eliminando el símbolo “#” ya que no me funcionaba quedandome así el contenido del archivo

network={
ssid="HOMELAN"
psk="helloaccesspoint"
psk=a7ce91ec3fff78b5abca9a8337a0a9d0da3b86caef05b3a3b1c701d1d5fb677b
}

Lo siguiente es conocer el driver que se esta usando, es muy sencillo con el comando wpa_supplicant

wpa_supplicant
drivers:
  wext = Linux wireless extensions (generic)
  nl80211 = Linux nl80211/cfg80211
  wired = Wired Ethernet driver

Ya conociendo esta información pasamos a establecer la conexión:

ifconfig wlan0 up
iwconfig wlan0 essid "HOMELAN"
wpa_supplicant -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf -Dwext

y listo ya estarán conectados. Ahora como podrán ver la terminal se queda ocupada con la conección, pero no se apuren pueden agregar el parametro -B para que se quede en segundo plano

wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf -Dwext

y listo con estos sencillos pasos podrán conectarse a cualquier reddesde la poderosa terminal sin necesidad de alguna GUI

Y bien, pudimos ver que con algunos sencillos comandos podemos hacernos de cualquier conexión wireless ya el resto puede ser generar algún script y colocarlo de inicio para automizar la conexión

Para más info sobre las conexiones wireless sobre como establecer canal, modos, etc pueden leer el manual de iwconfig

man iwconfig

saludos

A variety of logos hover above the Microsoft booth on the opening day of the Consumer Electronics Show in Las Vegas

SQL Server 2008 Error al generar Respaldo

En esta ocasión hare mención sobre un comportamiento extraño que he experimentado en algunos servidores con SQL Server 2008, básicamente el comportamiento consiste en que el DBMS no puede ejecutar las instrucciones de respaldo full y diferencial entre algunas otras.

Los logs del sistema arrojan el siguiente mensaje de error:

Cannot insert duplicate key row in object ‘sys.syscommittab’ with unique index ‘si_xdes_id’. [SQLSTATE 23000] (Error 2601)  Failed to flush the commit table to disk in dbid 6 due to error 2601. Check the errorlog for more information. [SQLSTATE 42000] (Error 3999)  BACKUP DATABASE is terminating abnormally. [SQLSTATE 42000] (Error 3013)  The statement has been terminated. [SQLSTATE 01000] (Error 3621).  The step failed.

Cuando lo vi de inmediato me puse hacer búsquedas en google y encontré una liga de Microsoft que menciona la corrección a dicho error

http://support.microsoft.com/kb/2603910

A pesar de que aplique lo que mencionaban aplicando los parches y demás no conseguí hacerlo funcionar, cabe mencionar que una opción que vi en otros posts era la de actualizar a SQL Server 2008 Enterprise R2 y ya que actualmente tengo la versión Enterprise solita, cosa que no pude hacer ya que no cuento con el licenciamiento requerido (thanks M$)

Bueno después de haber probado varias actualizaciones sin éxito opte por aplicar una solución que vi en algún foro. Dado que el error era provocado por el Change Tracking o Seguimiento de Cambios (en español) la solución planteada consiste en lo siguiente:

  1. Desactivar el Change Tracking para cada tabla
  2. Desactivar el Change Tracking para la BD
  3. Generar Backup de la Base de Datos
  4. Reactivar el Change Tracking para la BD
  5. Reactivar el Change Tracking para cada tabla

Diseñe un pequeño script que genera las sentencias a correr para deshabilitar y habilitar  el change tracking para cada tabla

 

Copiar y pegar el resultado del siguiente script en algún archivo de texto, este se ejecutará al final pero debe ser generado primero, sirve primordialmente para volver a reactivar el change tracking en las tablas que actualmente lo tienen activado

SELECT 'ALTER TABLE ['+b.name+'] ENABLE CHANGE_TRACKING'
FROM sys.change_tracking_tables a
INNER JOIN sysobjects b
ON b.id=a.object_id
ORDER BY b.name

Copiar, pegar y ejecutar el resultado de este script

SELECT 'ALTER TABLE ['+b.name+'] DISABLE CHANGE_TRACKING'
FROM sys.change_tracking_tables a
INNER JOIN sysobjects b
ON b.id=a.object_id
ORDER BY b.name

 

Desactivar al nivel de BD el Change Tracking

ALTER DATABASE MiBaseDeDatos SET CHANGE_TRACKING = OFF

Ejecutar tarea, Job, Comando o cualquiera que sea el método que utilicen para respaldar su BD

Activar el Change Tracking como lo tenía anteriormente

ALTER DATABASE MiBaseDeDatos SET CHANGE_TRACKING = ON (CHANGE_RETENTION = 30 DAYS, AUTO_CLEANUP = ON)

Pegar y ejecutar el resultado del primer script para regresar todo a la normalidad

Ya después de todo esto podrán volver a generar los respaldos de forma normal.

Tip: si cuentan con una BD grande el cual toma mucho tiempo sacar su respaldo y el change tracking no debe de parar por la operación lo que pueden hacer es ejecutar la tarea del respaldo y cancelarla, con eso será suficiente para que la tabla que marca error se actualice y ya no marque errores.

Espero sea de utilidad para alguien más este truco

saludos

Network

Usando NTOP

 

Hola, en esta entrada platicare un poco de NTOP herramienta que recientemente tuve que utilizarla para descubrir algunas anomalías en una red, bueno comenzando con su definción, según la wiki [ http://es.wikipedia.org/wiki/Ntop ]

ntop (de Network Top) es una herramienta que permite monitorizar en tiempo real una red. Es útil para controlar los usuarios y aplicaciones que están consumiendo recursos de red en un instante concreto y para ayudarnos a detectar malas configuraciones de algún equipo, (facilitando la tarea ya que, justo al nombre del equipo, aparece sale un banderín amarillo o rojo, dependiendo si es un error leve o grave), o a nivel de servicio.

Esta herramienta esta disponible para Windows en dónde se descargan los binarios y los instalan y por su puesto para GNU/Linux en dónde pueden descargarse las fuentes y compilarlas o bien utilizar el gestor de paquetes de su distribución, en mi caso hice uso del apt-get para poder hacerme ntop en el equipo.

Su página oficial es http://www.ntop.org/

Para detectar la anomalía estas fueron las actividades que hice:

Instalar NTOP, nada difícil

apt-get install ntop

Configurar un password de administrador

ntop -A

Lanzarlo para comience a hacer su trabajo, ademas le estamos pasando la ruta en dónde almacenara todo lo que esta recolectando

ntop -P /var/lib/ntop

listo, con estos sencillos pasos ya podemos ver lo que esta pasando con la red, solo abran su webBrowser favorito y escriban:

http://<ip del servidor>:3000

en mi caso la url fué:

http://192.168.1.1:3000

y listo podran ver una sencilla pero útil interfaz que muestra gráficas y reportes organizados por puertos, protocolos, hosts, servidores, servicios, ip’s y otras cosas mas

me basto con esperar 20 minutos para determinar el equipo y el servicio que estaban ocasionando el tráfico

Por cierto y necesitan correrlo como demonio y que siempre este activo, recomiendo utilizar el siguiente script en el arranque del sistema, en sistemas base RedHat el rc.local o el equivalente en su distribución

ntop -P /var/lib/ntop -u ntop -d

 

 

SQL Server 2008 BG

Insertar un registro en una tabla de SQL Server usando solo sus valores default

En alguna ocasión tuve la necesidad de crear una tabla que tuviera solo un campo y que este fuera identity su objetivo era proporcionar de forma segura un número de folio, me incline por esta propiedad para delegarle al motor de SQL Server  la responsabilidad de manejar la concurrencia, de este modo me aseguraría de entregar un folio distinto a cada petición.

Al momento de querer escribir la sentencia para poner a trabajar el servicio que este estaría realizando me encontré con la extraña sensación de que lo que quería hacer no era posible, ya que la columna con propiedad identity es de lectura y no se debe expresar en sentencia de INSERT por lo que no podía escribir la sentencia como lo hacía con cualquier otra tabla, buscando en el google.com encuentro rápidamente que la sintaxis de [http://msdn.microsoft.com/en-us/library/aa933206%28SQL.80%29.aspx ] INSERT si está preparada para esto.

La solución es muy sencilla, suponiendo que nuestra tabla está diseñada de esta manera:

CREATE TABLE miTabla ( id INT IDENTITY )

La sentencia INSERT sería de este modo:

INSERT INTO miTabla DEFAULT VALUES

Las palabras reservadas DEFAULT VALUES después del INSERT indican que los campos serán poblados con los valores que se definieron como default durante la generación de la tabla.

Saludos

Conectar Galaxy Note 3 en Gentoo Linux vía MTP

Hola,

Siguiendo con la exploración de mi nuevo dispositvo me doy cuenta que el USB del Galaxy Note 3 es de la versión 3 y eso explica por que esta tan raro ese conector de USB por suerte en mi Laptop ASUS K45V cuento con un puerto USB 3, cuando lo conecte para cargarle algunas canciones no lograba verlo como usb storage ni como alguna otra cosa por lo que me fuí al google.com y rápidamente di con la solución, les pondré aquí los pequeños cambios que tuve que hacer.

Para empezar hay que saber el protocolo de comunicación MTP (cosa que es nueva para mí) por lo que hay que instalar algunas cosa para tener soporte, si usan gentoo solo pongan este comando

 

emerge -av sys-fs/mtpfs

Para otras distribuciones bajarse el fuente o revisar si los repositorios de sus gestores de paquetes lo incluye, que lo mas seguro es que si

Una vez compilado e instalado, conectar el Galaxy Note 3 y ejecutar en la consola como root

mtp-detect

Esto mostrará todo lo relacionado al dispositvo, datos muy técnicos que por fortuna no tenemos que entender para configurarlo xD

el siguiente paso es generar un archivo

nano /etc/udev/rules.d/51-android.rules

y poner dentro del archivo lo siguiente:

SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0666"

para datos especificos a su equipo pueden utilizar grep

mtp-detect | grep idVendor
mtp-detect | grep idProduct

Proseguimos a reiniciar UDEV

/etc/init.d/udev restart

Lo siguiente sería crear el directorio donde vamos a montar nuestro Galaxy Note 3

mkdir /media/GalaxyNote3
chmod a+rwx /media/GalaxyNote3

Después modificamos el archivo siguiente

nano /etc/fuse.conf

Seguramente habrá una línea comentada con el siguiente texto:

#user_allow_other

Tan solo descomentelo para que quede así:

user_allow_other

Y listo una vez conectado el dispositivo lo hacemos visible con el siguiente comando

mtpfs -o allow_other /media/GalaxyNote3

Listo con esto ya lo podemos ver desde el Nautilus o algun otro explorador de archivos que tengan

y para desconectarlo lo desmontamos con

fusermount -u /media/GalaxyNote3

Saludos y espero que sea de utilidad.

Vivencias de un viejo geek en un mundo moderno