Executar todo o tráfego online através de uma conexão VPN PPTP

16

Eu adoraria executar todo o tráfego de saída (principalmente torrent e web) por meio de uma conexão VPN PPTP (para especificar uma VPN StrongVPN.com). Tudo o que é necessário para configurar e mais importante para iniciar a conexão VPN deve ser feito por SSH; portanto, tudo precisa ser baseado em linha de comando .

Meu objetivo mais distante é criar um script para obter um script VPN sempre conectado automaticamente.

Só para ter certeza: não se trata de configurar um servidor PPTP no pi (há muitos tutoriais para isso), mas conectar-se a um servidor PPTP.

terman
fonte
como desconectar? Eu fui a conexão estabelecida, mas eu não entendo como desconectar ..
Jorrick Sleijster

Respostas:

19

Para começar, você precisará instalar o pptpclient, isso pode ser alcançado por:

sudo apt-get install pptp-linux

Em seguida, crie um arquivo em / etc / ppp / peers com nome arbitrário e o seguinte conteúdo:

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

Onde $VPNHOSTNAMEestá o seu nome de host VPN, $PASSWORDsua senha e $USERNAMEseu nome de usuário VPN.

Depois de fazer isso, você deve fazer sudo pon $FILENAMEonde $FILENAMEé o nome do arquivo que você salvou anteriormente.

Para iniciar o seu cliente VPN na inicialização, siga as instruções em http://pptpclient.sourceforge.net/howto-debian.phtml (pontos 8 ou 9, seção Configuração manual )

Um método alternativo para executar seu cliente VPN na inicialização é criar um script /etc/init.dcontendo esse conteúdo:

#! /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

Então corra:

update-rc.d [filename of script] defaults

Para fazê-lo funcionar na inicialização.

hifkanotiks
fonte
Awsome, você fez o meu dia. Uma pergunta de acompanhamento: Existe uma maneira de verificar se a conexão foi conectada dentro de um script?
Terman
@terman Hmm, eu não sei, mas lendo os documentos, acho que não. No entanto, descobri uma maneira melhor de executar a VPN na inicialização. Vou ligá-la agora.
Hifkanotiks
incrível, funcionou para mim. Você sabe como fazer isso funcionar com um túnel dividido? Para que apenas as solicitações locais sejam feitas pela VPN e a maior parte da navegação na Web seja feita com a conexão regular. Eu tentei remover defaultroutee replacedefaultroutemas não funcionou. Você tem alguma idéia sobre isso?
Colher
quando executo isso, recebo o erro No arquivo / etc / ppp / peers / provider: opção não reconhecida '/ dev / modem'
3
Você precisará chmod +x [filename of script]antes de executarupdate-rc.d
falha em