En septiembre del año pasado hice la compra de un Raspberry Pi en una conocida página de gadgets
chinos. Fue una teleserie de varios meses, ya que en marzo terminé mi pelea con DHL por el problema con el envío. Es una historia que no viene al caso contar, pero lo importante es que es algo que solo a mi me puede ocurrir 🙂
Para el que no sepa, el Raspberry Pi es una placa que cabe en la palma de la mano que es un computador. Sus características son:
- Memoria RAM: 512 MB
- CPU: ARM de 700 MHz
- Almacenamiento: No tiene, pero trae una ranura para una tarjeta SD
- 2 puertos USB
- Salida HDMI
- Jack de audio de 3.5 mm
- Salida de video RCA
- Puerto de expansión
- Interfaz de red.
Para hacer la configuración usé una release antigua de Raspbian y los motivos son:
- Me gustan las distribuciones basadas en Debian. Encuentro que son las mejores distribuciones y no hay nada mejor que APT para la administración de paquetes.
- Las nuevas releases de Raspbian no vienen con el módulo de iptables dentro del núcleo, cosa que tendrías que hacer un cross-compiling, porque no creo que quieras compilar el núcleo en esa cosa.
sudo apt-get install pptp
Luego habilita un modulo
sudo modprobe ppp-compress-18
Configura el servidor de VPN. Entramos al fichero /etc/pptpd.conf y configuramos los parámetros:
- localip es la dirección ip local del servidor de VPN. La forma es: localip 192.168.1.189
- remoteip es el juego de direcciones disponible. La forma es: remoteip 192.168.1.200-210
ms-dns DIRECCION.DE.TU.GATEWAY.LOCAL
noipx
mtu 1490
mru 1490
Es necesario contar con nombres de usuario y contraseña para que puedan autenticarse con tu sistema. Tienes que entrar a /etc/ppp/chap-secrets y agregar usuarios de la siguiente forma:
sudo service pptpd restart
Si es necesario puedes habilitar tu servidor VPN para que permita el acceso a toda la red. La idea es interactuar con la red, así que en el fichero /etc/systctl.conf buscas la línea net.ipv4.ip_forward=0 y cambiarla por net.ipv4.ip_forward=1 Guardas, cierras y actualizas el sistema con:
sudo sysctl -p
El penúltimo paso es configurar las reglas del firewall y que éstas se apliquen cada vez que el sistema se levante. Agrega las siguientes líneas al archivo /etc/rc.local justo antes de la linea exit 0
sudo iptables -t nat -A POSTROUTING -s 192.168.1.200/24 -o eth0 -j SNAT --to LA IP DEL RASPBERRY
Para finalizar, en el router abre el puerto UDP 1723 e intenta ingresar de forma externa. Lo bueno es que todos los clientes VPN incluidos en todos los sistemas operativos servirán para tu servidor.
Como extra, le puedes comprar un case y quedará así: