Category: Software


Crear un tunel SSH para la conexión a un servidor MySQL detrás de un firewall con Windows utilizando Putty

March 9th, 2010 — 12:11pm

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 Workbench que es la herramienta de administración gráfica que provee el motor de bases de datos.

Implementación de la solución.

Crear la especificación del tunel en Putty.

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.

Ejecute Putty.exe.

Session en Putty.exe

Session en Putty.exe

En la Session (lado izquierdo) especifique la siguiente información.

1. Nombre del servidor SSH.  desarrollo.com para este ejemplo.

2. Puerto del servicio SSH.  Es el puerto 22 por defecto.  Elija además el tipo de conexión (Connection type) SSH.

3. Especifique un nombre para almacenar la sesión (Saved Sessions).  MiTunel para este ejemplo.

4. Presione el botón guardar (Save) para almacenar la configuración recién especificada.

Connection > SSH en Putty.exe

Connection > SSH en Putty.exe

En las opciones de Connection > SSH elija la casilla de verificación Don’t start a shell para evitar que se cree una consola de comandos interactiva ya que sólo se desea crear el tunel.

Connection > SSH > Tunnels en Putty.exe

Connection > SSH > Tunnels en Putty.exe

Determine la información relacionada con los lados del tunel.

5. Especifique el puerto local desde el cual se iniciará el tunel.  3307 en este caso.

6. Especifique el destino y su puerto donde terminará el tunel.  localhost:3306 para este ejemplo.

Presione el botón agregar (Add) para almacenar los extremos del tunel.

Finalmente almacena la configuración establecida regresando a la sección de Session y presionando el botón de guardar (Save).

Establecer un tunel previamente especificado.

Esto se puede hacer de dos maneras, una desde la interfaz gráfica de Putty seleccionando MiTunel en la lista de las sesiones guardadas (Saved Sessions), presionando el botón cargar (Load) y abriendo la sesión presionando el botón (Open).

Una segunda alternativa es desde la línea de comando ejecutando la siguiente instrucción.

C:\ruta\a\putty.exe -load MiTunel

En ambos casos el resultado es el mismo, aparecerá una ventana de login para realizar la autenticación con el servidor remoto (6).

Autenticación de usuario con SSH.

Autenticación de usuario con SSH.

Realizar la conexión a MySQL a través del tunel SSH.

Como se mencionó inicialmente para la verificación de la conexión se utilizará MySQL Workbench.

Connect to database

Connect to database

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 3307 (10) -ver 5 y 6-.

VN:F [1.8.5_1061]
Rating: +1 (from 1 vote)

Comment » | Internet, Software, Windows

Crear un tunel SSH para la conexión a un servidor MySQL detrás de un firewall con Linux Debian 5

March 8th, 2010 — 9:58pm

Introducción.

Este es el panorama del esquema de red de la oficina del grupo de desarrollo.

Esquema de la red

Esquema de la red

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).

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.

El problema.

Se requiere ahora que los desarrolladores puedan acceder al servidor desde sus clientes a través de Internet.

El problema se divide en dos aproximaciones.

  1. Manipular el software, el código y los datos remotamente.
  2. Manipular el software y el código localmente, y los datos remotamente.

La solución.

Manipular el software, el código y los datos remotamente (1).

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 Linux y Windows) y sus datos son manipulados a través de la web con PHPMyAdmin.

Manipular el software y el código localmente y los datos remotamente (2).

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.

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.

Implementación de la solución (2).

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.

Las siguientes acciones se realizan desde el cliente remoto.

Establecer el tunel SSH entre el cliente remoto y el servidor de desarrollo.

$ ssh desarrollador@desarrollo.com -L 3307:localhost:3306 -N -f

Con la instrucción anterior estamos creando un tunel entre el cliente remoto y el servidor desarrollo.com con el usuario desarrollador y utilizando al protocolo SSH.  Se le está indicando además que el tunel se deberá establecer entre el puerto 3307 local y el puerto 3306 del servidor remoto, en este caso el mismo localhost.  Es muy importante tener en cuenta que la referencia de este último servidor remoto se realiza previa conexión a desarrollo.com, 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.

Otro aspecto interesante a tener en cuenta es que los puertos utilizados no necesariamente deben ser diferentes ya que uno es local (3307 en este ejemplo) y el otro es remoto (3306 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 3306) será entonces necesario utilizarlos diferentes como se ha planeado en este artículo.

