A configuração do servidor mínimo absoluto
O que se segue são as instruções mínimas absolutas que você precisa para obter um servidor VPN PPTP básico em execução no Ubuntu. Os clientes poderão então entrar em VPN no servidor e rotear seu tráfego de internet para que ele passe pelo servidor para a Internet. Como sempre, consulte a documentação completa para entender o que tudo está fazendo.
Primeiro, instale o software necessário:
sudo apt-get install pptpd
Segundo, habilite ip_forward
no kernel para IPv4 removendo o comentário da linha associada em /etc/sysctl.conf :
sudo sed -i -r 's/^\s*#(net\.ipv4\.ip_forward=1.*)//' /etc/sysctl.conf
# Reload the config file to have the change take effect immediately.
sudo -i sysctl -p
Em terceiro lugar, ative o NAT (se já não estiver ativado) para que os usuários na rede VPN privada possam ter seus pacotes roteados para a Internet:
OUTIF='/sbin/ip route show to exact 0/0 | sed -r 's/.*dev\s+(\S+).*//''
sudo -i iptables --table nat --append POSTROUTING --out-interface $OUTIF --jump MASQUERADE
# Enable NAT on boot from the rc.local script.
CMD="iptables --table nat --append POSTROUTING --out-interface $OUTIF --jump MASQUERADE"
sudo sed -i "\$i$CMD\n" /etc/rc.local
Nota: Este guia assume que você não possui firewall configurado no servidor. Se você tiver um firewall no servidor, como UFW , consulte a documentação relevante .
Em quarto lugar, para cada usuário VPN, crie uma conta no arquivo / etc / ppp / chap-secrets . Substitua $USER
pelo nome de usuário real que você deseja usar para esse usuário VPN.
KEY='head -c 20 /dev/urandom | sha1sum | nawk '{print $1}''
echo "$USER pptpd $KEY *" | sudo tee -a /etc/ppp/chap-secrets
Finalmente, você está pronto para ...
Configurar o cliente
No miniaplicativo do Network Manager , selecione Conexões VPN → Configurar VPN e, em seguida, clique em Adicionar . Na tela seguinte, selecione PPTP para o tipo de VPN, depois clique em Create .
Nestajanela,digiteonomedohostouIPdoseuservidorjuntocomonomedeusuárioeachavequevocêadicionouaoarquivo/etc/ppp/chap-secretsnoservidor.
AgoracliqueemAvançado.
Nesta janela, habilite "Usar criptografia ponto a ponto (MPPE)" e selecione a segurança 128-bit . Desative o uso da autenticação MSCHAP (deixe MSCHAPv2 ativado).
Por fim, clique em Ok e em Salvar para fechar a janela anterior.
Agora você pode testar a conexão VPN acessando o applet Network Manager → Conexões VPN e selecionando a conexão que você acabou de criar. Certifique-se de receber uma mensagem informando que a conexão VPN foi bem-sucedida e, em seguida, navegue até um site de verificação de IP para verificar se o seu IP agora aparece como o IP do servidor.
Se você receber uma mensagem dizendo que a conexão VPN com o servidor falhou: primeiro verifique se você digitou corretamente as configurações do cliente; segundo, verifique se o cliente tem conectividade de rede com a porta TCP 1723 no servidor; finalmente, verifique o arquivo de log / var / log / messages no servidor para mais dicas. Se a sua conexão VPN for bem-sucedida, mas você subsequentemente não conseguir navegar em nenhum site do cliente, consulte este guia de diagnóstico incrivelmente útil no site pptpd.
Notas
Se a rede local à qual você está conectado estiver usando as sub-redes 192.168.0.0/24 e 192.168.1.0/24, você terá problemas, porque é o que o servidor PPTP usa por padrão. Você terá que configurar o PPTP para usar diferentes sub-redes em pptpd.conf .
Existem inúmeras outras alterações de configuração que você pode querer fazer. Por exemplo, todas as pesquisas de nome de domínio ainda serão consultadas usando o servidor DNS local em vez de passar pelo servidor PPTP. Reserve um tempo para ler a documentação completa para descobrir como alterar essa configuração e muitas outras.