如果你想免费搭建自己的VPN,没有比SoftEther更简单的选择了。SoftEther是一种VPN解决方案,提供免费的软件用于将服务器与客户端连接。与标准的OpenVPN设置相比,它相对容易使用,并且支持更多协议,包括OpenVPN、L2TP/IPSec、PPTP、SSTP和EtherIP。
在本教程中,我们将展示如何在亚马逊网络服务(AWS)EC2实例上使用L2TP/IPSec协议设置SoftEther。只要你在时间、空间和带宽限制内使用亚马逊的微型服务层,你可以免费使用一年。
一旦设置完成,你就可以像使用其他商业VPN一样使用你的自制VPN:绕过审查、解锁地理限制内容、保护开放的Wi-Fi连接,并加密P2P文件传输。我们甚至在德国测试了Netflix,成功绕过VPN和代理防火墙观看美国Netflix,这是许多付费VPN提供商所面临的挑战。
创建自己的VPN所需的东西
在开始之前,请确保你拥有以下所有内容:
- 亚马逊网络服务账户:这需要一张信用卡,但你只会为你使用的部分付费,如果你谨慎操作,可能不会产生费用。
- PuTTY和PuTTYgen:Windows用户需要下载这两个工具。
- 适用于你的操作系统的SoftEther客户端应用程序。
- 基本的Unix命令和服务器与客户端工作原理的知识:这在故障排除时将非常有帮助。
启动EC2实例
首先,我们需要在亚马逊上创建一个EC2实例。“实例”是虚拟服务器的术语。EC代表“弹性云”,意味着服务器可以根据需要增大或缩小。只有最小的实例大小在免费试用期间可用,所以请确保选择该选项。
- 注册AWS账户后,打开仪表板并点击EC2。
- 本教程将使用亚马逊Linux AMI,该AMI在撰写时符合免费层。Ubuntu Server 14.04 LTS也应适用,但一些细节会有所不同。点击选择按钮。
- 为简单起见,我们将“类型”更改为“所有流量”,并将“来源”更改为“我的IP”。如果你希望获得更多安全性或更广泛的客户端访问,可以打开端口22、443、500、992、1194、4500和5555。将安全组命名为“softether”。
- 点击“审核并启动”,然后点击“启动”。
- 接下来,你将被要求创建一个密钥对(或使用现有的密钥对)。将密钥对命名为“softether”,并下载它。将其保存在安全的地方,不要丢失,否则你将无法访问服务器。
- 点击“启动实例”。滚动到页面底部并点击“查看实例”。
- 你应该看到新的实例正在初始化。点击它以显示信息,包括公共DNS地址。我们将在下一步中需要这个地址,所以请将其复制到剪贴板。
恭喜你,你已经拥有了一台服务器。现在我们需要访问它。
访问你的EC2实例
在本教程中,我们将使用Windows上的PuTTY和PuTTYgen。Mac和Linux用户可以直接使用他们的终端。首先,我们需要生成一个密钥文件,以便通过SSH访问服务器。
- 打开PuTTYgen。
- 点击“加载”。
- 导航到你下载的.pem密钥对的位置。在文件浏览器中点击下拉菜单以显示“所有文件”,否则.pem密钥将不会出现。选择.pem文件并点击“打开”。
- 点击“保存私钥”,确认保存时不使用密码短语。你必须将其命名为与.pem文件相同的名称。在本例中为“softether”。
- 拿到.ppk私钥文件后,我们可以连接到服务器。
打开PuTTY:
- 在“主机名”下粘贴你的实例的公共DNS地址(以“ec2”开头,以“amazonaws.com”结尾)。
- 在左侧边栏中,点击SSH旁边的‘+’图标以展开,然后点击“身份验证”。
- 在底部字段旁边,点击“浏览”按钮。导航到你刚刚创建的私钥(.ppk)文件,点击“打开”。
- 返回左侧边栏的会话页面。将会话命名为你会记得的名称,然后点击“保存”。现在你可以在未来直接从PuTTY连接,而无需再次进行这些步骤。
- 点击PuTTY底部的“打开”。
- 点击“是”以确认你信任服务器。
- 在出现的黑色终端窗口中,你会被提示输入用户名。假设你选择了亚马逊Linux AMI,输入“ec2-user”并按Enter。
现在你已经通过SSH连接到你的服务器。你在PuTTY终端中输入的任何内容都是服务器的命令,而不是你本地计算机的命令。
在EC2实例上安装SoftEther
现在你可以向服务器发出命令,我们可以安装SoftEther服务器应用程序。遗憾的是,SoftEther不在任何包管理器中可用,因此我们必须从网站下载它。但在此之前,让我们确保一切都是最新的。
在PuTTY终端中,输入以下命令以升级系统:
bash
sudo yum upgrade
接下来,输入以下命令来下载SoftEther:
bash
wget http://www.softether-download.com/files/softether/v4.21-9613-beta-2016.04.24-tree/Linux/SoftEtherVPNServer/64bit-Intelx64or_AMD64/softether-vpnserver-v4.21-9613-beta-2016.04.24-linux-x64-64bit.tar.gz
如果上述下载失败,你可以在SoftEther官网找到最新版本的下载链接,并替换命令中的URL。
记下你刚刚下载的文件名,在终端中输入以下命令以解压文件:
bash
tar xzvf softether-vpnserver-v4.21-9613-beta-2016.04.24-linux-x64-64bit.tar.gz
接下来,输入以下命令以安装开发工具:
bash
sudo yum groupinstall "Development Tools"
有些用户报告说上述命令无法安装gcc包,你可以输入以下命令来尝试安装:
bash
sudo yum install gcc
然后,输入以下命令进入SoftEther目录:
bash
cd vpnserver
最后,输入以下命令编译SoftEther:
bash
make
SoftEther现在已经编译,可以在你的服务器上执行。又向前迈进了一步!
将SoftEther作为服务启动
接下来,我们将创建一个文件在init.d文件夹中,使SoftEther在服务器启动时自动启动。这将节省我们每次手动开启的麻烦。你可以跳过此步骤,但这将为你节省大量时间。
- 输入以下命令将SoftEther目录移动到其他位置:
bash
cd ..
sudo mv vpnserver /usr/local
cd /usr/local/vpn/server/
- 使用以下命令更改文件权限以保护你的文件:
bash
chmod 600 *
chmod 700 vpnserver
chmod 700 vpncmd
- 创建一个文件,输入以下命令:
bash
sudo nano /etc/init.d/vpn/server
在空文本文件中,粘贴以下内容(在Windows中右键单击即可粘贴):
```bash
DAEMON=/usr/local/vpn/server/vpnserver LOCK=/var/lock/subsys/vpnserver test -x $DAEMON || exit 0 case "$1" in start) $DAEMON start touch $LOCK ;; stop) $DAEMON stop rm $LOCK ;; restart) $DAEMON stop sleep 3 $DAEMON start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac exit 0 ```
-
按CTRL+O(‘o’而不是零)并按Enter保存文件。然后按CTRL+X退出Nano。
-
输入以下命令使SoftEther在启动时运行:
bash
mkdir /var/lock/subsys # 这个目录可能已经存在
sudo su
chmod 755 /etc/init.d/vpn/server && /etc/init.d/vpn/server start
chkconfig --add vpnserver
SoftEther现在将在服务器启动时自动运行。
检查SoftEther是否正常工作
接下来,我们运行一个快速检查,以确保一切正常。
输入以下命令:
bash
cd /usr/local/vpn/server
此处将继续执行检查和配置,以确保SoftEther正常运行。
通过以上步骤,你可以轻松地在AWS EC2实例上设置自己的SoftEther VPN。这种自制VPN不仅可以帮助你绕过地理限制和保护你的网络连接,还能为你提供更高的隐私保护。希望这个教程对你有所帮助!