Realizar la conexión a MySQL a través del tunel SSH.

Después de establecido el tunel entre cliente y servidor la conexión se realiza directamente con el puerto local (3307) 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.

$ mysql -h 127.0.0.1 -u bd_usuario -p -P 3307 bd_nombre

Tenga en cuenta que el inicio de conexión (connect) 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 -A en la invocación al cliente de MySQL (mysql).

Scripts de conexión.

A pesar de que el procedimiento es -extremadamente- simple, he creado un par de scripts 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.

Los scripts pueden ser descargados de aqui y configurados utilizando cualquier editor de texto.  tunssh_connection se encarga de establecer la conexión del túnel SSH mientras que tunssh_mysql realiza la conexión a la base de datos MySQL remota a través del túnel SSH.

Enlaces.

VN:F [1.8.5_1061]
Rating: 0 (from 0 votes)

Comment » | Internet, Linux/Solaris/BSD, Software

Actualizar DynDNS.org desde Linux Ubuntu utilizando Inadyn

March 6th, 2010 — 10:59pm

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 actualiza frecuentemente adaptando el DNS según se modifique la dirección dinámica del router, permitiéndole a los clientes acceder al servidor utilizando siempre el nombre DNS y desconociendo por completo la dirección IP o su eventual actualización.

El servicio de Free Dynamic DNS se puede solicitar directamente desde el sitio web de la empresa, http://www.dyndns.com/.  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.

Ahora utilizo un enrrutador marca Scientific Atlanta 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.

Para hacer esto utilizo Inadyn, 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.

Instalación & Configuración.

Instalación de los paquetes de Inadyn.

$ sudo aptitude install inadyn

Crear el archivo de configuración por defecto.

$ sudo cp /usr/share/doc/inadyn/examples/inadyn.conf /etc/inadyn.conf

Asegurar los permisos del archivo de configuración por defecto.

$ sudo chmod 600 /etc/inadyn.conf

Editar la configuración de Inadyn con la información específica del servicio de DynDNS.org.

$ sudo vi /etc/inadyn.conf

–username USUARIO
–password CONTRASEÑA
update_period_sec 3600
log_file /var/log/inadyn.log
alias DOMINIO_DYNDNS
background

Modifique el archivo de configuración de acuerdo a sus valores específicos.

  • USUARIO: su nombre de usuario en DynDNS.org.
  • CONTRASEÑA: la contraseña correspondiente al usuario mencionado anteriormente.
  • DOMINIO_DYNDNS: dominio que se configuró gratuitamente con la cuenta en DynDNS.org.

Crear un proceso cron para ejecutar Inadyn automáticamente al inicio del sistema operativo.

$ sudo crontab -e

@reboot /usr/sbin/inadyn

Comprobación del funcionamiento.

Cuando reinicie la máquina verifique que el proceso Inadyn se encuentre ejecutándose correctamente.

$ ps -A | grep inadyn

1149 ?        00:00:00 inadyn

$ cat /var/log/inadyn.log

INADYN: Started ‘INADYN version 1.96′ – dynamic DNS updater.
INADYN:IP: Error ‘0xb’ resolving host name ‘checkip.dyndns.org’

Verifique la dirección IP asociada al nombre DNS del servicio utilizando un ping por ejemplo.

$ ping ejemplo.gotdns.org

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 http://whatismyipaddress.com/.

Relacionar el dominio DynDNS.org con un dominio privado.

Es posible relacionar el dominio que nos ofrece gratuitamente DynDNS (ejemplo.gotdns.org) 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.

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.

ejemplo.jorgeivanmeza.com IN CNAME ejemplo.gotdns.org

Gracias a lo anterior, el nuevo dominio (ejemplo.jorgeivanmeza.com) hará siempre referencia al original (ejemplo.gotdns.org) 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.

La configuración del DNS para agregar el CNAME varía el paquete de DNS u operador de hosting que se utilice.  Estos pasos describen los procedimientos necesarios con los principales operadores de hosting, en un servidor Linux y en un servidor Windows.

Enlaces.

VN:F [1.8.5_1061]
Rating: 0 (from 0 votes)

Comment » | Linux/Solaris/BSD, Software

Instalar ubuntu64-general basado en Ubuntu Server 9.10 64 bits en KVM

