Come posso creare una connessione VPN usando solo il terminale (SSH)?


13

Sto cercando di creare una connessione VPN per il mio computer Ubuntu Server da utilizzare. Ho accesso solo tramite la sessione terminale SSH.

Ho visto molti articoli che spiegano in dettaglio come connettersi a una connessione esistente, ma nessuno sulla creazione di una nuova connessione.

Sto usando Ubuntu Server 12.x


Quindi suppongo che tu voglia installare un server VPN sul tuo computer, giusto?
Laurent,

Non la penso così (a meno che non mi fraintenda). Voglio che il mio server si connetta alla VPN, non sia un server VPN
Dve

ssh è davvero potente. Puoi connetterti usando $ ssh -X <host> -u <utente>. In questo modo, avrai una connessione con l'inoltro X, quindi puoi utilizzare le applicazioni X dal tuo computer remoto. Questo può essere utile se ritieni che l'utilizzo di X sia più comodo rispetto a una semplice console.
jap1968,

un'altra opzione sta usando shadowsocks + proxychains invece di VPN
elprup

Risposte:


7

Dato che non ho capito esattamente cosa devi fare esattamente, lasciami spiegare come funziona la VPN:

Per avere una VPN è necessario un server VPN (a cui ci si connette) e un client VPN (la macchina che si utilizza per connettersi al server). Non è possibile creare una connessione senza un server VPN. Abbiamo 3 possibilità qui:

  • Vuoi che il tuo server si connetta a un altro (un server VPN). In questo caso è necessario un client e poiché esistono diversi tipi di VPN, è necessario seguire le istruzioni dell'amministratore del server VPN.

  • Vuoi connetterti al tuo server da un altro computer (probabilmente il tuo computer locale) e in questo caso devi installare un server VPN sul tuo server e un client sul tuo computer. Per questo uso OpenVPN da molti anni e funziona molto bene con i client Windows e Ubuntu

  • Si desidera connettere entrambe le macchine a un server VPN ospitato da una terza parte e in questo caso, poiché esistono molti diversi tipi di VPN, è necessario seguire le istruzioni dell'amministratore di terze parti.

Se desideri solo una connessione "privata / crittografata" al tuo server, hai già SSH e non ne avrai molto di più con una VPN. Una VPN è utile per connettersi a una rete come se fossi un computer locale nella rete e non così utile per connettersi a un singolo computer in cui è possibile utilizzare connessioni SSH per terminali (e reindirizzare l'output grafico sullo schermo se il server ha grafica desktop) e tunnel SSH per accedere ad altre porte. Ad esempio tunneling con SSH una porta locale sul tuo computer alla porta 3306 sul server remoto per amministrare MySQL con una connessione crittografata al 100% invece di usare phpmyadmin inviando la tua password di root DB su http.

Aggiornamento PPTP:

Per client PPTP tramite riga di comando, è possibile utilizzare il client pptp-linux:

sudo apt-get install pptp-linux

Esistono molti tutorial su come configurarlo:

Modificato dopo i commenti da OP: sito di aiuto della comunità Ubuntu ha funzionato.

Altri sono disponibili come client PPTP Linux . Il tutorial è per client da riga di comando o client GUI, quindi installa solo pptp-linuxe nonnetwork-manager-pptp

Le istruzioni del sito pptp-linux per Debian sono anche dettagliate per la riga di comando e dovrebbero funzionare senza problemi su Ubuntu.


1
Sì, lo capisco. Sto cercando di fare ciò che hai elencato nel primo punto elenco: connettersi a un altro server VPN, dal mio server. Conosco tutti i dettagli della connessione, sono collegato al terminale del mio server (tramite SSH). Sto cercando di scoprire come configurare la connessione VPN tramite questa sessione terminale.
Dve,

Quindi quali sono i dettagli della connessione? (tipo di VPN del server e parametri richiesti se presenti - non c'è bisogno della password o dell'ip reale se presente). Non hai istruzioni per configurare il client dall'amministratore del server VPN?
Laurent,

1
Sto chiedendo il tipo di VPN perché ogni protocollo VPN ha bisogno di un client diverso. Puoi trovare le istruzioni per alcuni di essi in help.ubuntu.com/community/VPNClient
laurent

È una connessione PPTP, il link che hai pubblicato sembra ma non descrive in dettaglio i passaggi per la creazione di una nuova connessione PPTP (per quanto posso vedere). Sarebbe bello se potessi avviare il gestore di rete tramite l'inoltro di ssh X11 - ma non voglio installare gdm solo per farlo
Dve

risposta aggiornata per PPTP
laurent il


0

usa 'pppd' per realizzarlo:

sudo pppd nodetach defaultroute replacedefaultroute persist password mypassword file myvpn

sostituisci "mypassword" con la password del tuo account pptp. "myvpn" è un file di configurazione, formattato come:

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

questo formato di file di configurazione è menzionato qui: https://help.ubuntu.com/community/VPNClient

E "nodetach" o "defaultroute" sono opzioni per pppd, qui descritte: http://manpages.ubuntu.com/manpages/hardy/man8/pppd.8.html

Ho usato questo metodo in Java per impostare una connessione VPN client pptp, sì, funziona.

Il file pid, è in /var/run/ppp-xxx.pid, "xxx" è il tuo nome di collegamento che nel tuo file di configurazione. Puoi leggere il pid di pppd da questo file pid e inviare un segnale a pppd, ad esempio "sudo kill -s SIGTERM pid_of_pppd", per arrestare il pppd.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.