<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>HiperGalaxia</title>
	<atom:link href="http://www.hipergalaxia.org/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hipergalaxia.org/blog</link>
	<description>El conocimiento, la frontera final.</description>
	<lastBuildDate>Tue, 09 Mar 2010 17:11:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Crear un tunel SSH para la conexión a un servidor MySQL detrás de un firewall con Windows utilizando Putty</title>
		<link>http://www.hipergalaxia.org/blog/2010/03/09/crear-un-tunel-ssh-para-la-conexion-a-un-servidor-mysql-detras-de-un-firewall-con-windows-utilizando-putty/</link>
		<comments>http://www.hipergalaxia.org/blog/2010/03/09/crear-un-tunel-ssh-para-la-conexion-a-un-servidor-mysql-detras-de-un-firewall-con-windows-utilizando-putty/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 17:11:58 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[Tunel]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=2405</guid>
		<description><![CDATA[Introducción.
De manera análoga a como se realizó el tunel SSH utilizando Linux, también es posible implementarlo en Windows gracias al uso de herramientas de terceros como Putty.
Para la verificación de la conexión a la base de datos en lugar de la herramienta básica de línea de comando (que también debe funcionar normalmente) se utilizará MySQL [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p>De manera análoga a como se realizó el <a href="http://blog.jorgeivanmeza.com/2010/03/crear-un-tunel-ssh-para-la-conexion-a-un-servidor-mysql-detras-de-un-firewall-con-linux-debian-5/" >tunel SSH utilizando Linux</a>, también es posible implementarlo en Windows gracias al uso de herramientas de terceros como <a href="http://www.putty.org/" >Putty</a>.</p>
<p>Para la verificación de la conexión a la base de datos en lugar de la herramienta básica de línea de comando (que también debe funcionar normalmente) se utilizará <a href="http://wb.mysql.com/" >MySQL Workbench</a> que es la herramienta de administración gráfica que provee el motor de bases de datos.</p>
<h2>Implementación de la solución.</h2>
<h3>Crear la especificación del tunel en Putty.</h3>
<p>Este paso sólo es necesario realizarlo una única vez mientras se configura el perfil en Putty, en ocasiones posteriores sólo será necesario invocarlo.</p>
<p>Ejecute <span style="font-family: courier new,courier;">Putty.exe</span>.</p>
<div id="attachment_2406" class="wp-caption aligncenter" style="width: 467px"><a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2010/03/1.png"><img class="size-full wp-image-2406" title="1" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2010/03/1.png" alt="Session en Putty.exe" width="457" height="442" /></a><p class="wp-caption-text">Session en Putty.exe</p></div>
<p>En la <em>Session</em> (lado izquierdo) especifique la siguiente información.</p>
<p style="padding-left: 30px;">1. Nombre del servidor SSH.  <span style="font-family: courier new,courier;">desarrollo.com</span> para este ejemplo.</p>
<p style="padding-left: 30px;">2. Puerto del servicio SSH.  Es el puerto <span style="font-family: courier new,courier;">22</span> por defecto.  Elija además el tipo de conexión (<em>Connection type</em>) SSH.</p>
<p style="padding-left: 30px;">3. Especifique un nombre para almacenar la sesión (<em>Saved Sessions</em>).  <span style="font-family: courier new,courier;">MiTunel</span> para este ejemplo.</p>
<p style="padding-left: 30px;">4. Presione el botón guardar (<em>Save</em>) para almacenar la configuración recién especificada.</p>
<div id="attachment_2407" class="wp-caption aligncenter" style="width: 466px"><a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2010/03/2.png"><img class="size-full wp-image-2407" title="2" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2010/03/2.png" alt="Connection &gt; SSH en Putty.exe" width="456" height="442" /></a><p class="wp-caption-text">Connection &gt; SSH en Putty.exe</p></div>
<p>En las opciones de <em>Connection</em> &gt; <em>SSH</em> elija la casilla de verificación <em>Don&#8217;t start a shell</em> para evitar que se cree una consola de comandos interactiva ya que sólo se desea crear el tunel.</p>
<div id="attachment_2408" class="wp-caption aligncenter" style="width: 466px"><a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2010/03/3.png"><img class="size-full wp-image-2408" title="3" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2010/03/3.png" alt="Connection &gt; SSH &gt; Tunnels en Putty.exe" width="456" height="442" /></a><p class="wp-caption-text">Connection &gt; SSH &gt; Tunnels en Putty.exe</p></div>
<p>Determine la información relacionada con los lados del tunel.</p>
<p style="padding-left: 30px;">5. Especifique el puerto local desde el cual se iniciará el tunel.  <span style="font-family: courier new,courier;">3307</span> en este caso.</p>
<p style="padding-left: 30px;">6. Especifique el destino y su puerto donde terminará el tunel.  <span style="font-family: courier new,courier;">localhost:3306</span> para este ejemplo.</p>
<p style="padding-left: 30px;">Presione el botón agregar (<em>Add</em>) para almacenar los extremos del tunel.</p>
<p>Finalmente almacena la configuración establecida regresando a la sección de <em>Session</em> y presionando el botón de guardar (<em>Save</em>).</p>
<h3>Establecer un tunel previamente especificado.</h3>
<p>Esto se puede hacer de dos maneras, una desde la interfaz gráfica de Putty seleccionando <span style="font-family: courier new,courier;">MiTunel</span> en la lista de las sesiones guardadas (<em>Saved Sessions</em>), presionando el botón cargar (<em>Load</em>) y abriendo la sesión presionando el botón (<em>Open</em>).</p>
<p>Una segunda alternativa es desde la línea de comando ejecutando la siguiente instrucción.</p>
<p><span style="font-family: courier new,courier;">C:\ruta\a\putty.exe -load MiTunel</span></p>
<p>En ambos casos el resultado es el mismo, aparecerá una ventana de login para realizar la autenticación con el servidor remoto (6).</p>
<div id="attachment_2411" class="wp-caption aligncenter" style="width: 381px"><a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2010/03/4.png"><img class="size-full wp-image-2411" title="4" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2010/03/4.png" alt="Autenticación de usuario con SSH." width="371" height="132" /></a><p class="wp-caption-text">Autenticación de usuario con SSH.</p></div>
<h2>Realizar la conexión a MySQL a través del tunel SSH.</h2>
<p>Como se mencionó inicialmente para la verificación de la conexión se utilizará MySQL Workbench.</p>
<div id="attachment_2412" class="wp-caption aligncenter" style="width: 938px"><a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2010/03/5.png"><img class="size-full wp-image-2412" title="5" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2010/03/5.png" alt="Connect to database" width="928" height="658" /></a><p class="wp-caption-text">Connect to database</p></div>
<p>Debe tenerse muy en cuenta que gracias al tunel recién creado, la aplicación cliente de la base de datos interpretará que el motor de base de datos se encuentra ubicado localmente (9) y que su puerto es el <span style="font-family: courier new,courier;">3307</span> (10) -ver 5 y 6-.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hipergalaxia.org/blog/2010/03/09/crear-un-tunel-ssh-para-la-conexion-a-un-servidor-mysql-detras-de-un-firewall-con-windows-utilizando-putty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crear un tunel SSH para la conexión a un servidor MySQL detrás de un firewall con Linux Debian 5</title>
		<link>http://www.hipergalaxia.org/blog/2010/03/08/crear-un-tunel-ssh-para-la-conexion-a-un-servidor-mysql-detras-de-un-firewall-con-linux-debian-5/</link>
		<comments>http://www.hipergalaxia.org/blog/2010/03/08/crear-un-tunel-ssh-para-la-conexion-a-un-servidor-mysql-detras-de-un-firewall-con-linux-debian-5/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 02:58:22 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Linux/Solaris/BSD]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[Tunel]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=2400</guid>
		<description><![CDATA[Introducción.
Este es el panorama del esquema de red de la oficina del grupo de desarrollo.
Un servidor (centro) alberga los proyectos web (Apache) de los cuales el grupo de desarrollo manipula sus archivos (SSH + Samba), así como sus bases de datos (MySQL).  El servidor cuenta con dos interfaces de red las cuales separan físicamente el [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p>Este es el panorama del esquema de red de la oficina del grupo de desarrollo.</p>
<div id="attachment_2401" class="wp-caption alignleft" style="width: 855px"><a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2010/03/diagrama.png"><img class="size-large wp-image-2401" title="diagrama" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2010/03/diagrama-1024x285.png" alt="Esquema de la red" width="845" height="235" /></a><p class="wp-caption-text">Esquema de la red</p></div>
<p>Un servidor (centro) alberga los proyectos web (Apache) de los cuales el grupo de desarrollo manipula sus archivos (SSH + Samba), así como sus bases de datos (MySQL).  El servidor cuenta con dos interfaces de red las cuales separan físicamente el acceso de la red privada (eth1) de la red pública o Internet (eth0).</p>
<p>Los desarrolladores utilizan los clientes desde la red privada para la cual no hay ningún tipo de filtro en el servidor y pueden acceder a la totalidad de sus servicios.  Desde el exterior, el servidor implementa un firewall que sólo permite la consulta web de los proyectos y el acceso al SSH.  Como fácilmente se concluye, el firewall de la interfaz pública (eth0) filtra explícitamente el acceso a los servicios de MySQL y Samba que son considerados como inseguros.</p>
<h2>El problema.</h2>
<p>Se requiere ahora que los desarrolladores puedan acceder al servidor desde sus clientes a través de Internet.</p>
<p>El problema se divide en dos aproximaciones.</p>
<ol>
<li>Manipular el software, el código y los datos remotamente.</li>
<li>Manipular el software y el código localmente, y los datos remotamente.</li>
</ol>
<h2>La solución.</h2>
<h3>Manipular el software, el código y los datos remotamente (1).</h3>
<p>Este es el caso mas simple.  Como los aplicativos son web se acceden a través de un navegador, su código es manipulado a través de SSHFS (ver instrucciones para <a href="http://blog.jorgeivanmeza.com/2009/02/montar-particiones-remotas-mediante-ssh-utilizando-sshfs-bajo-linux/" >Linux</a> y <a href="http://blog.jorgeivanmeza.com/2009/02/montar-particiones-remotas-mediante-ssh-utilizando-dokan-bajo-windows/" >Windows</a>) y sus datos son manipulados a través de la web con <a href="http://www.phpmyadmin.net/home_page/index.php" >PHPMyAdmin</a>.</p>
<h3>Manipular el software y el código localmente y los datos remotamente (2).</h3>
<p>Este caso es mas elaborado que el anterior ya que el software y el código reside localmente porque lo es muy fácil de manipular, sin embargo los datos (la base de datos MySQL) de los proyectos continúan viviendo en el servidor de desarrollo.</p>
<p>Dado que el puerto de acceso a MySQL se encuentra filtrado para el exterior por razones de seguridad es inicialmente imposible conectarse a la base de datos desde el cliente a través de Internet.  La solución es crear un tunel SSH desde el cliente remoto hasta el servidor a través del medio inseguro (Internet) y desde allí, ahora un lugar seguro, realizar la conexión con el puerto de la base de datos que en este caso reside en el mismo servidor.</p>
<h2>Implementación de la solución (2).</h2>
<p>Por razones que serán obvias, es necesario que los usuarios remotos cuenten con cuentas (nombre de usuario/contraseña) en el sistema operativo del servidor de desarrollo y que estas estén habilitadas para acceder al mismo a través de SSH.</p>
<p>Las siguientes acciones se realizan desde el cliente remoto.</p>
<h3>Establecer el tunel SSH entre el cliente remoto y el servidor de desarrollo.</h3>
<p><span style="font-family: courier new,courier;">$ ssh <span style="color: #008000;"><strong>desarrollador</strong></span><span style="color: #008000;"><strong>@desarrollo.com</strong></span> -L <span style="color: #ff0000;"><strong>3307</strong></span>:<span style="color: #ff6600;"><strong>localhost</strong></span>:<span style="color: #333399;"><strong>3306</strong></span> -N -f</span></p>
<p>Con la instrucción anterior estamos creando un tunel entre el cliente remoto y el servidor <span style="font-family: courier new,courier;">desarrollo.com</span> con el usuario <span style="font-family: courier new,courier;">desarrollador</span> y utilizando al protocolo SSH.  Se le está indicando además que el tunel se deberá establecer entre el puerto <span style="font-family: courier new,courier;">3307</span> local y el puerto <span style="font-family: courier new,courier;">3306</span> del servidor remoto, en este caso el mismo <span style="font-family: courier new,courier;">localhost</span>.  Es muy importante tener en cuenta que la referencia de este último <em>servidor remoto</em> se realiza previa conexión a <span style="font-family: courier new,courier;">desarrollo.com</span>, es decir que su acceso se hace desde este y no directamente desde el cliente que inicia la conexión del tunel ejecutando el comando.</p>
<p>Otro aspecto interesante a tener en cuenta es que los puertos utilizados no necesariamente deben ser diferentes ya que uno es local (<span style="font-family: courier new,courier;">3307</span> en este ejemplo) y el otro es remoto (<span style="font-family: courier new,courier;">3306</span> el estándar de MySQL), sin embargo en el caso de que ya se cuente con una instalación local de MySQL (utilizando el puerto <span style="font-family: courier new,courier;">3306</span>) será entonces necesario utilizarlos diferentes como se ha planeado en este artículo.</p>
<h3>Realizar la conexión a MySQL a través del tunel SSH.</h3>
<p>Después de establecido el tunel entre cliente y servidor la conexión se realiza directamente con el puerto local (<span style="font-family: courier new,courier;">3307</span>) del cliente remoto como si el servicio se estuviera ejecutando en la misma máquina cliente, el tunel se encarga de transmitir la información encriptada y realizar las conversiones necesarias a cada uno de los lados.</p>
<p><span style="font-family: courier new,courier;">$ mysql -h 127.0.0.1 -u <span style="color: #3366ff;"><strong>bd_usuario</strong></span> -p -P <span style="color: #ff0000;"><strong>3307</strong></span> <span style="color: #3366ff;"><strong>bd_nombre</strong></span></span></p>
<p>Tenga en cuenta que el inicio de conexión (<span style="font-family: courier new,courier;">connect</span>) a una base de datos toma cierto tiempo ya que el motor de bases de datos realiza una carga previa de los nombres de las tablas y de los campos de estas.  Si desea evitar esta precarga de información puede utilizar el parámetro <span style="font-family: courier new,courier;">-A</span> en la invocación al cliente de MySQL (<span style="font-family: courier new,courier;">mysql</span>).</p>
<h2>Scripts de conexión.</h2>
<p>A pesar de que el procedimiento es -extremadamente- simple, he creado un par de <em>scripts</em> para facilitar y automatizar el proceso de creación del puente SSH y de conexión a la base de datos a través de línea de comando.</p>
<p>Los <em>scripts </em>pueden ser <a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2010/03/tunssh_scripts.zip">descargados de aqui</a> y configurados utilizando cualquier editor de texto.  <span style="font-family: courier new,courier;">tunssh_connection</span> se encarga de establecer la conexión del túnel SSH mientras que <span style="font-family: courier new,courier;">tunssh_mysql</span> realiza la conexión a la base de datos MySQL remota a través del túnel SSH.</p>
<h2>Enlaces.</h2>
<ul>
<li>Connecting to MySQL via an SSH Tunnel.<br />
<a href="http://wiki.joyent.com/facebook:kb:mysql-tunnel" >http://wiki.joyent.com/facebook:kb:mysql-tunnel</a></li>
<li>Secure Shell Tunneling.<br />
<a href="http://en.wikipedia.org/wiki/Ssh_tunnel#Secure_Shell_tunneling" >http://en.wikipedia.org/wiki/Ssh_tunnel#Secure_Shell_tunneling</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.hipergalaxia.org/blog/2010/03/08/crear-un-tunel-ssh-para-la-conexion-a-un-servidor-mysql-detras-de-un-firewall-con-linux-debian-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Actualizar DynDNS.org desde Linux Ubuntu utilizando Inadyn</title>
		<link>http://www.hipergalaxia.org/blog/2010/03/06/actualizar-dyndns-org-desde-linux-ubuntu-utilizando-inadyn/</link>
		<comments>http://www.hipergalaxia.org/blog/2010/03/06/actualizar-dyndns-org-desde-linux-ubuntu-utilizando-inadyn/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 03:59:19 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[DynDNS]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Linux/Solaris/BSD]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=2391</guid>
		<description><![CDATA[Introducción.
El portafolio de DynDNS incluye un servicio gratuito de DNS Dinámico (entre otros servicios algunos pagos) que permite asociar una dirección IP dinámica como la asignada por los proveedores de servicio de internet a las cuentas de banda ancha, a un nombre de dominio proporcionado por ellos.
La principal ventaja de este servicio es que se [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p>El portafolio de DynDNS incluye un servicio gratuito de DNS Dinámico (entre otros <a href="http://www.dyndns.com/services/" >servicios</a> algunos pagos) que permite asociar una dirección IP dinámica como la asignada por los proveedores de servicio de internet a las cuentas de banda ancha, a un nombre de dominio proporcionado por ellos.</p>
<p>La principal ventaja de este servicio es que se actualiza frecuentemente adaptando el DNS según se modifique la dirección dinámica del router, permitiéndole a los clientes acceder al <em>servidor</em> utilizando siempre el nombre DNS y desconociendo por completo la dirección IP o su eventual actualización.</p>
<p>El servicio de Free Dynamic DNS se puede solicitar directamente desde el sitio web de la empresa, <a href="http://www.dyndns.com/" >http://www.dyndns.com/</a>.  Del lado del cliente, nosotros, debemos configurar a los equipos para que actualicen dinámicamente la información del servicio cuando se detecte un cambio en la dirección IP local.  Esto frecuentemente se realiza en los enrrutadores.  Por ejemplo, los enrrutadores que se utilizan en los hogares, como era antes mi caso con un Netgear, permiten desde su misma interfaz web de administración suministrar los datos de la cuenta DynDNS.org y ellos se encargan de mantener actualizados los datos.</p>
<p>Ahora utilizo un enrrutador marca <a href="http://www.scientificatlanta.com/" >Scientific Atlanta</a> 2325 el cual aparentemente no incluye esta facilidad por lo cual me veo obligado a implementarla en el servidor de desarrollo que utiliza Linux Ubuntu Server 9.10 como sistema operativo.</p>
<p>Para hacer esto utilizo <a href="http://www.inatech.eu/inadyn/" >Inadyn</a>, un software para la actualización de DNS dinámicos que es muy fácil de utilizar e incluye el soporte a DynDNS.org y otros servicios mas.  Este paquete se puede utilizar en Linux (por supuesto), MacOS, OpenBSD e inclusive Windows.</p>
<h2>Instalación &amp; Configuración.</h2>
<p>Instalación de los paquetes de Inadyn.</p>
<p><span style="font-family: courier new,courier;">$ sudo aptitude install inadyn</span></p>
<p>Crear el archivo de configuración por defecto.</p>
<p><span style="font-family: courier new,courier;">$ sudo cp /usr/share/doc/inadyn/examples/inadyn.conf /etc/inadyn.conf</span></p>
<p>Asegurar los permisos del archivo de configuración por defecto.</p>
<p><span style="font-family: courier new,courier;">$ sudo chmod 600 /etc/inadyn.conf</span></p>
<p>Editar la configuración de Inadyn con la información específica del servicio de DynDNS.org.</p>
<p><span style="font-family: courier new,courier;">$ sudo vi /etc/inadyn.conf</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">&#8211;username <span style="text-decoration: underline;"><strong>USUARIO</strong></span><br />
&#8211;password <span style="text-decoration: underline;"><strong>CONTRASEÑA</strong></span><br />
update_period_sec 3600<br />
log_file /var/log/inadyn.log<br />
alias <span style="text-decoration: underline;"><strong>DOMINIO_DYNDNS</strong></span><br />
background</span></p>
<p>Modifique el archivo de configuración de acuerdo a sus valores específicos.</p>
<ul>
<li><span style="text-decoration: underline;"><strong>USUARIO</strong></span>: su nombre de usuario en DynDNS.org.</li>
<li><span style="text-decoration: underline;"><strong>CONTRASEÑA</strong></span>: la contraseña correspondiente al usuario mencionado anteriormente.</li>
<li><span style="text-decoration: underline;"><strong>DOMINIO_DYNDNS</strong></span>: dominio que se configuró gratuitamente con la cuenta en DynDNS.org.</li>
</ul>
<p>Crear un proceso cron para ejecutar Inadyn automáticamente al inicio del sistema operativo.</p>
<p><span style="font-family: courier new,courier;">$ sudo crontab -e</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">@reboot /usr/sbin/inadyn</span></p>
<h2>Comprobación del funcionamiento.</h2>
<p>Cuando reinicie la máquina verifique que el proceso Inadyn se encuentre ejecutándose correctamente.</p>
<p><span style="font-family: courier new,courier;">$ ps -A | grep inadyn</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">1149 ?        00:00:00 inadyn</span></p>
<p><span style="font-family: courier new,courier;">$ cat /var/log/inadyn.log</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">INADYN: Started &#8216;INADYN version 1.96&#8242; &#8211; dynamic DNS updater.<br />
INADYN:IP: Error &#8216;0xb&#8217; resolving host name &#8216;checkip.dyndns.org&#8217;</span><br />
<span style="font-family: courier new,courier;">&#8230;</span></p>
<p>Verifique la dirección IP asociada al nombre DNS del servicio utilizando un <span style="font-family: courier new,courier;">ping</span> por ejemplo.</p>
<p><span style="font-family: courier new,courier;">$ ping <span style="text-decoration: underline;"><strong>ejemplo</strong></span>.gotdns.org</span></p>
<p>Si ejecuta la verificación desde la misma red interna del equipo, la dirección IP obtenida deberá ser la misma de su modem/router, la cual podrá verificar en servicios como <a href="http://whatismyipaddress.com/" >http://whatismyipaddress.com/</a>.</p>
<h2>Relacionar el dominio DynDNS.org con un dominio privado.</h2>
<p>Es posible relacionar el dominio que nos ofrece gratuitamente DynDNS (<span style="font-family: courier new,courier;">ejemplo.gotdns.org</span>) con un dominio de nuestra propiedad.  Esto es muy útil ya que permite utilizar el dominio DNS oficial del administrador o de la empresa que lo está configurando haciendo que sea totalmente transparente para el usuario final que se está utilizando DynDNS.org en el intermedio para la conexión.</p>
<p>Para hacer esto sólo es necesario crear una nueva entrada en el servidor DNS incluyendo un registro CNAME entre el nuevo dominio y el asignado por DynDNS.org.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">ejemplo.jorgeivanmeza.com IN CNAME ejemplo.gotdns.org</span></p>
<p>Gracias a lo anterior, el nuevo dominio (<span style="font-family: courier new,courier;">ejemplo.jorgeivanmeza.com</span>) hará siempre referencia al original (<span style="font-family: courier new,courier;">ejemplo.gotdns.org</span>) el cual se mantendrá siempre actualizado con los cambios de la dirección IP dinámica gracias a la configuración del Inadyn realizada anteriormente.</p>
<p>La configuración del DNS para agregar el <span style="font-family: courier new,courier;">CNAME</span> varía el paquete de DNS u operador de <em>hosting</em> que se utilice.  Estos pasos describen los procedimientos necesarios con los principales <a href="http://www.websitetoolbox.com/tool/support/127" >operadores de <em>hosting</em></a>, en un <a href="http://www.zytrax.com/books/dns/ch8/cname.html" >servidor Linux</a> y en un <a href="http://technet.microsoft.com/en-us/library/cc776292%28WS.10%29.aspx" >servidor Windows</a>.</p>
<h2>Enlaces.</h2>
<ul>
<li>INADYN &#8211; Simple Dynamic DNS Client.<br />
<a href="http://www.inatech.eu/inadyn/" >http://www.inatech.eu/inadyn/</a></li>
<li>Using inadyn With DynDNS.com Services.<br />
<a href="http://www.dyndns.com/support/kb/using_inadyn_with_dyndns_services.html" >http://www.dyndns.com/support/kb/using_inadyn_with_dyndns_services.html</a></li>
<li>Dynamic DNS &#8211; Ubuntu Documentation.<br />
<a href="https://help.ubuntu.com/community/DynamicDNS" >https://help.ubuntu.com/community/DynamicDNS</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.hipergalaxia.org/blog/2010/03/06/actualizar-dyndns-org-desde-linux-ubuntu-utilizando-inadyn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalando Skype en Ubuntu</title>
		<link>http://www.hipergalaxia.org/blog/2010/02/23/instalando-skype-en-ubuntu/</link>
		<comments>http://www.hipergalaxia.org/blog/2010/02/23/instalando-skype-en-ubuntu/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 20:13:36 +0000</pubDate>
		<dc:creator>marlonj</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[Cacharreos]]></category>
		<category><![CDATA[instalacion]]></category>
		<category><![CDATA[skype]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[ubuntu904]]></category>

		<guid isPermaLink="false">http://www.marlonj.com/blog/?p=2031</guid>
		<description><![CDATA[Bueno, hace rato no escribía en el blog (desde hace mas de un mes), pero he estado ocupado con varias actividades en la universidad, las tareas de la maestría en Gestión y Desarrollo de Software en la UAM y con otros proyectos que pronto estaré comentando aquí en este espacio, pero a lo que vinimos, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.skype.com"><img class="alignleft size-full wp-image-2032" style="margin: 5px;" title="skype_logo" src="http://www.marlonj.com/blog/wp-content/uploads/2010/02/skype_logo.png" alt="" width="128" height="128" /></a>Bueno, hace rato no escribía en el blog (desde hace mas de un mes), pero he estado ocupado con varias actividades en la universidad, las tareas de la maestría en Gestión y Desarrollo de Software en la UAM y con otros proyectos que pronto estaré comentando aquí en este espacio, pero a lo que vinimos, el dia de hoy me toco instalar el Skype para hacer una pruebas de conexion con varios usuarios concurrentes, asi que aqui estan los pasos para la instalacion de Skype 2.1 Beta 2 en Ubuntu Linux 9.04 :</p>
<p style="text-align: justify;">Pasos :</p>
<ul>
<li>Abrir una consola</li>
<li>Adicionar el repositorio de distribucion del Skype para Ubuntu,<br />
ejecutar el siguiente comando :<br />
echo deb http://download.skype.com/linux/repos/debian/ stable non-free | sudo tee /etc/apt/sources.list.d/skype.list</li>
<li>Actualizar la lista de paquetes :<br />
sudo apt-get update</li>
<li>Instalar el Skype :<br />
sudo apt-get install skype</li>
<li>En mi caso existian unos paquetes de qt que no podia instalar y me solicitaba ejecutar la instalacion de nuevo, asi :<br />
sudo apt-get -f install</li>
<li>Despues de esto ya instalo los paquetes Qt y el Skype</li>
</ul>
<p><a href="http://www.marlonj.com/blog/wp-content/uploads/2010/02/skype_pruebas.jpg"><img class="aligncenter size-full wp-image-2033" title="Pruebas Skype" src="http://www.marlonj.com/blog/wp-content/uploads/2010/02/skype_pruebas.jpg" alt="" width="419" height="601" /></a></p>
<p>En el menú de Internet debe aparecer la aplicación la cual funciono muy bien, incluyendo vídeo <img src='http://www.marlonj.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.hipergalaxia.org/blog/2010/02/23/instalando-skype-en-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalar ubuntu64-general basado en Ubuntu Server 9.10 64 bits en KVM</title>
		<link>http://www.hipergalaxia.org/blog/2010/02/13/instalar-ubuntu64-general-basado-en-ubuntu-server-9-10-64-bits-en-kvm/</link>
		<comments>http://www.hipergalaxia.org/blog/2010/02/13/instalar-ubuntu64-general-basado-en-ubuntu-server-9-10-64-bits-en-kvm/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 01:28:23 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[IceWM]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Linux/Solaris/BSD]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tesis-UAM]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=2384</guid>
		<description><![CDATA[Introducción.
De manera análoga a como se realizó anteriormente la instalación de una imagen con CentOS (para Scientific Linux se igual procedimiento) procedimos a crear una máquina virtual KVM con una instalación genérica de Ubuntu Server 9.10 para futuras experimentaciones con un plan de trabajo ligeramente modificado.

Actualización de paquetes.
Instalar ACPID.
Instalación del JDK de Java.
Instalación del ambiente [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p>De manera análoga a como se realizó anteriormente la <a href="http://blog.jorgeivanmeza.com/2010/02/instalar-centos64-general-basado-en-centos-5-4-64-bits-en-kvm/" >instalación de una imagen con CentOS</a> (para Scientific Linux se igual procedimiento) procedimos a crear una máquina virtual KVM con una instalación genérica de Ubuntu Server 9.10 para futuras experimentaciones con un plan de trabajo ligeramente modificado.</p>
<ol>
<li>Actualización de paquetes.</li>
<li>Instalar ACPID.</li>
<li>Instalación del JDK de Java.</li>
<li>Instalación del ambiente de desarrollo C/C++.</li>
<li><strong>Instalación del servidor X y IceWM como administrador de ventanas.</strong></li>
<li>Depurar el software instalado.</li>
</ol>
<h2>Creación de la máquina virtual para la instalación del sistema  operativo.</h2>
<p><span style="font-family: courier new,courier;">$ virt-install \<br />
&#8211;connect qemu:///system \<br />
-n <strong>ubuntuserver-9.10_x64-general</strong> \<br />
-r <strong>384</strong> \<br />
&#8211;os-type <strong>linux</strong> \<br />
&#8211;os-variant <strong>generic26</strong> \<br />
&#8211;hvm \<br />
&#8211;cdrom <strong>/u/isos/ubuntu-9.10-server-amd64.iso</strong> \<br />
&#8211;network <strong>bridge:br0</strong> \<br />
&#8211;disk path=<strong>/u/vms/ubuntuserver-9.10_x64-general.img,size=7</strong> \<br />
&#8211;vnc &#8211;noautoconsole \<br />
&#8211;accelerate</span></p>
<h2>Conexión remota a la KVM para el proceso de instalación y  administración.</h2>
<p><span style="font-family: courier new,courier;">$  /usr/bin/virt-viewer -c qemu+ssh://<strong>ivy</strong>/system <strong>ubuntuserver-9.10_x64-general</strong></span><strong></strong></p>
<h2>Actualización de paquetes.</h2>
<p><span style="font-family: courier new,courier;">$ sudo aptitude update</span></p>
<p><span style="font-family: courier new,courier;">$ sudo aptitude safe-upgrade</span></p>
<h2>Instalación de ACPID.</h2>
<p><span style="font-family: courier new,courier;">$ sudo aptitude install acpid</span></p>
<h2>Instalación del JDK de Java.</h2>
<p><span style="font-family: courier new,courier;">$ sudo aptitude install sun-java6-bin sun-java6-fonts sun-java6-jdk sun-java6-jre sun-java6-plugin</span></p>
<h2>Instalación del ambiente de desarrollo C/C++.</h2>
<p><span style="font-family: courier new,courier;">$ sudo aptitude install build-essential</span></p>
<h2>Instalación del servidor X y IceWM como administrador de ventanas.</h2>
<p><span style="font-family: courier new,courier;">$ sudo aptitude install xorg icewm icewm-themes </span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hipergalaxia.org/blog/2010/02/13/instalar-ubuntu64-general-basado-en-ubuntu-server-9-10-64-bits-en-kvm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalar centos64-general basado en CentOS 5.4 64 bits en KVM</title>
		<link>http://www.hipergalaxia.org/blog/2010/02/13/instalar-centos64-general-basado-en-centos-5-4-64-bits-en-kvm/</link>
		<comments>http://www.hipergalaxia.org/blog/2010/02/13/instalar-centos64-general-basado-en-centos-5-4-64-bits-en-kvm/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 21:27:28 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Linux/Solaris/BSD]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[sudo]]></category>
		<category><![CDATA[Tesis-UAM]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=2376</guid>
		<description><![CDATA[Introducción.
El fin del presente artículo es el de preparar una imagen básica del sistema operativo, en este caso CentOS 5.4 de 64 bits, para futuros usos en experimentos y pruebas.  La infraestructura de virtualización que utilizo para implementarla es KVM.
En términos generales estos son las adecuaciones que tendrá está imagen básica.

Actualización de paquetes.
Instalar ACPID.
Permitir la [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p>El fin del presente artículo es el de preparar una imagen básica del sistema operativo, en este caso CentOS 5.4 de 64 bits, para futuros usos en experimentos y pruebas.  La infraestructura de virtualización que utilizo para implementarla es KVM.</p>
<p>En términos generales estos son las adecuaciones que tendrá está imagen básica.</p>
<ol>
<li>Actualización de paquetes.</li>
<li>Instalar ACPID.</li>
<li>Permitir la ejecución de <span style="font-family: courier new,courier;">sudo</span> para el usuario <span style="font-family: courier new,courier;">jimezam</span>.</li>
<li>Bloquear la contraseña del usuario <span style="font-family: courier new,courier;">root</span>.</li>
<li>Instalación del JDK de Java.</li>
<li>Instalación del ambiente de desarrollo C/C++.</li>
<li>Depurar el software instalado.</li>
</ol>
<h2>Creación de la máquina virtual para la instalación del sistema operativo.</h2>
<p><span style="font-family: courier new,courier;">$ virt-install \<br />
&#8211;connect qemu:///system \<br />
-n </span><span style="font-family: courier new,courier;"><strong>c</strong><strong>entos-5.4_x64-general</strong></span><span style="font-family: courier new,courier;"> \<br />
-r <strong>384</strong> \<br />
&#8211;os-type <strong>linux</strong> \<br />
&#8211;os-variant <strong>generic26</strong> \<br />
&#8211;hvm \<br />
&#8211;cdrom <strong>/u/isos/CentOS-5.4-x86_64-bin-DVD.iso</strong> \<br />
&#8211;network <strong>bridge:br0</strong> \<br />
&#8211;disk path=<strong>/u/vms/</strong></span><span style="font-family: courier new,courier;"><strong>c</strong><strong>entos-5.4_x64-general</strong></span><span style="font-family: courier new,courier;"><strong>.img,size=7</strong> \<br />
&#8211;vnc &#8211;noautoconsole \<br />
&#8211;accelerate</span></p>
<h2>Conexión remota a la KVM para el proceso de instalación y administración.</h2>
<p><span style="font-family: courier new,courier;">$ /usr/bin/virt-viewer -c qemu+ssh://<strong>ivy</strong>/system </span><span style="font-family: courier new,courier;"><strong>c</strong><strong>entos-5.4_x64-general</strong></span></p>
<h2>Actualización de paquetes.</h2>
<p><span style="font-family: courier new,courier;"># yum check-update</span></p>
<p><span style="font-family: courier new,courier;"># yum update</span></p>
<h2>Instalación de ACPID.</h2>
<p><span style="font-family: courier new,courier;"># yum install acpid</span></p>
<h2>Activar el acceso a <span style="font-family: courier new,courier;">sudo</span> para <span style="font-family: courier new,courier;">wheel</span>.</h2>
<p><span style="font-family: courier new,courier;"># visudo</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">%wheel     ALL=(ALL)    ALL</span></p>
<p><span style="font-family: courier new,courier;"># usermod -G wheel jimezam</span></p>
<h2>Bloquear la contraseña del usuario <span style="font-family: courier new,courier;">root</span>.</h2>
<p><span style="font-family: courier new,courier;"># passwd -l root</span></p>
<h2>Instalación del JDK de Java.</h2>
<p><span style="font-family: courier new,courier;"># yum install java-1.6.0-openjdk java-1.6.0-openjdk-devel</span></p>
<h2>Instalación del ambiente de desarrollo C/C++.</h2>
<p><span style="font-family: courier new,courier;"># yum install gcc gcc-c++ autoconf automake </span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hipergalaxia.org/blog/2010/02/13/instalar-centos64-general-basado-en-centos-5-4-64-bits-en-kvm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Construir Condor 7.4.1 desde fuentes en Linux CentOS 5.4</title>
		<link>http://www.hipergalaxia.org/blog/2010/02/12/construir-condor-7-4-1-desde-fuentes-en-linux-centos-5-4/</link>
		<comments>http://www.hipergalaxia.org/blog/2010/02/12/construir-condor-7-4-1-desde-fuentes-en-linux-centos-5-4/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 01:30:45 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[Condor]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[Linux/Solaris/BSD]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tesis-UAM]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=2366</guid>
		<description><![CDATA[Procedimiento.
Instalar el ambiente de desarrollo y los paquetes requeridos.
# yum install gcc gcc-c++ autoconf automake byacc ncurses-devel libtool flex bison bison-devel openssl-devel libX11-devel
Descargar las fuentes de Condor.
Acceder al sitio Current Stable Release: Condor 7.4.1 en http://www.cs.wisc.edu/condor/downloads-v2/download.pl y descargar el paquete Condor Source: condor_src-7.4.1-all-all.tar.gz.
Descomprimir las fuentes.
# tar zxvf condor_src-7.4.1-all-all.tar.gz
# cd condor-7.4.1/src
Construír el proyecto.
# ./build_init
# ./configure
# ./make
Generar [...]]]></description>
			<content:encoded><![CDATA[<h2>Procedimiento.</h2>
<h3>Instalar el ambiente de desarrollo y los paquetes requeridos.</h3>
<p><span style="font-family: courier new,courier;"># yum install gcc gcc-c++ autoconf automake byacc ncurses-devel libtool flex bison bison-devel openssl-devel libX11-devel</span></p>
<h3>Descargar las fuentes de Condor.</h3>
<p>Acceder al sitio <strong>Current Stable Release: Condor 7.4.1</strong> en <a href="http://www.cs.wisc.edu/condor/downloads-v2/download.pl" >http://www.cs.wisc.edu/condor/downloads-v2/download.pl</a> y descargar el paquete <strong>Condor Source</strong>: <span style="font-family: courier new,courier;">condor_src-7.4.1-all-all.tar.gz</span>.</p>
<h3>Descomprimir las fuentes.</h3>
<p><span style="font-family: courier new,courier;"># tar zxvf condor_src-7.4.1-all-all.tar.gz</span></p>
<p><span style="font-family: courier new,courier;"># cd condor-7.4.1/src</span></p>
<h3>Construír el proyecto.</h3>
<p><span style="font-family: courier new,courier;"># ./build_init</span></p>
<p><span style="font-family: courier new,courier;"># ./configure</span></p>
<p><span style="font-family: courier new,courier;"># ./make</span></p>
<h3>Generar el directorio con la distribución.</h3>
<p>Si desea generar binarios enlazados dinámicamente con información de depuración ejecute el siguiente comando.</p>
<p><span style="font-family: courier new,courier;"># ./make release</span></p>
<p>Si por el contrario, desea generar binarios enlazados dinámica y estáticamente SIN información de depuración, ejecute el siguiente comando.</p>
<p><span style="font-family: courier new,courier;"># ./make public</span></p>
<p>La distribución de Condor recién construída se ubicará bajo el directorio <span style="font-family: courier new,courier;">src/release_dir</span>.</p>
<h2>Enlaces.</h2>
<ul>
<li>Página web del proyecto Condor.<br />
<a href="http://www.cs.wisc.edu/condor/" > http://www.cs.wisc.edu/condor/</a></li>
<li>Descargar Condor.<br />
<a href="http://www.cs.wisc.edu/condor/downloads-v2/download.pl" > http://www.cs.wisc.edu/condor/downloads-v2/download.pl</a></li>
<li>Repositorio de manuales.<br />
<a href="http://www.cs.wisc.edu/condor/manual/index.html" > http://www.cs.wisc.edu/condor/manual/index.html</a></li>
<li>Manual &#8211; capítulo de instalación.<br />
<a href="http://www.cs.wisc.edu/condor/manual/v7.4/3_2Installation.html" > http://www.cs.wisc.edu/condor/manual/v7.4/3_2Installation.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.hipergalaxia.org/blog/2010/02/12/construir-condor-7-4-1-desde-fuentes-en-linux-centos-5-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integrar el ServicePack 3 en Windows XP y crear un CDROM de instalación a partir de él utilizando Linux Ubuntu 9.10</title>
		<link>http://www.hipergalaxia.org/blog/2010/02/04/integrar-el-servicepack-3-en-windows-xp-y-crear-un-cdrom-de-instalacion-a-partir-de-el-utilizando-linux-ubuntu-9-10/</link>
		<comments>http://www.hipergalaxia.org/blog/2010/02/04/integrar-el-servicepack-3-en-windows-xp-y-crear-un-cdrom-de-instalacion-a-partir-de-el-utilizando-linux-ubuntu-9-10/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 01:09:27 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[Slipstream]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[XP]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=2364</guid>
		<description><![CDATA[Introducción.
Windows XP después de 8 años de su introducción es la versión mas utilizada de este sistema operativo.  Con la liberación de sus service packs que solucionan problemas de seguridad y errores del sistema, es bastante estable e incluye todo lo que un usuario realmente necesita para utilizar su computador día a día.  Su sucesor [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p>Windows XP después de 8 años de su introducción es la versión mas utilizada de este sistema operativo.  Con la liberación de sus <em>service packs</em> que solucionan problemas de seguridad y errores del sistema, es bastante estable e incluye todo lo que un usuario realmente necesita para utilizar su computador día a día.  Su sucesor Windows Vista no nos agradó mucho que digamos y Windows 7, la versión que salió a finales del año pasado promete bastante.</p>
<p>Como decía, aún es muy frecuente encontrarnos con equipos basados en Windows XP en empresas y en nuestras casas, incluyendo a los ahora en apogeo <em>netbooks</em>.</p>
<p>Las actualizaciones de Windows XP, mientras el producto se encuentre aún bajo soporte de Microsoft, se pueden descargar de manera individual para ser instaladas manualmente o pueden ser instaladas en línea mediante el sitio de <a href="http://windowsupdate.microsoft.com/">WindowsUpdate</a>.  A medida que estas actualizaciones crecen y se generalizan son agrupadas en grupos llamados paquetes de servicios (o <em>service packs</em>), estos son incluídos en los CDROMs del sistema operativo para los equipos nuevos.</p>
<p>El problema radica cuando el CDROM de instalación del sistema operativo que venía con el equipo que se va a instalar es muy antígüo y no incluye los <em>service packs</em> mas recientes.  En este caso es necesario descargarlos o instalarlos en línea como se mencionó anteriormente, sin embargo esta es una tarea tediosa debido a los tamaños de los archivos y a que si se utiliza WU aparentemente es necesario instalar el SP2 antes del SP3 a pesar de que estos son acumulativos y uno incluye al otro.  Lo dispendioso de las instalaciones en estas condiciones se hacen mas visibles si es necesario instalar varios computadores y frecuentemente.</p>
<p>Lo ideal es obtener un CDROM de distribución de Windows XP que ya incluya el <em>service pack</em> mas reciente (SP3), el cual en caso de no encontrarse es posible construírlo, es decir, basados en uno antígüo (SP1 en mi caso) es posible crear un CDROM con los instaladores de Windows XP y SP3, este procedimiento es conocido como <em>slipstreaming</em>.  Supuestamente esto sólo es posible hacerlo a partir del SP1 y no desde la versión inicial.</p>
<p>A continuación se exponen los pasos necesarios para la integración del SP3 en disco de instalación de Windows XP SP1 utilizando las herramientas disponibles en Linux Ubuntu 9.10.</p>
<h2>Integración del SP3.</h2>
<h3>Requisitos.</h3>
<ul>
<li>Disco de instalación de Windows XP SP1 (o posterior).</li>
<li>Un equipo con Linux Ubuntu 9.10.
<ul>
<li>wine 1.1.31 o posterior.</li>
<li>cabextract 1.2 o posterior.</li>
</ul>
</li>
</ul>
<h3>Instalación del software requerido.</h3>
<p><span style="font-family: courier new,courier;">$ sudo aptitude install cabextract</span></p>
<p><span style="font-family: courier new,courier;">$ sudo aptitude install wine</span></p>
<h3>Copia de los archivos de Windows.</h3>
<p>Crear el directorio donde se almacenarán los archivos necesarios para el proceso de <em>slipstreaming</em>.</p>
<p><span style="font-family: courier new,courier;">$ mkdir ~/slipstream/</span></p>
<p>Insertar el CDROM de Windows XP SP1.</p>
<p>Desmontar el CDROM recién instalado tan pronto como el sistema operativo lo monte automáticamente.</p>
<p><span style="font-family: courier new,courier;">$ umount /media/X1AHOEM_ES</span></p>
<p>Montar el CDROM con opciones que preserven el estilo original de los nombres de archivo (mayúsculas).</p>
<p><span style="font-family: courier new,courier;">$ mkdir /tmp/xp</span></p>
<p><span style="font-family: courier new,courier;">$ sudo mount -t iso9660 -o map=off /dev/cdrom /tmp/xp</span></p>
<p>Copiar los archivos del CDROM al disco duro.</p>
<p><span style="font-family: courier new,courier;">$ mkdir ~/slipstream/WindowsXP</span></p>
<p><span style="font-family: courier new,courier;">$ cp -afr /tmp/xp/* ~/slipstream/WindowsXP/</span></p>
<p><span style="font-family: courier new,courier;">$ chmod -R 777 ~/slipstream/WindowsXP</span></p>
<p>Desmontar el CDROM y remover el punto de montaje temporal.</p>
<p><span style="font-family: courier new,courier;">$ sudo umount /tmp/xp</span></p>
<p><span style="font-family: courier new,courier;">$ rmdir /tmp/xp</span></p>
<p>Obtener el <em>Service Pack 3</em> de la siguiente ubicación.</p>
<p style="padding-left: 30px;"><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=es&amp;FamilyID=5b33b5a8-5e76-401f-be08-1e1555d4f3d4" >http://www.microsoft.com/downloads/details.aspx?displaylang=es&amp;FamilyID=5b33b5a8-5e76-401f-be08-1e1555d4f3d4</a></p>
<p>Descomprimir los archivos del SP3.<span style="font-family: courier new,courier;"><br />
</span></p>
<p><span style="font-family: courier new,courier;">$ mkdir ~/slipstream/SP3 &amp;&amp; cd ~/slipstream/SP3</span></p>
<p><span style="font-family: courier new,courier;">$ cabextract ~/slipstream/WindowsXP-KB936929-SP3-x86-ESN.exe</span></p>
<p><span style="font-family: courier new,courier;">$ chmod -R 777 ~/slipstream/SP3</span></p>
<p>Integrar el contenido del SP3 al árbol de la distribución antígüa.</p>
<p><span style="font-family: courier new,courier;">$ cd ~/slipstream/SP3/i386/update</span></p>
<p><span style="font-family: courier new,courier;">$ wine update.exe /integrate:Z:/home/jimezam/slipstream/WindowsXP</span></p>
<h2>Generación de la nueva imagen del CDROM.</h2>
<h3>Obtener la imagen del sector de inicio.</h3>
<p><span style="font-family: courier new,courier;">$ geteltorito -o ~/slipstream/bootsect.img /dev/cdrom<br />
</span></p>
<p><span style="font-family: courier new,courier;">$ cp ~/slipstream/bootsect.img ~/slipstream/WindowsXP/</span></p>
<h3>Generar la imagen ISO.</h3>
<p><span style="font-family: courier new,courier;">$ genisoimage -b ~/slipstream/bootsect.img -no-emul-boot -c BOOT.CAT -D &#8211;max-iso9660-filenames -relaxed-filenames -o ~/slipstream/WindowsXP_SP3.iso ~/slipstream/WindowsXP</span></p>
<h2>Enlaces.</h2>
<ul>
<li>Slipstreaming Windows XP with Service Pack 3 in Linux.<br />
<a href="http://jeremy.visser.name/2008/07/12/slipstreaming-windows-xp-with-service-pack-3-in-linux/" >http://jeremy.visser.name/2008/07/12/slipstreaming-windows-xp-with-service-pack-3-in-linux/</a></li>
<li>How to integrate (slipstream) Windows XP Service Pack 3 in installation CD (bajo Windows).<br />
<a href="http://kb.parallels.com/en/5446" >http://kb.parallels.com/en/5446</a></li>
<li>Paquete de instalación en red de Windows XP Service Pack 3 para profesionales de TI y desarrolladores.<br />
<a href="http://www.microsoft.com/downloads/details.aspx?displaylang=es&amp;FamilyID=5b33b5a8-5e76-401f-be08-1e1555d4f3d4" >http://www.microsoft.com/downloads/details.aspx?displaylang=es&amp;FamilyID=5b33b5a8-5e76-401f-be08-1e1555d4f3d4</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.hipergalaxia.org/blog/2010/02/04/integrar-el-servicepack-3-en-windows-xp-y-crear-un-cdrom-de-instalacion-a-partir-de-el-utilizando-linux-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evitar el doble gateway después de instalar el puente para KVM con wicd en Linux Ubuntu 9.10</title>
		<link>http://www.hipergalaxia.org/blog/2010/01/31/evitar-el-doble-gateway-despues-de-instalar-el-puente-para-kvm-con-wicd-en-linux-ubuntu-9-10/</link>
		<comments>http://www.hipergalaxia.org/blog/2010/01/31/evitar-el-doble-gateway-despues-de-instalar-el-puente-para-kvm-con-wicd-en-linux-ubuntu-9-10/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 04:27:37 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[Linux/Solaris/BSD]]></category>
		<category><![CDATA[redes]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Wicd]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=2360</guid>
		<description><![CDATA[Introducción.
Después de configurar el puente entre las interfaces de red para permitirle el acceso a la red a las máquinas virtuales basadas en KVM encontré un problema: el servidor podía ser accedido pero este no tenía acceso a Internet.
Después de algunas pruebas determiné el problema sin embargo su solución me tomó mas de lo esperado [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p>Después de <a href="http://blog.jorgeivanmeza.com/2010/01/configurando-un-puente-en-la-interfaz-de-red-para-las-kvm-en-linux-ubuntu-9-10/" >configurar el puente entre las interfaces de red</a> para permitirle el acceso a la red a las máquinas virtuales basadas en KVM encontré un problema: el servidor podía ser accedido pero este no tenía acceso a Internet.</p>
<p>Después de algunas pruebas determiné el problema sin embargo su solución me tomó mas de lo esperado ya que previamente había <a href="http://blog.jorgeivanmeza.com/2010/01/iniciar-la-conexion-wifi-aun-antes-de-iniciar-el-manejador-de-ventanas-en-linux-ubuntu-9-10-con-wicd/" >instalado wicd</a> para administrar con mayor sencillez las interfaces de red, especialmente la inalámbrica, y esto hizo que mis intentos previos de solución sin tenerlo en cuenta fracasaran miserablemente.</p>
<h2>El problema.</h2>
<p>Después de la creación del puente sobre la interfaz de red alámbrica (<span style="font-family: courier new,courier;">eth0</span>)  se crea la interfaz <em>bridge</em> (<span style="font-family: courier new,courier;">br0</span>) la cual toma su información de red.  El problema radica en que, aparentemente <span style="font-family: courier new,courier;">wicd</span>, se crean dos <em>gateways</em> por defecto.</p>
<p><span style="font-family: courier new,courier;">$ sudo route</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Kernel IP routing table<br />
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface<br />
192.168.1.0     *               255.255.255.0   U     0      0        0 br0<br />
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0<br />
192.168.122.0   *               255.255.255.0   U     0      0        0 virbr0<br />
<span style="color: #ff0000;"><strong>default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0<br />
default         192.168.1.1     0.0.0.0         UG    100    0        0 br0</strong></span></span></p>
<h2>La solución.</h2>
<h3>Versión temporal.</h3>
<p>El problema se soluciona removiendo el camino establecido a través de la interfaz de red alámbrica de la siguiente manera.</p>
<p><span style="font-family: courier new,courier;">$ sudo route del -net default netmask <span style="color: #ff0000;"><strong>0.0.0.0</strong></span> dev <span style="color: #ff0000;"><strong>eth0</strong></span></span></p>
<p>De esta manera el servidor ya puede acceder a la red WAN, sin embargo al reiniciarse el problema se vuelve a presentar.</p>
<h3>Version final.</h3>
<p>Probablemente en condiciones normales el problema se solucione agregando el comando mencionado anteriormente en <span style="font-family: courier new,courier;">/etc/rc.local</span> y asignándole permisos de ejecución a este archivo, sin embargo esta estrategia resultó infructuosa en el servidor ya que este estaba utilizando <span style="font-family: courier new,courier;">wicd</span>.</p>
<p>Para solucionar el problema de manera definitiva utilizando <span style="font-family: courier new,courier;">wicd</span> se deben realizar los siguientes pasos.</p>
<p><span style="font-family: courier new,courier;">$ sudo vi /etc/wicd/wired-settings.conf</span></p>
<p>Agregar un elemento <span style="font-family: courier new,courier;">afterscript</span> de la siguiente manera.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">[wired-default]<br />
afterscript = /etc/wicd/scripts/postconnect/removeEth0GatewayRoute<br />
&#8230;</span></p>
<p>Crear el <em>script</em> asociado.</p>
<p><span style="font-family: courier new,courier;">$ sudo vi /etc/wicd/scripts/postconnect/removeEth0GatewayRoute</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">route del -net default netmask <span style="color: #ff0000;"><strong>0.0.0.0</strong></span> dev <strong><span style="color: #ff0000;">eth0</span></strong></span></p>
<p><span style="font-family: courier new,courier;">$ sudo chmod +x /etc/wicd/scripts/postconnect/removeEth0GatewayRoute</span></p>
<p>Reiniciar el servidor y verificar que el <em>script</em> se ha ejecutado exitosamente.</p>
<p><span style="font-family: courier new,courier;">$ sudo route</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Kernel IP routing table<br />
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface<br />
192.168.1.0     *               255.255.255.0   U     0      0        0 br0<br />
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0<br />
192.168.122.0   *               255.255.255.0   U     0      0        0 virbr0<br />
default         192.168.1.1     0.0.0.0         UG    100    0        0 br0</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hipergalaxia.org/blog/2010/01/31/evitar-el-doble-gateway-despues-de-instalar-el-puente-para-kvm-con-wicd-en-linux-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problemas de autenticación/autorización de un 3Com OfficeConnect Wireless Router</title>
		<link>http://www.hipergalaxia.org/blog/2010/01/18/problemas-de-autenticacionautorizacion-de-un-3com-officeconnect-wireless-router/</link>
		<comments>http://www.hipergalaxia.org/blog/2010/01/18/problemas-de-autenticacionautorizacion-de-un-3com-officeconnect-wireless-router/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 05:22:02 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[3Com]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Router]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Vulnerabilidad]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=2351</guid>
		<description><![CDATA[Introducción.
El viernes pasado mientras aprendía acerca de Team Software Process se me ocurrió echar una mirada para intentar encontrar la dirección del filtro de contenido de la red que en la que estaba que la hacía prácticamente inútil bloqueando la mayoría de los sitios web de interés general.
Un traceroute de los sitios bloqueados no me [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p><a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2010/01/prd_lg_3crwe554g72.gif"><img class="alignleft size-full wp-image-2352" title="prd_lg_3crwe554g72" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2010/01/prd_lg_3crwe554g72.gif" alt="" width="210" height="119" /></a>El viernes pasado mientras aprendía acerca de <a href="http://en.wikipedia.org/wiki/Team_Software_Process" >Team Software Process</a> se me ocurrió echar una mirada para intentar encontrar la dirección del filtro de contenido de la red que en la que estaba que la hacía prácticamente inútil bloqueando la mayoría de los sitios web de interés general.</p>
<p>Un <em>traceroute</em> de los sitios bloqueados no me mostró la ubicación que quería, sólo permitía llegar hasta el enrrutador inalámbrico que me estaba permitiendo acceder a la red LAN.  Decepcionado terminé saludándolo para darme cuenta de un problema de seguridad que ocultaba.</p>
<h2>Conociendo al dispositivo.</h2>
<p>Inicialmente no me dijo mucho, sólo que aparentemente era un dispositivo 3Com (o al menos su interfaz de red lo era).</p>
<p><span style="font-family: courier new,courier;">$ sudo nmap -sA -O 192.168.2.1</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Starting Nmap 5.00 ( http://nmap.org ) at 2010-01-16 08:10 COT<br />
All 1000 scanned ports on 192.168.2.1 are unfiltered<br />
MAC Address: </span><span style="font-family: courier new,courier;">00:FF:C1:4D:FF:EE</span><span style="font-family: courier new,courier;"><span style="font-family: courier new,courier;"> (<strong><span style="color: #ff0000;">3co</span></strong></span><strong><span style="color: #ff0000;">m Europe</span></strong>)<br />
Too many fingerprints match this host to give specific OS details<br />
Network Distance: 1 hop</span></p>
<p>Posteriormente lo confirmé al ver que el dispositivo 3Com ejecutaba aparentemente una versión de Linux con el kernel 2.6 lo cual es relativamente reciente.</p>
<p><span style="font-family: courier new,courier;">$ sudo nmap -sS -O 192.168.2.1</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Starting Nmap 5.00 ( http://nmap.org ) at 2010-01-16 08:09 COT<br />
Interesting ports on 192.168.2.1:<br />
Not shown: 998 closed ports<br />
PORT   STATE SERVICE<br />
53/tcp open  domain<br />
<span style="color: #ff0000;"><strong>80/tcp open  http</strong></span><br />
MAC Address: 00:FF:C1:4D:FF:EE (<strong><span style="color: #ff0000;">3com Europe</span></strong>)<br />
Device type: general purpose<br />
<span style="color: #ff0000;"><strong>Running: Linux 2.6.X<br />
OS details: Linux 2.6.22</strong></span><br />
Network Distance: 1 hop</span></p>
<p>También se hizo evidente que el dispositivo permitía su administración a través de web (puerto 80).</p>
<p>Accediendo a el dispositivo utilizando un navegador web encontré que era finalmente un <strong>3Com OfficeConnect Wireless 11g</strong>.  Sabiendo esto investigué un poco si había problemas conocidos con este dispositivo.</p>
<h2>La vulnerabilidad.</h2>
<p>Resulta que estos dispositivos manejan incorrectamente la autenticación/autorización de su módulo web de administración, protegiendo correctamente a las páginas pero permitiendo el acceso directo a los CGIs.  Esto unido a que el método de copia de seguridad de la configuración del router genera un archivo (<span style="font-family: courier new,courier;">config.bin</span>) con esta información y lo almacena en su memoria interna para que el administrador lo descargue, termina convirtiéndose en un grave problema de seguridad.</p>
<p>El archivo puede descargarse mediante un CGI llamado <span style="font-family: courier new,courier;">SaveCfgFile</span> así que para obtenerlo sólo es necesario acceder a él mediante un navegador web.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">http://192.168.2.1/SaveCfgFile.cgi</span></p>
<p>El archivo contiene <span style="text-decoration: underline;">toda</span> la configuración del enrrutador, incluyendo su información de red y contraseñas de administración!</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">&#8230;<br />
httpd_username=admin<br />
httpd_password=admin<br />
&#8230;<br />
mradius_username=admin<br />
mradius_password=admin<br />
mradius_secret=mradius1218<br />
mradius_port=1812<br />
&#8230;<br />
http_username=admin<br />
login_password=admin<br />
http_passwd=admin<br />
&#8230;</span></p>
<h2>Conclusiones.</h2>
<p>Esta vulnerabilidad fue reportada a 3Com por Luca Carettoni de ikkisoft.com en diciembre de 2008 y fue conocida por el público en general en febrero del 2009.</p>
<p>Supongo que desde hace tanto tiempo para acá 3Com ya ha solucionado esta vulnerabilidad y se encuentra disponible una actualización del firmware que la soluciona.</p>
<p>Debe tenerse especial cuidado en los dispositivos que tengan la opción de <em>Remote Administration</em> activa ya que esta vulnerabilidad podrá ser explotada desde Internet.</p>
<h2>Enlaces.</h2>
<ul>
<li>3Com OfficeConnect Wireless Cable/DSL Router Authentication Bypass.<br />
<a href="http://packetstormsecurity.org/0902-exploits/LC-2008-05.txt" >http://packetstormsecurity.org/0902-exploits/LC-2008-05.txt</a></li>
<li>3Com® OfficeConnect® Wireless 11g Cable/DSL Gateway.<br />
<a href="http://www.3com.com/products/en_US/detail.jsp?tab=features&amp;sku=3CRWE554G72&amp;pathtype=support" >http://www.3com.com/products/en_US/detail.jsp?tab=features&amp;sku=3CRWE554G72&amp;pathtype=support</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.hipergalaxia.org/blog/2010/01/18/problemas-de-autenticacionautorizacion-de-un-3com-officeconnect-wireless-router/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