February 13th, 2010 — 8:28pm

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.

  1. Actualización de paquetes.
  2. Instalar ACPID.
  3. Instalación del JDK de Java.
  4. Instalación del ambiente de desarrollo C/C++.
  5. Instalación del servidor X y IceWM como administrador de ventanas.
  6. Depurar el software instalado.

Creación de la máquina virtual para la instalación del sistema operativo.

$ virt-install \
–connect qemu:///system \
-n ubuntuserver-9.10_x64-general \
-r 384 \
–os-type linux \
–os-variant generic26 \
–hvm \
–cdrom /u/isos/ubuntu-9.10-server-amd64.iso \
–network bridge:br0 \
–disk path=/u/vms/ubuntuserver-9.10_x64-general.img,size=7 \
–vnc –noautoconsole \
–accelerate

Conexión remota a la KVM para el proceso de instalación y administración.

$ /usr/bin/virt-viewer -c qemu+ssh://ivy/system ubuntuserver-9.10_x64-general

Actualización de paquetes.

$ sudo aptitude update

$ sudo aptitude safe-upgrade

Instalación de ACPID.

$ sudo aptitude install acpid

Instalación del JDK de Java.

$ sudo aptitude install sun-java6-bin sun-java6-fonts sun-java6-jdk sun-java6-jre sun-java6-plugin

Instalación del ambiente de desarrollo C/C++.

$ sudo aptitude install build-essential

Instalación del servidor X y IceWM como administrador de ventanas.

$ sudo aptitude install xorg icewm icewm-themes

VN:F [1.8.5_1061]
Rating: 0 (from 0 votes)

Comment » | Linux/Solaris/BSD, Software

Instalar centos64-general basado en CentOS 5.4 64 bits en KVM

February 13th, 2010 — 4:27pm

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.

  1. Actualización de paquetes.
  2. Instalar ACPID.
  3. Permitir la ejecución de sudo para el usuario jimezam.
  4. Bloquear la contraseña del usuario root.
  5. Instalación del JDK de Java.
  6. Instalación del ambiente de desarrollo C/C++.
  7. Depurar el software instalado.

Creación de la máquina virtual para la instalación del sistema operativo.

$ virt-install \
–connect qemu:///system \
-n
centos-5.4_x64-general \
-r 384 \
–os-type linux \
–os-variant generic26 \
–hvm \
–cdrom /u/isos/CentOS-5.4-x86_64-bin-DVD.iso \
–network bridge:br0 \
–disk path=/u/vms/
centos-5.4_x64-general.img,size=7 \
–vnc –noautoconsole \
–accelerate

Conexión remota a la KVM para el proceso de instalación y administración.

$ /usr/bin/virt-viewer -c qemu+ssh://ivy/system centos-5.4_x64-general

Actualización de paquetes.

# yum check-update

# yum update

Instalación de ACPID.

# yum install acpid

Activar el acceso a sudo para wheel.

# visudo

%wheel     ALL=(ALL)    ALL

# usermod -G wheel jimezam

Bloquear la contraseña del usuario root.

# passwd -l root

Instalación del JDK de Java.

# yum install java-1.6.0-openjdk java-1.6.0-openjdk-devel

Instalación del ambiente de desarrollo C/C++.

# yum install gcc gcc-c++ autoconf automake

VN:F [1.8.5_1061]
Rating: 0 (from 0 votes)

1 comment » | Linux/Solaris/BSD, Software

Construir Condor 7.4.1 desde fuentes en Linux CentOS 5.4

February 12th, 2010 — 8:30pm

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 el directorio con la distribución.

Si desea generar binarios enlazados dinámicamente con información de depuración ejecute el siguiente comando.

# ./make release

Si por el contrario, desea generar binarios enlazados dinámica y estáticamente SIN información de depuración, ejecute el siguiente comando.

# ./make public

La distribución de Condor recién construída se ubicará bajo el directorio src/release_dir.

Enlaces.

VN:F [1.8.5_1061]
Rating: 0 (from 0 votes)

Comment » | Linux/Solaris/BSD, Software

Integrar el ServicePack 3 en Windows XP y crear un CDROM de instalación a partir de él utilizando Linux Ubuntu 9.10

February 4th, 2010 — 8:09pm

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 Windows Vista no nos agradó mucho que digamos y Windows 7, la versión que salió a finales del año pasado promete bastante.

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 netbooks.

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 WindowsUpdate.  A medida que estas actualizaciones crecen y se generalizan son agrupadas en grupos llamados paquetes de servicios (o service packs), estos son incluídos en los CDROMs del sistema operativo para los equipos nuevos.

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 service packs 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.

