29 de mayo de 2013

Montar VPN con PPTP en Ubuntu

Tras varios intentos, he conseguido montar un servidor VPN sobre un Ubuntu básico. Funciona bien con el cliente VPN que trae Android. Os pongo los pasos por si os interesan.

En un terminal instalamos el servidor PPTP

sudo apt-get install pptpd

Una vez finalizado el proceso se iniciará el servidor automáticamente, pero aún no está configurado, para ello haremos lo siguiente:

sudo gedit /etc/pptpd.conf

Se puede usar el editor que se prefiera, yo lo he hecho con nano pero pongo gedit para aquellos que os resulte más familar. En ese archivo configuraremos la ip local y remota, descomentándo las siguientes líneas (quitando la almohadilla # a principio de línea) o añadiéndolas

localip 192.168.1.100
remoteip 192.168.1.250-255
netmask 255.255.255.0


Guardamos y cerramos.

La ip local debe coincidir con la de la máquina que monta el servidor, que se puede saber con el comando ifconfig. Mientras que las remotas deben de no coincidir con ninguna otra máquina de la red. Mediante el guión podemos establecer un rango, en mi ejemplo va de 250 hasta 255, para 5 conexiones externas.

Ahora configuraremos otro archivo para que nos permita el acceso a internet:

sudo gedit /etc/ppp/pptpd-options

En este archivo descomentámos o añadimos las siguientes líneas para que permitan la resolución de DNS y permitan la codificación de un smartphone

# Network and Routing
ms-dns 91.191.136.152
ms-dns 85.229.85.109
netmask 255.255.255.0

# MPPE should be stateless ¡¡Imprescindible para Android!!
nomppe-stateful


Guardamos y cerramos. Yo he usado unas DNS que me gustan pero se pueden usar otras como las de Google (8.8.8.8 - 8.8.4.4) o las de tu ISP.

Ahora vamos a añadir usuarios a nuestra VPN. Para hacerlo modificaremos el archivo chap-secrets:

sudo gedit /etc/ppp/chap-secret

En nuestro ejemplo vamos a usar como usuario/contraseña lo siguiente Jesus/12345. Tened en cuenta que cada espacio se debe añadir con el tabulador, y debe quedar algo como lo siguiente:

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
Jesus        *       12345     *


Como siempre guardamos y salimos.

Ahora vamos a proceder a activar el IP forwarding, para ello vamos a modificar el archivo /etc/sysctl.conf:

sudo gedit /etc/sysctl.conf

Buscamos la línea #net.ipv4.ip_forward=1 y le quitamos la # para descomentarla. Quedando así:

net.ipv4.ip_forward=1

Guardamos los cambios y cerramos el archivo. Y activamos este último cambio con el comando

sudo sysctl -p

Hacemos un par de cambios en iptables para permitir el reenvío de conexión

sudo iptables -P FORWARD ACCEPT
sudo iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE


Lo ponemos en marcha con las modificaciones que hemos hecho

/etc/init.d/pptpd restart

Ya sólo queda configurar el cliente para que se conecte, y por supuesto abrir un puerto en el router (puerto 1723 por defecto) si es necesario. Bueno, y también poner un servicio de ip dinámica y esas cosas ya al gusto de cada cual. A las malas, si el router no permite abrir el puerto PPTP correctamente, también se puede usar la opción de incluir el servidor en la DMZ del router, aunque no es lo más aconsejable.


26 de mayo de 2013

Ubuntu + Nvidia híbrida + Bumblebee + CUDA + SDK

Ubuntu + Nvidia híbrida + Bumblebee + CUDA + SDK, ¡¡toma ya como consiga poner todo esto!!

Buscado y encontrado en ask ubuntu:

Últimamente me he visto animado a sacarle más partido a mi GPU ;-) y exprimir al máximo mi hardware. Y para ello nada mejor que activar plenamente CUDA bajo mi queridísimo GNU/Linux. ¿Lo conseguiré con mi GeForce 610M?

Paso 1: Instalar Bumblebee

Eso ya lo tengo hecho desde hace mucho y no es difícil de instalar. De forma resumida sería así:

sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
sudo apt-get install bumblebee virtualgl linux-headers-generic


Opcionalmente añadir los repositorios más actualizados aunque para lo que trato de hacer con CUDA es poco recomendable

