将 Ubuntu 设置为 VPN 服务器的最简单方法

将 Ubuntu 设置为 VPN 服务器的最简单方法

我知道网上有很多关于设置 VPN 客户端和服务器的教程。

我发现一个简单/简短,我只对服务器部分感兴趣。

L2TP over IPsec对于客户端,我将使用 OS X,因此我更喜欢使用或的解决方案,PPTP因为我认为 Cisco IPsec 会花费一些钱。

我不想花太多时间进行设置。你知道,也许有人已经制作了安装脚本 :)

注意:我正在使用运行 Ubuntu 12.04 的 EC2 微实例。

答案1

警告:PPTP 是一种不安全的协议!不仅加密已被破解,而且它以明文形式发送您的身份验证,很容易被拦截。据估计,暴力破解密码所需的时间大致相当于暴力破解单个 DES 密钥所需的时间。考虑使用 OpenVPN 或其他 VPN 架构代替 PPTP!

我用了本指南在我的 Ubuntu 12.04 服务器上设置 PPTP VPN 服务器。


总结一下链接中的要点:

1:安装pptpdufwiptables可以代替ufw,但为了方便起见,ufw如果您不知道,最好使用iptables

sudo apt-get install pptpd ufw

2:打开所需的端口。指南建议 22 (SSH) 和 1723 用于 pptp vpn。

sudo ufw 允许 22
sudo ufw 允许 1723
sudo ufw 启用

3:编辑/etc/ppp/pptpd-options。用你最喜欢的编辑器打开文件(我用的是 nano,所以命令是),如果你希望这个命令在所有操作系统上都能通用,sudo nano /etc/ppp/pptpd-options可以在这些行前面加上一个来注释掉它们:#

拒绝
拒绝
拒绝mschap

如果您想禁用加密,可以注释掉此行:require-mppe-128

4:编辑时/etc/ppp/pptpd-options,添加 VPN 的 DNS 服务器。此示例使用 OpenDNS 服务器:

ms-dns 208.67.222.222
ms-dns 208.67.220.220

5:编辑/etc/pptpd.conf。使用您最喜欢的编辑器打开文件(我的是 nano,所以对我来说命令是sudo nano /etc/pptpd.conf)。您需要为系统添加本地 VPN IP,因此添加:

本地IP 10.99.99.99
远程 IP 10.99.99.100-199

如果您的系统是 VPS,请使用“localip”的公共 IP。如果不是,并且位于本地网络上,请使用您的计算机的网络 IP。如果这些 IP 存在于您的子网中,请使用不同的 IP 和范围!如果您不知道 VPS 的公共 IP,请通过运行来查找dig +short myip.opendns.com @resolver1.opendns.com

6:编辑/etc/ppp/chap-secrets。使用您最喜欢的编辑器(我的是 nano,因此对我来说命令是)打开文件sudo nano /etc/ppp/chap-secrets,然后添加身份验证数据。
格式为/etc/ppp/chap-secrets

[用户名] [服务] [密码] [允许的 IP 地址]

例如: sampleuser pptpd samplepassword *

7:重新启动 pptpd。在终端中运行此命令:sudo /etc/init.d/pptpd restart