Lo ideal es obtener un CDROM de distribución de Windows XP que ya incluya el service pack 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 slipstreaming.  Supuestamente esto sólo es posible hacerlo a partir del SP1 y no desde la versión inicial.

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.

Integración del SP3.

Requisitos.

  • Disco de instalación de Windows XP SP1 (o posterior).
  • Un equipo con Linux Ubuntu 9.10.
    • wine 1.1.31 o posterior.
    • cabextract 1.2 o posterior.

Instalación del software requerido.

$ sudo aptitude install cabextract

$ sudo aptitude install wine

Copia de los archivos de Windows.

Crear el directorio donde se almacenarán los archivos necesarios para el proceso de slipstreaming.

$ mkdir ~/slipstream/

Insertar el CDROM de Windows XP SP1.

Desmontar el CDROM recién instalado tan pronto como el sistema operativo lo monte automáticamente.

$ umount /media/X1AHOEM_ES

Montar el CDROM con opciones que preserven el estilo original de los nombres de archivo (mayúsculas).

$ mkdir /tmp/xp

$ sudo mount -t iso9660 -o map=off /dev/cdrom /tmp/xp

Copiar los archivos del CDROM al disco duro.

$ mkdir ~/slipstream/WindowsXP

$ cp -afr /tmp/xp/* ~/slipstream/WindowsXP/

$ chmod -R 777 ~/slipstream/WindowsXP

Desmontar el CDROM y remover el punto de montaje temporal.

$ sudo umount /tmp/xp

$ rmdir /tmp/xp

Obtener el Service Pack 3 de la siguiente ubicación.

http://www.microsoft.com/downloads/details.aspx?displaylang=es&FamilyID=5b33b5a8-5e76-401f-be08-1e1555d4f3d4

Descomprimir los archivos del SP3.

$ mkdir ~/slipstream/SP3 && cd ~/slipstream/SP3

$ cabextract ~/slipstream/WindowsXP-KB936929-SP3-x86-ESN.exe

$ chmod -R 777 ~/slipstream/SP3

Integrar el contenido del SP3 al árbol de la distribución antígüa.

$ cd ~/slipstream/SP3/i386/update

$ wine update.exe /integrate:Z:/home/jimezam/slipstream/WindowsXP

Generación de la nueva imagen del CDROM.

Obtener la imagen del sector de inicio.

$ geteltorito -o ~/slipstream/bootsect.img /dev/cdrom

$ cp ~/slipstream/bootsect.img ~/slipstream/WindowsXP/

Generar la imagen ISO.

$ genisoimage -b ~/slipstream/bootsect.img -no-emul-boot -c BOOT.CAT -D –max-iso9660-filenames -relaxed-filenames -o ~/slipstream/WindowsXP_SP3.iso ~/slipstream/WindowsXP

Enlaces.

VN:F [1.8.5_1061]
Rating: 0 (from 0 votes)

1 comment » | Software, Windows

Evitar el doble gateway después de instalar el puente para KVM con wicd en Linux Ubuntu 9.10

January 31st, 2010 — 11:27pm

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 ya que previamente había instalado wicd 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.

El problema.

Después de la creación del puente sobre la interfaz de red alámbrica (eth0)  se crea la interfaz bridge (br0) la cual toma su información de red.  El problema radica en que, aparentemente wicd, se crean dos gateways por defecto.

$ sudo route

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 br0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
192.168.122.0   *               255.255.255.0   U     0      0        0 virbr0
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
default         192.168.1.1     0.0.0.0         UG    100    0        0 br0

La solución.

Versión temporal.

El problema se soluciona removiendo el camino establecido a través de la interfaz de red alámbrica de la siguiente manera.

$ sudo route del -net default netmask 0.0.0.0 dev eth0

De esta manera el servidor ya puede acceder a la red WAN, sin embargo al reiniciarse el problema se vuelve a presentar.

Version final.

Probablemente en condiciones normales el problema se solucione agregando el comando mencionado anteriormente en /etc/rc.local y asignándole permisos de ejecución a este archivo, sin embargo esta estrategia resultó infructuosa en el servidor ya que este estaba utilizando wicd.

Para solucionar el problema de manera definitiva utilizando wicd se deben realizar los siguientes pasos.

$ sudo vi /etc/wicd/wired-settings.conf

Agregar un elemento afterscript de la siguiente manera.

[wired-default]
afterscript = /etc/wicd/scripts/postconnect/removeEth0GatewayRoute

Crear el script asociado.

$ sudo vi /etc/wicd/scripts/postconnect/removeEth0GatewayRoute

route del -net default netmask 0.0.0.0 dev eth0

$ sudo chmod +x /etc/wicd/scripts/postconnect/removeEth0GatewayRoute

Reiniciar el servidor y verificar que el script se ha ejecutado exitosamente.

$ sudo route

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 br0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
192.168.122.0   *               255.255.255.0   U     0      0        0 virbr0
default         192.168.1.1     0.0.0.0         UG    100    0        0 br0

VN:F [1.8.5_1061]
Rating: +1 (from 1 vote)

Comment » | Linux/Solaris/BSD, Software

Actualizar Linux CentOS 5.4 desde línea de comando utilizando Yum

January 15th, 2010 — 12:00am

Introducción.

Linux CentOS utiliza Yum como herramienta para administrar sus paquetes, de manera análoga a como Debian utiliza al Aptitude.

A continuación se describe el breve proceso que se debe realizar para actualizar para actualizar los paquetes y el sistema operativo desde la línea de comando utilizando esta herramienta.

Procedimiento.

Verificar si hay actualizaciones disponibles.

$ yum check-update

Descargar e instalar las actualizaciones disponibles.

$ sudo yum update

Enlaces.

VN:F [1.8.5_1061]
Rating: 0 (from 0 votes)

1 comment » | Linux/Solaris/BSD, Software

Permitirle a un usuario ejecutar el comando “sudo” en Linux CentOS 5.4

January 14th, 2010 — 11:44pm

Introducción.

Por defecto en Linux CentOS, hijo de RedHat, la configuración del comando sudo viene restringida.  Su filosofía es la de utilizar al usuario root directamente.  Si intentamos ejecutar cualquier comando mediante sudo se obtiene siempre este mensaje de error.

xxxxx is not in the sudoers file.  This incident will be reported.

Quienes utilizamos Ubuntu, hijo de Debian, estamos acostumbrados a un usuario root sin contraseña y a utilizar el sudo cada vez que se va a desarrollar alguna actividad de administración que requiera los privilegios del superusuario. A continuación se detallan los pasos necesarios para configurar de esta manera el comportamiento del comando sudo.

Procedimiento.

Configuración de sudoers.

Realice los pasos de esta sección como usuario administrador.

$ su – # visudo

Remueva el comentario inicial de la siguiente línea según como se muestra a continuación.

## Allows people in group wheel to run all commands
%wheel    ALL=(ALL)    ALL

Autorización a los usuarios.

Utilizando las herramientas de administración gráficas.

Ejecute la herramienta de administración de usuarios y grupos.

Administración de los usuarios y los grupos

Seleccione las preferencias del Administrador de Usuarios y Grupos mediante el siguiente menú.

Edit > Preferences.

Remueva la marca de la casilla de verificación llamada Hide system users and groups.

Mostrar los usuarios y grupos del sistema

Seleccione la hoja Groups y en ella ubique al grupo wheel y presione el botón de Properties en la parte superior.

Editar las propiedades del grupo wheel.

Seleccione los usuarios que estarán autorizados para ejecutar el comando sudo y presione el botón de Ok .

Agregar usuarios al grupo wheel.

Utilizando las herramientas de administración de línea de comando.

# usermod -G wheel jimezam

Listo!

Aposteriori.

Si se desea una aproximación un poco mas cercana a la forma como Debian maneja este tipo de autorizaciones, puede que le sea interesante bloquear el acceso directo al usuario root mediante su contraseña.  Para hacer esto ejecute el siguiente comando.

$ sudo passwd -l root

De esta manera no será posible iniciar sesión de ninguna manera con el usuario root y las tareas administrativas sólo podrán ser ejecutadas mediante la invocación del sudo por los sudoers, es decir, por los usuarios que se hayan inscrito en el grupo wheel. Este procedimiento se revierte fácilmente al asignarle una nueva contraseña al usuario root con passwd.

VN:F [1.8.5_1061]
Rating: 0 (from 0 votes)

Comment » | Linux/Solaris/BSD, Software

Back to top