
La conexión VPN a través de Internet es técnicamente una unión wide area network (WAN) entre los sitios pero al usuario le parece como si fuera un enlace privado— de allí la designación "virtual private network".
ICMP TUNNELING
Bueno una vez definido vamos a ver que es el ICMP-TUNNEL.
Mi router (el que me dió el proveedor) no me deja manejar el protocolo icmp (así que si me queréis regalar un microtik...).
Con una configuración estándar, la de cualquier router casero, nuestras
solicitudes hacia el servidor se "estamparían" contra la interfaz WAN y
jamás pasarían a nuestra LAN y, desde luego, el software no permitiría
el encaminamiento (por lo menos mi router) de estos paquetes hacia mi
máquina y por lo tanto no habrá comunicación.
La
solución que he encontrado es cambiarle el firmware restrictivo del
proveedor por uno un poquito más configurable (en este caso un DLink que
por churro es compatible 100% con mi Nucon y cuando acabe esta entrada
probaré con un openWRT puesto que hay una versión 100% compatible con el firmware del DLink .....AVISO: Si lo hacéis en casa os podéis quedar sin router).

Una vez en disposición de recibir el protocolo ICMP, podemos seguir con la práctica.
Vamos a utilizar la herramienta ptunnel la cual esta en los repos tanto de raspbian como debian,ubuntu.....etc
para instalarla :
apt-get install ptunnel
Una vez instalada tanto en el server como en el cliente pasamos a arrancar el server con el comando:
ptunnel -x password --daemon numero

En el lado del cliente crearemos el túnel de la siguiente forma:
ptunnel -p Nuestro server -lp cualquier puerto no usado -da server queremos conectar -dp puerto de la aplicación -x password
Vamos
a conectar con nuestra maquina server al servicio ssh por su propio
túnel (podría ser otra máquina y otro tipo de servicio) lo que para
nuestro ejemplo se traduce como:
ptunnel -p hackpy.chickenkiller.com -lp 8888 -dl hackpy.chikenkiller.com -dp 22222 -x ratamoja
Y ya tan solo nos queda utilizar el túnel:

VPN PPTP
PPTP (Point to Point Tunneling Protocol), es un protocolo de comunicaciones desarrollado por Microsoft, U.S. Robotics, para implementar redes privadas virtuales o VPN. PPTP permite el intercambio "seguro" de datos de un cliente a un servidor formando una Red Privada Virtual.
Las mayores ventajas de PPTP son su gran grado de estandarización y la facilidad que nos brinda a la hora de usarlo...eso nos hace todavía el pensar en utilizarlo a pesar de sus problemas de seguridad. Siempre y cuando la información que vayamos a utilizar no sea muy sensible. Desde luego hay opciones más seguras, pero de implementación mas ardua o menos estandarizadas. PPTP sólo debe implementarse en entornos "legacy" como solución de compatibilidad y, por supuesto, tomando medidas de protección añadidas.
Vulnerabilidades de PPTP
La seguridad de PPTP fue completamente rota allá por el 2010. La utilidad ASLEAP pudo obtener claves de sesiones PPTP y descifrar el tráfico de la VPN. Podemos ver un ejemplo en el blog de el maligno y en la Defcon 2012 presentaron la herramienta Chapcrack capaz de romper la seguridad del protocolo PPTP y el cifrado WPA2 Enterprise.El fallo de PPTP es causado por errores de diseño en la criptografía de los protocolos handshake LEAP de Cisco y MSCHAP-v2 de Microsoft y por las limitaciones de la longitud de la clave en MPPE.
No obstante podemos tomar medidas de protección básicas para hacerlo mucho menos vulnerable (ya lo veremos otro día). Este hecho junto con su velocidad, compatibilidad (nativo en la mayoría de dispositivos) y su fácil manejo, lo hace vigente hoy por hoy.
Montando nuestro servidor PPTP
NOTA: Lo primero que tenemos que hacer es, si hemos seguido la práctica anterior, dejar el router como estaba al principio, aunque lo ideal sería dejarlo con 'ppp ip extension' para no tener ningún tipo de problema con los puertos, aunque debemos saber que eso nos dejaría el router en modo "monopuesto".Esto en una red casera sería poco práctico.
Antes de nada lo que haremos (para que luego no se me olvide) será abrir los puertos en el router. Necesitaremos tener abiertos el 1723 y el 47 y los redirigiremos mediante el portforwarding del router hacia nuestro servidor. Lo haremos bien por la interface gráfica del router o conectándonos por telnet al router : natp add pptp ppp0.1 TCP 1723:1723 1723:1723 192.168.1.133 y con el 47 haremos lo mismo.
Tras ésto comenzaremos con la instalación y configuración del servidor.
Instalaremos la aplicación PPTPD en el server:
apt-get install pptpd
Para configurar adecuadamente el server deberemos editar 3 archivos
nano /etc/pptpd.conf
Ahora descomentaremos y editaremos las siguientes lineas:
debug la descomentamos para recibir el log de los posibles fallos
noiparam
localip 192.168.1.133 descomentamos y sustituimos la ip de ejemplo por la ip local del servidor
remoteip 192.168.0.234-238,192.168.0.245 será el rango ip que se le asignara a los clientes. En mi caso 4.
Ahora editaremos nano/etc/ppp/chap-secrects
Aquí añadiremos las credenciales de los clientes, por ejemplo:
manuel * 12345 *
y por ultimo:
namo /etc/ppp/pptpd-options
y modificaremos las siguientes líneas:
name servidor-pptp el nombre del server
require-mschap-v2
require-mppe-128
ms-dns 8.8.8.8
debug
Antes de arrancar el demonio pptpd abriremos otro terminal en nuestra raspberry y con el fin de monitorizar el arranque del demonio y la autenticación de los clientes, typearemos:
tail -f /var/log/syslog
Ya estamos en disposición de rearrancar el servicio y monitorizarlo por si hubiese cualquier fallo.
service pptpd restart
Ya tan solo quedaría conectarnos desde nuestro dispositivo por ejemplo nuestro iphone, android u otro pc linux o windows...
Como acabamos de ver, ha sido facilísimo implementar pptpd en nuestro server el cual nos confiere un canal "seguro" para nuestras comunicaciones... y a la hora de conectarnos a redes inseguras es muy aconsejable echar mano de nuestra VPN (obligado).
Para los paranoicos veremos muy pronto como montar en nuestro servidor un servicio OPEN-VPN.
Bueno ya tenemos nuestra maquinita corriendo varios servicios de tunneling para securizar nuestras conexiones o evadir restricciones... aunque podríamos seguir añadiéndole unos cuantos mas.
Pero por hoy ya esta bien...
Fuente http://www.hackplayers.com/2014/10/montar-nuestro-propio-servidor-de-tuneles-3.html