Como crio uma conexão VPN usando apenas o terminal (SSH)?

13

Estou tentando criar uma conexão VPN para minha máquina Ubuntu Server. Eu só tenho acesso via sessão de terminal ssh.

Eu já vi muitos artigos detalhando como se conectar a uma conexão existente, mas nenhum sobre a criação de uma nova conexão.

Estou usando o Ubuntu Server 12.x

Dve
fonte
Então, acho que você deseja instalar um servidor VPN em sua máquina, certo?
laurent
Eu acho que não (a menos que eu esteja entendendo mal). Eu quero o meu servidor para conectar a VPN, não ser um servidor VPN
Dve
ssh é realmente poderoso. Você pode conectar usando $ ssh -X <host> -u <user>. Dessa forma, você terá uma conexão com o encaminhamento do X, portanto, poderá usar os aplicativos do X na sua máquina remota. Isso pode ser útil se você sentir que o X é mais confortável do que o simples console.
jap1968
outra opção é usar shadowsocks + proxychains em vez de VPN
elprup 15/03

Respostas:

7

Como não entendi exatamente o que você precisa fazer, deixe-me explicar como a VPN funciona:

Para ter uma VPN, você precisa de um Servidor VPN (ao qual você se conecta) e um Cliente VPN (a máquina que você usa para se conectar ao Servidor). Você não pode criar uma conexão sem um servidor VPN. Temos 3 possibilidades aqui:

  • Você deseja que seu servidor se conecte a outro (um servidor VPN). Nesse caso, você precisa de um cliente e, como existem diferentes tipos de VPN, siga as instruções do administrador do servidor VPN.

  • Você deseja se conectar ao seu servidor a partir de outra máquina (provavelmente a sua máquina local) e, nesse caso, você precisará instalar um servidor VPN no seu servidor e um cliente na sua máquina. Para isso, uso o OpenVPN há muitos anos e funciona muito bem com clientes Windows e Ubuntu

  • Você deseja conectar os dois computadores a um servidor VPN hospedado de terceiros e, nesse caso, como existem muitos tipos diferentes de VPN, siga as instruções do administrador de terceiros.

Se você deseja apenas uma conexão "privada / criptografada" ao seu servidor, você já tem SSH e não terá muito mais com uma VPN. Uma VPN é útil para conectar-se a uma rede como se você fosse uma máquina local na rede e não tão útil para conectar-se a uma única máquina na qual você pode usar conexões SSH para terminais (e redirecionar a saída gráfica para a tela, se o servidor possuir gráficos). túneis SSH para acessar outras portas. Por exemplo, encapsulando com SSH uma porta local em sua máquina para a porta 3306 no servidor remoto para administrar o MySQL com uma conexão 100% criptografada em vez de usar o phpmyadmin enviando sua senha de root do banco de dados por http.

Atualização PPTP:

Para cliente PPTP via linha de comando, você pode usar o cliente pptp-linux:

sudo apt-get install pptp-linux

Existem muitos tutoriais sobre como configurá-lo:

Editado após comentários do site de ajuda da comunidade OP: Ubuntu funcionarem.

Outros estão disponíveis como cliente PPTP Linux . O tutorial é para o cliente de linha de comando ou GUI, portanto, instale apenas pptp-linuxe nãonetwork-manager-pptp

As instruções do site pptp-linux para o Debian também são detalhadas na linha de comando e devem funcionar sem problemas no Ubuntu.

Laurent
fonte
1
Sim eu entendo isso. Estou tentando fazer o que você listou no primeiro ponto - conecte-se a outro servidor VPN, no meu servidor. Conheço todos os detalhes da conexão, estou conectado ao terminal do meu servidor (via ssh). Estou tentando descobrir como configurar a conexão VPN através desta sessão de terminal.
Dve
Então, quais são os detalhes da conexão? (tipo de VPN do servidor e parâmetros necessários, se houver - obs não há necessidade de senha ou ip real, se houver). Você não tem instruções para configurar o cliente pelo administrador do servidor VPN?
12133 laurent
1
Estou perguntando o tipo de VPN, porque cada protocolo VPN precisa de um cliente diferente. Você pode encontrar instruções para alguns deles em help.ubuntu.com/community/VPNClient
laurent
É uma conexão PPTP, o link que você postou parece, mas não detalha as etapas para criar uma nova conexão PPTP (tanto quanto eu posso ver). Seria ótimo se eu pudesse lançar network-manager via ssh X11 forwarding - mas eu não quero instalar gdm apenas para fazer isso
Dve
resposta atualizada para PPTP
laurent
0

use o 'pppd' para fazer isso:

sudo pppd nodetach defaultroute replacedefaultroute persist password mypassword file myvpn

substitua "minha senha" pela senha da sua conta pptp. o "myvpn" é um arquivo de configuração, formatado como:

linkname myvpn 
ipparam myvpn 
pty "pptp server_address --nolaunchpppd " 
name myaccount 
usepeerdns 
require-mppe 
refuse-eap noauth

# adopt defaults from the pptp-linux package 
file /etc/ppp/options.pptp

este formato de arquivo de configuração é mencionado aqui: https://help.ubuntu.com/community/VPNClient

E "nodetach" ou "defaultroute" são opções para o pppd, descritas aqui: http://manpages.ubuntu.com/manpages/hardy/man8/pppd.8.html

Eu uso este método em java para configurar uma conexão VPN do cliente pptp, sim, ele funciona.

O arquivo pid está em /var/run/ppp-xxx.pid, o "xxx" é o nome do seu link que está no seu arquivo de configuração. Você pode ler o pid do pppd neste arquivo pid e enviar um sinal ao pppd, por exemplo, "sudo kill -s SIGTERM pid_of_pppd", para desligar o pppd.

Guohua Lin
fonte