Pues he montado un servidor de vpn (pptpd). Cuando te conectas con un cliente, por defecto toooodo el tráfico va por el túnel. Es decir, el default gateway es el otro extremo del túnel. Esto no se puede cambiar (eso parece). Si el cliente es un pc, no hay mucho problema porque normalmente el software cliente te permite seleccionar si quieres o no que te cambie la ruta por defecto, y a qué redes quieres llegar a través del túnel. Pero cuando por ejemplo te conectas con android, esto es más complicado, al menos con el android 2.3 que tengo yo (parece que con ics lo han arreglado).
El caso es que si me conecto con mi android, todo el tráfico va a través del túnel (probé un programa para android que en teoría te evita esto, pero no me ha funcionado). Bueno, pues cuando me conectaba, el móvil perdía la conectividad con internet. Sólo tenía conectividad con mi red privada. Pues no sé por qué, pero la solución es habilitar nat en el server donde está instalado el pptpd. Y no lo entiendo porque he estado haciendo muchas pruebas con tcpdump. Sin nat habilitado, el paquete (un ping) desde el cliente vpn a una ip de internet, llega al server pptpd, y éste lo manda a mi router adsl, pero ya no sé qué pasa. Se supone que el router adsl hace nat y manda el paquete hacia fuera… pero no sé que es lo que pasa. Bueno, el tema es que para que mi móvil no pierda internet y todo el tráfico pase por el túnel (esto es inevitable), como he dicho hay que hacer nat en el server:

Lo salvamos para que no se pierda con los reboots:

pptpd + nat

Deja un comentario

Tu dirección de correo electrónico no será publicada.