Comment créer une connexion VPN en utilisant uniquement le terminal (SSH)?


13

J'essaie de créer une connexion VPN pour ma machine Ubuntu Server à utiliser. J'ai seulement accès via la session de terminal ssh.

J'ai vu de nombreux articles détaillant comment se connecter à une connexion existante, mais aucun sur la création d'une nouvelle connexion.

J'utilise Ubuntu Server 12.x


Donc je suppose que vous voulez installer un serveur VPN sur votre machine, non?
laurent

Je ne pense pas (à moins que je ne comprenne mal). Je veux que mon serveur se connecte au VPN, pas un serveur VPN
Dve

ssh est vraiment puissant. Vous pouvez vous connecter en utilisant $ ssh -X <host> -u <user>. De cette façon, vous aurez une connexion avec le transfert X, vous pouvez donc utiliser les applications X à partir de votre machine distante. Cela peut être utile si vous vous sentez plus à l'aise avec X qu'avec une simple console.
jap1968

une autre option utilise des shadowsocks + proxychains au lieu de VPN
elprup

Réponses:


7

Comme je ne comprenais pas exactement ce que vous devez faire, laissez-moi vous expliquer comment fonctionne le VPN:

Pour avoir un VPN, vous avez besoin d'un serveur VPN (auquel vous vous connectez) et d'un client VPN (la machine que vous utilisez pour vous connecter au serveur). Vous ne pouvez pas créer de connexion sans serveur VPN. Nous avons 3 possibilités ici:

  • Vous souhaitez que votre serveur se connecte à un autre (un serveur VPN). Dans ce cas, vous avez besoin d'un client et comme il existe différents types de VPN, vous devez suivre les instructions de l'administrateur du serveur VPN.

  • Vous souhaitez vous connecter à votre serveur à partir d'une autre machine (votre machine locale probablement) et dans ce cas, vous devez installer un serveur VPN sur votre serveur et un client sur votre machine. Pour cela, j'utilise OpenVPN depuis de nombreuses années et cela fonctionne très bien avec les clients Windows et Ubuntu

  • Vous souhaitez connecter les deux machines à un serveur VPN hébergé à partir d'un tiers et dans ce cas, car il existe de nombreux types de VPN différents, vous devez suivre les instructions de l'administrateur tiers.

Si vous ne voulez qu'une connexion "privée / cryptée" à votre serveur, vous avez déjà SSH et vous n'en aurez pas beaucoup plus avec un VPN. Un VPN est utile pour se connecter à un réseau comme si vous étiez une machine locale dans le réseau et pas si utile pour se connecter à une seule machine où vous pouvez utiliser des connexions SSH pour les terminaux (et rediriger la sortie graphique vers votre écran si le serveur a un graphique bureau) et des tunnels SSH pour accéder à d'autres ports. Par exemple, tunneler avec SSH un port local sur votre machine vers le port 3306 sur le serveur distant pour administrer MySQL avec une connexion cryptée à 100% au lieu d'utiliser phpmyadmin pour envoyer votre mot de passe root DB sur http.

Mise à jour PPTP:

Pour le client PPTP via la ligne de commande, vous pouvez utiliser le client pptp-linux:

sudo apt-get install pptp-linux

Il existe de nombreux didacticiels sur la façon de le configurer:

Modifié après les commentaires de OP: le site d'aide de la communauté Ubuntu a fonctionné.

D'autres sont disponibles comme le client Linux PPTP . Le tutoriel est destiné au client de ligne de commande ou au client GUI, installez uniquement pptp-linuxet nonnetwork-manager-pptp

Les instructions du site pptp-linux pour Debian sont également détaillées pour la ligne de commande et devraient fonctionner sans problème sur Ubuntu.


1
Oui je comprends ça. J'essaie de faire ce que vous avez énuméré dans le premier point - connectez-vous à un autre serveur VPN, à partir de mon serveur. Je connais tous les détails de connexion, je suis connecté au terminal de mon serveur (via ssh). J'essaie de savoir comment configurer la connexion VPN via cette session de terminal.
Dve

Quels sont donc les détails de connexion? (type de VPN du serveur et paramètres requis le cas échéant - aucun besoin de mot de passe ou de véritable ip le cas échéant). Vous n'avez pas d'instructions pour configurer le client à partir de l'administrateur du serveur VPN?
laurent

1
Je demande le type de VPN car chaque protocole VPN a besoin d'un client différent. Vous pouvez trouver des instructions pour certains d'entre eux dans help.ubuntu.com/community/VPNClient
laurent

C'est une connexion PPTP, le lien que vous avez publié semble mais il ne détaille pas les étapes pour créer une nouvelle connexion PPTP (pour autant que je puisse voir). Ce serait génial si je pouvais lancer le gestionnaire de réseau via le transfert ssh X11 - mais je ne veux pas installer gdm juste pour le faire
Dve

réponse mise à jour pour PPTP
laurent


0

utilisez le 'pppd' pour l'accomplir:

sudo pppd nodetach defaultroute replacedefaultroute persist password mypassword file myvpn

remplacez "mypassword" par le mot de passe de votre compte pptp. le "myvpn" est un fichier de configuration, au format:

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

ce format de fichier de configuration est mentionné ici: https://help.ubuntu.com/community/VPNClient

Et, "nodetach", ou "defaultroute" sont des options pour pppd, décrites ici: http://manpages.ubuntu.com/manpages/hardy/man8/pppd.8.html

J'ai utilisé cette méthode en java pour configurer une connexion vpn client pptp, oui, cela fonctionne.

Le fichier pid, est dans /var/run/ppp-xxx.pid, le "xxx" est votre nom de lien qui dans votre fichier de configuration. Vous pouvez lire le pid de pppd à partir de ce fichier pid envoyer un signal au pppd, par exemple "sudo kill -s SIGTERM pid_of_pppd", pour arrêter le pppd.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.