sudo apt-add-repository ppa:xorg-edgers/ppa (desde 12.10 en adelante)
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates (desde 10.04 a 12.04)


Paso 2: Instalar CUDA

Descargamos el toolkit de la web de nvidia para linux, el enlace actualmente es éste.

chmod +x cudatoolkit_5.0.35_linux_64_ubuntu11.10-1.run
sudo ./cudatoolkit_5.0.35_linux_64_ubuntu11.10-1.run

Como ya tenemos instalados los drivers (304.88), rechazamos instalar la versión que propone (304.54) Aceptamos el directorio de instalación por defecto /usr/local/cuda-5.0 pulsando Intro cuando lo pregunta y hacemos caso a las indicaciones finales sobre inclusión de los path.

sudo gedit /etc/environment

Y en mi caso quedó así:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/cuda-5.0/bin"
LD_LIBRARY_PATH="/usr/local/cuda-5.0/lib64:/lib"

Paso3: Instalar SDK

... continuara

Fallos en Orígenes del software o repositorios al actualizar Ubuntu

Pensé hace bastante que ya lo habían corregido, y por ello no llegué a escribir el artículo que pongo ahora. Pero tanto con la actualización a Ubuntu 12.10 como ahora a la 13.04, hay un pequeño y molesto error si como en mi caso tienes un buen montón de repositorios extra.



Dicho error consiste en que una vez actualizas de una versión anterior, te desactiva de forma automática los repositorios. Y si intentas activarlos luego, desde su apartado gráfico, aunque te pida la contraseña y lo hagas todo bien, no hace caso.

Pues bien, el hecho de que no responda se debe únicamente a un problema con las tildes que añade en los comentarios (típico problema con la codificación de caracteres). Y su solución más fácil es eliminar todo rastro de caracteres acentuados o mal digeridos por los teclado ingleses como la ñ.

En base a esto podemos hacer dos cosas.

  • Editar a mano y eliminar los acentos que no admite
Los archivos a modificar están en /etc/apt/sources.list.d y los podemos editar como administrador con el editor que más nos guste, geany, gedit, nano, vim. O de forma algo más sencilla a través de Ubuntu Tweak, en su apartado de Administración > Sistema > Editor de orígenes de software
  • Desactivar manualmente los repositorios antes de actualizar
Claro, ya sabiendo que nos va a dar error, nos tomamos la precaución antes de actualizar, de desactivar desmarcando nuestros repositorios. Con lo que no nos toca dichos archivos y una vez realizada la actualización los podemos activar de nuevo sin problema. Bueno, siempre que en los comentarios no pongamos caracteres no ingleses.

Actualización (7/6/2013): Por lo visto podemos hacer una tercera cosa

  • Emplear Y PPA Manager
Interesante herramienta para gestionar nuestros repositorios, que entre muchas opciones, si buscamos en Avanzadas encontraremos la de "Volver a habilitar PPAs hábiles después de actualizar Ubuntu" que nos interesa. Podemos instalar esta aplicación del siguiente modo:

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager

4 de mayo de 2013

Eliminar los problemas de privacidad de Ubuntu 13.04

Desde la versión 12.10 Ubuntu está intentando obtener ingresos a través de la promoción de la tienda de Amazon principalmente. Esto ha hecho que existan dudas acerca de la privacidad de esta distribución, que es algo inherente hasta ahora en todos los sabores de Linux. Incluso Stallman ha llegado a considerar estos cambios como de spyware.

En cualquier caso como cualquier otra distribución de Linux, el usuario sigue teniendo control absoluto del sistema, y por tanto es totalmente posible eliminar y modificar todo aquello que no termine de convencernos. Así que para eliminar estos añadidos sospechosos, que el sistema no necesita para nada, lo podemos hacer con la siguiente orden:

sudo apt-get purge unity-lens-shopping unity-scope-musicstores unity-webapps-common

Si además ya que estamos, queremos aprovechar para quitarle mucha carga a Unity y aligerarlo al máximo yo he eliminado también todo esto:

sudo apt-get purge unity-lens-video unity-lens-music unity-lens-photos unity-scope-gdrive account-plugin-*

Una vez llevada a cabo, se reinicia y una cosa menos de la que preocuparse.