如何使用 PPTP 设置自己的 VPN

金钱(警告)

** 状态:** 被贬值

此文章已被删除,不再保留。

理由

Ubuntu 12.04 已于 2017 年 4 月 28 日到期 (EOL)并且不再收到安全补丁或更新。

相反,看

本文可能仍然有用作为参考,但可能不遵循最佳实践或工作在这个或其他Ubuntu版本. 我们强烈建议使用最近的一篇文章写给你正在使用的Ubuntu版本。

如果您目前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:

美元

入门

我们的用户最常问的问题之一是如何将另一个 IP 地址添加到他们的服务器上。您可以通过创建一个 VPN 隧道来分配自己的私人 IP 地址,无论您是想建立自己的虚拟私人网络(VPN),还是向该 IP 地址分配 SSL 证书,您都有几种选择。在所有可能的选项中,最优的选项是在 PPTP 和 OpenVPN 之间。 点到点隧道协议 (PPTP)允许您快速实现自己的 VPN,并且与大多数移动设备兼容。

步骤 1 - PPTP 安装

您将不得不选择一个服务器,负责处理向其他人发送IP,并将所有服务器认证到您的VPN。

对于 CentOS 6 x64:

1rpm -i http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm
2yum -y install pptpd

在 Ubuntu 12.10 x64 上:

1apt-get install pptpd

现在你应该编辑 /etc/pptpd.conf 并添加以下行:

1localip 10.0.0.1
2remoteip 10.0.0.100-200

当 localip 是您的服务器的 IP 地址时,远程 IP 将分配给连接到该服务器的客户端。

接下来,您应该通过添加用户和密码来设置 PPTP 身份验证,只需将其添加到 /etc/ppp/chap-secrets :

image

当客户端是用户名时,服务器是服务类型 - pptpd为我们的例子,秘密是密码, IP 地址指定哪个 IP 地址可以验证。

步骤 2 - 将 DNS 服务器添加到 /etc/ppp/pptpd 选项

1ms-dns 8.8.8.8
2ms-dns 8.8.4.4

现在,您可以启动 PPTP Daemon:

1service pptpd restart

检查它是否正在运行并接受连接:

image

步骤3 - 设置前进

重要的是在您的 PPTP 服务器上启用 IP 转发,这将允许您在您使用 PPTP 设置的公共 IP 和私有 IP 之间转发数据包。

1net.ipv4.ip_forward = 1

要激活更改,请运行 sysctl -p

步骤 4 - 为 iptables 创建 NAT 规则

1iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE && iptables-save

如果您也希望您的 PPTP 客户端彼此交谈,请添加以下 iptables 规则:

1iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
2iptables -I INPUT -s 10.0.0.0/8 -i ppp0 -j ACCEPT
3iptables --append FORWARD --in-interface eth0 -j ACCEPT

现在您的PPTP服务器也作为路由器。

如果您想限制哪些服务器可以连接到您的 dropplets,您可以设置一个 iptables 规则,该规则限制 TCP 连接到端口 1723。

步骤5 - 设置客户

在您的客户端服务器上,安装 PPTP 客户端:

1yum -y install pptp

步骤 6 - 添加必要的内核模块

1modprobe ppp_mppe

创建一个新的 /etc/ppp/peers/pptpserver 文件,并添加以下行,以自己的值代替姓名和密码:

1pty "pptp 198.211.104.17 --nolaunchpppd"
2name box1
3password 24oiunOi24
4remotename PPTP
5require-mppe-128

其中 198.211.104.17 是我们的 PPTP 服务器的公共 IP 地址,使用用户名box1和密码24oiunOi24,我们在我们的 PPTP 服务器上指定了 /etc/ppp/chap-secrets 文件。

现在我们可以称呼这个PPTP服务器,因为这是一个点到点协议. 无论您给你的同行文件的名称 in/etc/ppp/peers/应该在下一行中使用。

1pppd call pptpserver

您应该从 PPTP 服务器日志中看到成功的连接:

image

在您的 PPTP 客户端上,通过 ppp0 接口将路由设置到您的私人网络:

1ip route add 10.0.0.0/8 dev ppp0

您的接口 ppp0 应该出现在 PPTP 客户端服务器上,并可以通过运行 ifconfig 来检查。

image

现在您可以 ping PPTP 服务器和连接到该网络的任何其他客户端:

image

我们可以将第二个PPTP客户端添加到这个网络:

1yum -y install pptp
2modprobe ppp_mppe

添加到 /etc/ppp/peers/pptpserver(用自己的姓名和密码值取代):

1pty "pptp 198.211.104.17 --nolaunchpppd"
2name box2
3password 239Aok24ma
4remotename PPTP
5require-mppe-128

现在在您的第二个客户端上运行以下操作:

1pppd call pptpserver
2ip route add 10.0.0.0/8 dev ppp0

![image]https://assets.digitalocean.com/articles/community/PPTP6.png)

您也可以 ping 第一個客戶端,因為包會通過 PPTP 伺服器並使用我們先前放置的 iptables 規則進行路由:

![image]https://assets.digitalocean.com/articles/community/PPTP7.png) 此设置允许您创建自己的虚拟私人网络:

![image]https://assets.digitalocean.com/articles/community/PPTP8.png)

如果你想让你的所有设备在一个网络上安全地通信,这是一个快速实现的方法。

您可以使用它与 Nginx、Squid、MySQL 以及您可以想到的任何其他应用程序。

由于流量是 128 位加密的,因此比 OpenVPN 更少 CPU 密集,并且仍然为您的流量提供额外的安全性。

Published At
Categories with 技术
Tagged with
comments powered by Disqus