如何仅使用终端(SSH)创建VPN连接?


13

我正在尝试为我的Ubuntu Server计算机创建一个VPN连接。我只能通过ssh终端会话进行访问。

我看过许多文章,详细介绍了如何连接到现有连接,但是没有关于创建新连接的文章。

我正在使用Ubuntu Server 12.x


所以我想您想在您的计算机上安装VPN服务器,对吗?
劳伦特

我不这么认为(除非我误会了)。我希望我的服务器连接到VPN,而不是VPN服务器
Dve 2012年

ssh真的很强大。您可以使用$ ssh -X <host> -u <user>进行连接。这样,您将与X转发建立连接,因此,您可以在远程计算机上使用X应用程序。如果您觉得使用X比仅使用普通控制台更舒适,这将很有用。
jap1968

另一个选择是使用shadowsocks + proxychains代替VPN
elprup

Answers:


7

由于我不明白您需要做什么,因此请允许我解释一下VPN的工作原理:

要拥有VPN,您需要一个VPN服务器(您连接到的地方)和一个VPN客户端(用于连接到该服务器的机器)。没有VPN服务器,您将无法创建连接。这里有3种可能性:

  • 您希望服务器连接到另一台服务器(VPN服务器)。在这种情况下,您需要一个客户端,并且由于有不同的VPN类型,因此需要遵循VPN Server管理员的指示。

  • 您想从另一台计算机(可能是您的本地计算机)连接到服务器,在这种情况下,您需要在服务器上安装VPN服务器,并在计算机上安装客户端。为此,我使用OpenVPN已有很多年了,它在Windows和Ubuntu客户端上都能很好地工作

  • 您希望将两台计算机都从第三方连接到托管的VPN服务器,在这种情况下,由于存在许多不同的VPN类型,因此需要遵循第三方管理员的说明。

如果您只希望与服务器建立“专用/加密”连接,则您已经拥有SSH,并且使用VPN不会有更多。VPN对连接网络很有用,就好像您是网络中的本地计算机一样,而对连接到可以使用SSH连接进行终端连接(如果服务器具有图形,则将图形输出重定向到屏幕)的单台计算机却没有太大帮助。桌面)和SSH隧道访问其他端口。例如,使用SSH隧道将计算机上的本地端口隧道连接到远程服务器上的端口3306,以使用100%加密连接来管理MySQL,而不是使用phpmyadmin通过http发送数据库根密码。

PPTP更新:

对于通过命令行的PPTP客户端,可以使用pptp-linux客户端:

sudo apt-get install pptp-linux

关于如何配置它,有很多教程:

在OP发表评论后进行了编辑: Ubuntu社区帮助站点正常工作。

其他可用的如PPTP Linux客户端。本教程适用于命令行客户端或GUI客户端,因此仅安装pptp-linux而不安装network-manager-pptp

Debian的pptp-linux网站说明也针对命令行进行了详细说明,并且在Ubuntu上应该可以正常使用。


1
是的,我明白。我试图做您在第一个要点中列出的内容-从我的服务器连接到另一个VPN服务器。我知道所有的连接详细信息,我已连接到服务器的终端(通过ssh)。我试图找出如何通过此终端会话配置vpn连接。
Dve 2012年

那么连接详细信息是什么?(服务器的VPN类型和所需的参数(如果有)-不需要密码或真实IP(如果有))。您没有从VPN服务器管理员那里设置客户端的说明吗?
劳伦特

1
我问的是VPN的种类,因为每个VPN协议都需要不同的客户端。你可以找到在他们中的一些指令help.ubuntu.com/community/VPNClient
洛朗

它是一个PPTP连接,您发布的链接似乎不错,但没有详细说明创建新PPTP连接的步骤(据我所知)。如果可以通过ssh X11转发启动网络管理器,那就太好了-但我不想安装gdm来做到这一点
Dve 2012年

PPTP的更新答案
劳伦特(Larent)2012年


0

使用“ pppd”来完成它:

sudo pppd nodetach defaultroute replacedefaultroute persist password mypassword file myvpn

用您的pptp帐户密码替换“ mypassword”。“ myvpn”是一个配置文件,格式为:

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

此处提到了此配置文件格式:https : //help.ubuntu.com/community/VPNClient

而且,“ nodetach”或“ defaultroute”是pppd的选项,在此处进行了描述:http : //manpages.ubuntu.com/manpages/hardy/man8/pppd.8.html

我已经在Java中使用此方法来设置pptp客户端vpn连接,是的,它可以工作。

pid文件位于/var/run/ppp-xxx.pid中,“ xxx”是您在配置文件中的链接名。您可以从该pid文件中读取pppd的pid,向pppd发送信号,例如“ sudo kill -s SIGTERM pid_of_pppd”,以关闭pppd。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.