Wie erstelle ich eine VPN-Verbindung nur mit dem Terminal (SSH)?

13

Ich versuche, eine VPN-Verbindung für meinen Ubuntu Server-Rechner herzustellen. Ich habe nur Zugriff über die SSH-Terminalsitzung.

Ich habe viele Artikel über das Herstellen einer Verbindung mit einer vorhandenen Verbindung gesehen, aber keine über das Erstellen einer neuen Verbindung.

Ich benutze Ubuntu Server 12.x.

Dve
quelle
Ich denke, Sie möchten einen VPN-Server auf Ihrem Computer installieren, oder?
Laurent
Das glaube ich nicht (es sei denn, ich habe ein Missverständnis). Ich möchte, dass mein Server eine VPN-Verbindung herstellt und kein VPN-Server ist
Donnerstag,
ssh ist wirklich mächtig. Sie können eine Verbindung mit $ ssh -X <Host> -u <Benutzer> herstellen. Auf diese Weise haben Sie eine Verbindung mit der X-Weiterleitung, sodass Sie X-Anwendungen von Ihrem Remote-Computer aus verwenden können. Dies kann nützlich sein, wenn Sie sich mit X wohler fühlen als mit einer einfachen Konsole.
jap1968
Eine andere Option ist die Verwendung von Shadowsocks + Proxy-Ketten anstelle von VPN
elprup

Antworten:

7

Da ich nicht genau wusste, was Sie tun müssen, möchte ich erläutern, wie VPN funktioniert:

Für ein VPN benötigen Sie einen VPN-Server (mit dem Sie eine Verbindung herstellen) und einen VPN-Client (den Computer, mit dem Sie eine Verbindung zum Server herstellen). Ohne einen VPN-Server können Sie keine Verbindung herstellen. Wir haben hier 3 Möglichkeiten:

  • Sie möchten, dass Ihr Server eine Verbindung zu einem anderen (einem VPN-Server) herstellt. In diesem Fall benötigen Sie einen Client und da es verschiedene VPN-Typen gibt, müssen Sie die Anweisungen des VPN-Server-Administrators befolgen.

  • Sie möchten von einem anderen Computer aus eine Verbindung zu Ihrem Server herstellen (wahrscheinlich von Ihrem lokalen Computer). In diesem Fall müssen Sie einen VPN-Server auf Ihrem Server und einen Client auf Ihrem Computer installieren. Dafür benutze ich OpenVPN seit vielen Jahren und es funktioniert sehr gut mit Windows- und Ubuntu-Clients

  • Sie möchten beide Computer von einem Drittanbieter mit einem gehosteten VPN-Server verbinden. In diesem Fall müssen Sie den Anweisungen des Drittanbieteradministrators folgen, da es viele verschiedene VPN-Typen gibt.

Wenn Sie nur eine "private / verschlüsselte" Verbindung zu Ihrem Server wünschen, haben Sie bereits SSH und mit einem VPN werden Sie nicht viel mehr haben. Ein VPN ist nützlich, um eine Verbindung zu einem Netzwerk herzustellen, als ob Sie ein lokaler Computer im Netzwerk wären, und nicht so nützlich, um eine Verbindung zu einem einzelnen Computer herzustellen, auf dem Sie SSH-Verbindungen für Terminals verwenden (und die Grafikausgabe auf Ihren Bildschirm umleiten können, wenn der Server über eine Grafik verfügt Desktop) und SSH-Tunnel, um auf andere Ports zuzugreifen. Beispiel: Tunneln Sie mit SSH einen lokalen Port auf Ihrem Computer zu Port 3306 auf dem Remote-Server, um MySQL mit einer 100% verschlüsselten Verbindung zu verwalten, anstatt phpmyadmin zu verwenden und Ihr DB-Root-Passwort über http zu senden.

PPTP-Update:

Für den PPTP-Client über die Befehlszeile können Sie den pptp-linux-Client verwenden:

sudo apt-get install pptp-linux

Es gibt viele Tutorials, wie man es konfiguriert:

Bearbeitet nach Kommentaren von OP: Ubuntu-Community-Hilfeseite funktioniert.

Andere sind wie der PPTP-Linux-Client verfügbar . Das Tutorial ist nur für den Befehlszeilen-Client oder den GUI-Client gedacht, also nur installieren pptp-linuxund nichtnetwork-manager-pptp

Die pptp-linux-Site- Anweisungen für Debian sind auch für die Befehlszeile detailliert und sollten unter Ubuntu problemlos funktionieren.

laurent
quelle
1
Ja ich verstehe das. Ich versuche, das zu tun, was Sie im ersten Aufzählungspunkt aufgelistet haben - von meinem Server aus eine Verbindung zu einem anderen VPN-Server herzustellen. Ich kenne alle Verbindungsdetails und bin mit dem Terminal meines Servers verbunden (über ssh). Ich versuche herauszufinden, wie ich die VPN-Verbindung über diese Terminalsitzung konfigurieren kann.
12.
Wie lauten die Verbindungsdetails? (VPN-Typ des Servers und ggf. erforderliche Parameter - benötigt kein Kennwort oder echte IP-Adresse). Haben Sie keine Anweisungen zum Einrichten des Clients über den Administrator des VPN-Servers?
Laurent
1
Ich frage nach der Art des VPN, da jedes VPN-Protokoll einen anderen Client benötigt. Sie können Anweisung für einige von ihnen in finden help.ubuntu.com/community/VPNClient
laurent
Es ist eine PPTP-Verbindung, der Link, den Sie gepostet haben, scheint aber nicht im Detail die Schritte zum Erstellen einer neuen PPTP-Verbindung (soweit ich sehen kann). Es wäre großartig, wenn ich Network-Manager über SSH X11 Forwarding starten könnte - aber ich möchte nicht GDM installieren, nur um das zu tun
Dve
aktualisierte Antwort für PPTP
laurent
1

Dieser Artikel könnte hilfreich sein. http://ashu-geek.blogspot.com/2012/05/vpn-virtual-private-network.html

Es wird beschrieben, wie eine VPN-Verbindung mit Terminal und GUI dekstop hergestellt wird.

Asgher Hussain
quelle
3
Willkommen bei Ask Ubuntu! Während dies theoretisch die Frage beantworten mag, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen.
Lucio
0

Verwenden Sie die 'pppd', um dies zu erreichen:

sudo pppd nodetach defaultroute replacedefaultroute persist password mypassword file myvpn

Ersetzen Sie "mypassword" durch das Passwort Ihres pptp-Kontos. Das "myvpn" ist eine Konfigurationsdatei im 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

Dieses Konfigurationsdateiformat wird hier erwähnt: https://help.ubuntu.com/community/VPNClient

"Nodetach" oder "defaultroute" sind Optionen für pppd, die hier beschrieben wurden: http://manpages.ubuntu.com/manpages/hardy/man8/pppd.8.html

Ich habe diese Methode in Java verwendet, um eine pptp-Client-VPN-Verbindung einzurichten, ja, es funktioniert.

Die PID-Datei befindet sich in /var/run/ppp-xxx.pid. Das "xxx" ist Ihr Linkname in Ihrer Konfigurationsdatei. Sie können die pid von pppd aus dieser pid-Datei lesen und ein Signal an die pppd senden, z. B. "sudo kill -s SIGTERM pid_of_pppd", um die pppd herunterzufahren.

Guohua Lin
quelle