8:编辑/etc/sysctl.conf。使用您最喜欢的编辑器打开文件(我的是 nano,所以对我来说命令是sudo nano /etc/sysctl.conf)。取消注释以下行(通过删除开头#的)/etc/sysctl.confnet.ipv4.ip_forward=1
重新加载配置: sudo sysctl -p

9:此步骤假设您有 ufw。
编辑/etc/default/ufw并将选项DEFAULT_FORWARD_POLICY从更改DROPACCEPT

10:此步骤假设您有 ufw。
编辑/etc/ufw/before.rules,并在规则开头/etc/ufw/before.rules或之前添加以下内容*filter(推荐):

# NAT 表规则
*自然

:后路由接受 [0:0]
# 允许转发流量到 eth0
-A POSTROUTING -s 10.99.99.0/24 -o eth0 -j MASQUERADE

# 处理 NAT 表规则
犯罪

如果您的内核版本为 3.18 及更新版本(您可以通过运行来检查),还请在该行uname -r前添加以下几行:# drop INVALID packets ...

-A ufw-before-input -p 47 -j ACCEPT

11:重新启动防火墙,刷新规则集并将我们添加的规则应用到文件中/etc/ufw/*.rulessudo ufw disable && sudo ufw enable

警告:如果你需要打开其他端口,例如,如果你的服务器托管网站,则需要将这些端口单独添加到允许列表中sudo ufw allow <PORT>

答案2

更新:从 Sierra 开始,macOS 不再支持 PPTP vpn。此答案不适用于 Sierra 及以后的 macOS 客户端。

通过 PoPToP 进行 PPTP 非常简单

  1. apt-get install pptpd
  2. 编辑/etc/pptpd.conf并将 remoteip 选项设置为网络上不由 DHCP 服务器提供服务的范围。
  3. 编辑/etc/ppp/chap-secrets并添加用户名和密码

例如

vpnuser pptpd vpnpassword *

这就是设置 pptp 所需的全部步骤。现在使用您的 OS X 客户端进行测试。

答案3

Ubuntu 12.04 上的 PPTP VPN 示例

这是在 Ubuntu 12.04 上设置基本 PPTP VPN 服务器的快速教程。

安装必要的软件包

                          sudo apt-get install ppp pptpd

在服务器上配置 PPTP IP 范围

                          sudo nano /etc/pptpd.conf

在最后添加以下几行

                          localip 10.89.64.1
                          remoteip 10.89.64.100-150

这将设置 PPTP 服务器使用 IP 10.89.64.1,同时将 IP 范围 10.89.64.100 至 10.89.64.150 分配给 PPTP 客户端。您可以随意更改这些 IP 地址,只要它们是私有 IP 地址并且不与服务器已使用的 IP 地址冲突即可。

配置客户端连接到此 PPTP 服务器时要使用的 DNS 服务器

                          sudo nano /etc/ppp/pptpd-options

调整或者在最后添加以下几行

                          ms-dns 8.8.8.8
                          ms-dns 8.8.4.4

创建 PPTP 用户

                          sudo nano /etc/ppp/chap-secrets

在底部添加一行,使您的文件看起来像这样:

                          # client    server  secret          IP addresses
                          test        pptpd   abcd1234        *

为 PPTP 连接配置 NAT

如果没有这一步,您仍然能够连接,但您的连接将无法从该服务器加载任何网络连接。

                          sudo nano /etc/rc.local

在“exit 0”行之前的右下角添加以下内容:

                          iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

假设是 eth0,您可以用ifconfig它来检查网络名称。

启用 IPv4 转发:

                          sudo nano /etc/sysctl.conf

取消注释以下行:

                          net.ipv4.ip_forward=1

然后重新加载配置:

                          sudo sysctl -p

重新启动您的 VPS,一切都应该可以从任何 PPTP 客户端顺利运行。


客户端配置

对于 Mac,请确保添加了 PPTP VPN 连接。除此之外,您只需要在身份验证设置中设置服务器地址、帐户名和密码。这里没什么麻烦。

对于 Linux,使用 NetworkManager 添加 VPN 连接。请确保您已添加 PPTP VPN 连接。我使用的配置如下:

如何调试和修复 PPTP/VPN 客户端连接

在此处输入图片描述

对于 Windows

在此处输入图片描述

答案4

这是一个非常棒的项目,它可以通过脚本消除 OpenVPN 的痛苦:

https://github.com/Nyr/openvpn-install

只需运行它,它就会安装并配置 open vpn。最后它会弹出一个 client.ovpn 文件,您可以使用它来设置客户端。似乎运行得很好。

相关内容