Ejecute todo el tráfico en línea a través de una conexión VPN PPTP

16

Me encantaría ejecutar todo el tráfico saliente (especialmente torrent y web) a través de una conexión VPN PPTP (para ser específico, una VPN StrongVPN.com). Todo lo necesario para la configuración y más importante para iniciar la conexión VPN debe hacerse a través de SSH, por lo que todo debe estar basado en la línea de comandos .

Mi objetivo establecido es crear un script para lograr un script VPN siempre conectado automáticamente.

Solo para estar seguro: no se trata de configurar un servidor PPTP en el pi (hay muchos tutoriales para eso) sino de conectarse a un servidor PPTP.

terman
fuente
¿Cómo desconectar? Establecí la conexión pero no sé cómo desconectarme ..
Jorrick Sleijster

Respuestas:

19

Para comenzar, necesitará instalar pptpclient, esto se puede lograr mediante:

sudo apt-get install pptp-linux

A continuación, cree un archivo en / etc / ppp / peers con nombre arbitrario y los siguientes contenidos:

pty "pptp $VPNHOSTNAME --nolaunchpppd --debug"
name $USERNAME
password $PASSWORD
remotename PPTP
require-mppe-128
require-mschap-v2
refuse-eap
refuse-pap
refuse-chap
refuse-mschap
noauth
debug
persist
maxfail 0
defaultroute
replacedefaultroute
usepeerdns

¿Dónde $VPNHOSTNAMEestá su nombre de host VPN, $PASSWORDsu contraseña VPN y $USERNAMEsu nombre de usuario VPN?

Después de hacerlo, debe hacer sudo pon $FILENAMEdonde $FILENAMEestá el nombre del archivo que guardó anteriormente.

Para iniciar su cliente VPN en el arranque, puede seguir las instrucciones en http://pptpclient.sourceforge.net/howto-debian.phtml (punto 8 o 9, sección de configuración manual)

Un método alternativo para hacer que su cliente VPN se ejecute en el arranque es crear un script que /etc/init.dcontenga estos contenidos:

#! /bin/sh

case "$1" in
  start)
    pon $/etc/ppp/peers/FILENAME
    echo "PPTP Started"
    ;;
  stop)
    poff $/etc/ppp/peers/FILENAME
    echo "PPTP Stopped."
    ;;
  *)
    echo "Usage: /etc/init.d/blah {start|stop}"
    exit 1
    ;;
esac

exit 0

Entonces corre:

update-rc.d [filename of script] defaults

Para que se ejecute al inicio.

hifkanotiks
fuente
Impresionante, me alegraste el día. Una pregunta de seguimiento: ¿Hay alguna forma de verificar si la conexión se ha conectado dentro de un script?
terman
@terman Hmm, no lo sé, pero al leer los documentos creo que no. Sin embargo, descubrí una mejor manera de ejecutar la VPN en el arranque, ahora la vincularé.
hifkanotiks
Increíble, funcionó para mí. ¿Sabes cómo hacer que esto funcione con un túnel dividido? De modo que solo se envían solicitudes locales a través de la VPN y la mayor parte de la navegación web se realiza a través de la conexión regular. Intenté eliminarlo defaultroutey replacedefaultrouteno funcionó. ¿Tienes alguna idea al respecto?
Scoop
cuando ejecuto esto, aparece el error En el archivo / etc / ppp / peers / provider: opción no reconocida '/ dev / modem'
3
Tendrá que hacerlo chmod +x [filename of script]antes de correrupdate-rc.d
defectuoso el