jueves, 12 de mayo de 2011

Gestionar VPN con Network-Manager

Por razones de trabajo, se hace necesario que pueda acceder a diversos servicios y servidores de la empresa remotamente, bien sea desde mi hogar u otro sitio.
Para eso está configurada una VPN utilizando OpenVPN. A todos nos dieron nuestro certificado y la instrucción de ejecutar la instrucción "sudo openvpn certificado.ovpn" e ingresar las credenciales correspondientes en la consola. Tener que abrir una consola sólo para esto me parecía ligeramente fastidioso, pero como siempre tengo abiertas varias consolas, no di demasiada importancia.
Hasta que me fijé que Network-Manager tenía la opción de gestionar VPNs.
Lo primero que hay que hacer es verificar si está instalado el complemento de Network-Manager para el tipo de VPN que utilizamos (en mi caso OpenVPN). Para ello basta con ejecutar "aptitude search network-manager" y ver si está instalado (i) o no (p).
Se procede a instalar el complemento adecuado, si es necesario (en mi caso "sudo aptitude install network-manager-openvpn").
Para configurar la conexión VPN podemos hacer clic en el applet de Network-Manager, ir hasta el renglón "VPN" y seleccionar la opción "Configurar VPN" en el menú desplegable. Otra forma es ir a Sistema, Preferencias, "Conexiones de Red" y seleccionar la pestaña VPN.
Una vez que estamos allí, hacemos clic en Importar, seleccionamos el archivo con la configuración de la VPN (en mi caso un *.ovpn).
Allí podemos indicar el nombre de usuario sin indicar la contraseña, si queremos que la pregunte, o meter todos los datos en caso contrario.
En mi caso, tuve que seleccionar la opción que limitaba la conexión por VPN a las direcciones de esa red para no afectar la conexión regular a internet.

Ver un portal con dominio suspendido

El otro día mi novia me pidió ayuda para conseguir una información específica de una oficina pública, y yo como usuario súper avanzado de Google salté de una vez a hacer esas consultas avanzadas - que ahora agrupan bajo el término Google Hacking.
Pero la oficina no se dejaba: sus sitios estaban caídos, sus perfiles en las redes sociales no tenían la información, y los sitios de terceros sobre la oficina tampoco.
Cuando ya estaba listo para tirar la toalla, decidí consultar los datos WHOIS de los dominios de la oficina, pero no encontré la información que buscaba allí. Lo que sí encontré fue la información de que el registrante del dominio lo había suspendido (eso explicaba que los sitios estuviesen caídos) Y los servidores DNS que el sitio había provisto (¡Bingo!). Algo me decía que con esta información podía circunvenir la suspensión del dominio.
Lo primero que intenté fue agregar esos servidores de nombre a la conexión de internet que utilizaba a través de la consola de Network-Manager. Fracaso.
Luego, pensando que podía ser algo de Network-Manager, me fui derechito a editar /etc/resolv.conf. Fracaso.
Entonces me puse a pensar en alguna herramienta que me permitiese resolver el dominio pasándole el servidor de nombre como parámetro. Ya sabía que nslookup resolvía dominios, pero no sabía si se permitía especificar el servidor de nombres, así que consulté el manual y ví que la sintaxis que deseaba era nslookup dominio servidor. Segundo avance: tenía la dirección IP del servidor que alojaba el contenido de la página.
Pensando que tenía a Dios agarrado por la chiva, navegué directamente a la dirección IP, para encontrarme un panel (cpanel, creo) de esos que tienen los servicios de alojamiento. Fracaso.
Finalmente, se me prendió el bombillo y decidí editar el archivo /etc/hosts y agregar la línea "ip dominio", y luego al navegar a la dirección: ¡Éxito!
Espero les sea de utilidad.

miércoles, 11 de mayo de 2011

Ruby on Rails en Ubuntu

Ruby me ha llamado la atención desde cuando estudiaba en la universidad, sin embargo terminé dándole unas cuantas vueltas al asunto. Ahora que finalmente me decidí a probarlo para un proyectico personal, me encuentro con el conflicto fastidioso entre el ruby viejo de Ubuntu y la última versión del marco de desarrollo Ruby on Rails.
Afortunadamente, San Google me permitió hallar una buena guía en Internet que procedo a resumir y traducir al castellano. Mi sistema es una computadora bajo Ubuntu Lucid (10.04).
  1. Poner la casa en Orden
  2. sudo aptitude update && sudo aptitude full-upgrade
  3. Instalar las dependencias para descargar y compilar todo
  4. sudo apt-get install build-essential git-core curl
  5. Descargar e Instalar Ruby Version Manager (RVM)
  6. bash < <(curl -s https://rvm.beginrescueend.com/install/rvm)
  7. Configurar RVM
  8. echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"' >> ~/.bashrc
    . ~/.bashrc
  9. Verificar las dependencias de RVM
  10. rvm notes
    ...
    # For Ruby (MRI & ree) you should install the following OS dependencies:
    ruby: aptitude install build-essential bison openssl libreadline6 libreadline6-dev
    curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0
    libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf
  11. Instalar las dependencias de RVM (salida de comando anterior)
  12. sudo aptitude install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf
  13. Instalar Ruby
  14. rvm install 1.9.2
  15. Configurar Ruby
  16. rvm use 1.9.2
  17. Verificar Ruby (opcional)
  18. ruby -v
    ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-linux]
  19. Configurar versión predeterminada de Ruby
  20. rvm --default use 1.9.2
  21. Instalar Rails
  22. gem install rails
  23. Instalar Complemento para MySQL (opcional)
  24. sudo aptitude install libmysqlclient16-dev
    gem install mysql
  25. Instalar Complemento para PostgreSQL (opcional)
  26. sudo aptitude install libpq-dev
    gem install pg

¡Listo! Ahora a revisar las guías y tutoriales para desarrollar en esta plataforma. Para mayores detalles sobre los pasos de esta guía, pueden ir al artículo original o la documentación de RVM