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

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

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

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

我正在使用 Ubuntu Server 12.x

答案1

由于我不明白您到底需要做什么,让我解释一下 VPN 的工作原理:

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

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

  • 您希望从另一台计算机(可能是您的本地计算机)连接到您的服务器,在这种情况下,您需要在您的服务器上安装 VPN 服务器,并在您的计算机上安装客户端。为此,我使用OpenVPN多年来,它与 Windows 和 Ubuntu 客户端配合得很好

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

如果您只想与服务器建立“私人/加密”连接,您已经拥有 SSH,而使用 VPN 则无济于事。VPN 可用于连接到网络,就像您是网络中的本地计算机一样,但对于连接到单个计算机则没那么有用,在单个计算机中,您可以使用 SSH 连接终端(如果服务器有图形桌面,则将图形输出重定向到您的屏幕)并使用 SSH 隧道访问其他端口。例如,使用 SSH 将计算机上的本地端口与远程服务器上的端口 3306 建立隧道,以使用 100% 加密连接管理 MySQL,而不是使用 phpmyadmin 通过 http 发送您的 DB 根密码。

PPTP 更新:

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

sudo apt-get install pptp-linux

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

根据 OP 的评论进行编辑: Ubuntu 社区帮助网站工作了。

其他可用内容包括PPTP Linux 客户端。本教程适用于命令行客户端或 GUI 客户端,因此只需安装即可pptp-linux,无需network-manager-pptp

pptp-linux 站点Debian 的说明也详细说明了命令行,并且在 Ubuntu 上应该可以毫无问题地运行。

答案2

这篇文章可能会有帮助。 http://ashu-geek.blogspot.com/2012/05/vpn-virtual-private-network.html

它描述了如何使用终端和 GUI dekstop 创建 vpn 连接。

答案3

使用‘pppd’来完成它:

sudo pppd nodetach defaultroute replacedefaultroute persist password mypassword file myvpn

将“mypassword”替换为您的pptp帐户的密码。“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。

相关内容