每个家庭都使用VPN或驯服Dragon

下面,我将讨论如何使用WireGuard将VPN提供商替换为部署在DigitalOcean上的自己的服务器。


VPN提供商的主要问题是什么? 您不知道它们如何处理您的数据。
很少有VPN供应商通过第三方审核,几乎没有一家开放其代码。
即使在开放源代码和审核通过的情况下,对于偏执狂的人来说,提供方方面正在发生的问题仍然是开放的。


解决方案非常简单-部署您的VPN节点。


我想简单一点


网络上有很多关于如何配置WireGuard的文章,其中一些是:



但是,如果我只想安装WireGuard而又不深入研究文档怎么办?
我只想要最简单,最快的方式来部署VPN服务器并开始使用它。


我所需要的全部来自基础架构:


  • 1台服务器
  • 5-10个客户给我和亲人

以下是有关如何快速轻松地执行此操作的说明。


创建一个小滴


首先,您需要在DigitalOcean上创建一个新的Droplet: https ://www.digitalocean.com/docs/droplets/how-to/create/


最简单的c Ubuntu 18.04适合我,每月收费5美元。


不要忘记添加SSH密钥以访问Droplet: https : //www.digitalocean.com/docs/droplets/how-to/add-ssh-keys/


备注。 不是唯一的选择DigitalOcean。 您可以选择自己喜欢的任何云服务。


安装WireGuard服务器并创建所有必需的配置


要自动创建所有必需的配置,可以使用脚本: wg-ububtu-server-up.sh ,该脚本:


  • 安装所有必需的软件
  • 配置iptables规则并启用IPv4转发
  • 安装未绑定为dns解析器
  • 将创建服务器配置和所需数量的客户端配置
  • 将启动WireGuard

通过SSH与Droplet建立连接,并运行以下命令来下载并运行脚本(使用Droplet的IP地址而不是xxx.xxx.x.xx):


ssh root@xxx.xxx.x.xx wget https://raw.githubusercontent.com/drew2a/wireguard/master/wg-ububtu-server-up.sh chmod +x ./wg-ububtu-server-up.sh ./wg-ububtu-server-up.sh 10 #  10  " 10  " 

执行脚本后,WireGuard服务器将安装,运行并准备与客户端一起使用。


WireGuard正确启动的迹象是,运行脚本后,您应该会看到类似于控制台的内容:


 interface: wg0 public key: +xxxEjj1qmxxxotq4OxxxfHPaxxxtre5xxxxOfxxw= private key: (hidden) listening port: 51820 peer: d1exxxLdCZcYxxxIQ0xxxxK/Wpx8G1N8xxvnUrxxxx= allowed ips: 10.0.0.2/32 peer: fWExxxazRxxxUOxxxx4JKgUTxxo9LaxxxxOGWtxxK0w= allowed ips: 10.0.0.3/32 ... peer: RbmxxxDxOoXMxxxcyate6xxxinIClxxDgRDxxxx0j0= allowed ips: 10.0.0.10/32 

该脚本还将创建10个客户端配置[ client1.conf ... client10.conf ],您可以在一个设备上同时使用一种配置。


配置位于液滴中的以下文件夹中: $ HOME / wireguard /


备注。 您可以在不使用脚本的情况下手动配置WireGuard,但是这样做不符合“快速”和“没有深入研究文档”的定义。 在下一篇文章中,如果对此感兴趣,我将讨论魔术脚本内部发生的情况。


备注2。 您可以合理地注意到,在同一DO中使用已经准备好的映像甚至不运行任何脚本甚至更加容易。 我同意,但是我会提请您注意以下事实:在建议的脚本中只有100行代码,可以很容易地验证其中没有犯罪。 在完成的图像中,这比较困难。


备注3。 建立与小滴( ssh )的连接的命令在* nix类的操作系统上有效。 如果您使用Windows,请使用winscpPuTTY或其他类似的应用程序。


安装桌面客户端


https://www.wireguard.com/install/下载WireGuard桌面应用程序并进行安装。


从您的Droplet(使用Droplet的IP地址而不是xxx.xxx.x.xx)下载客户端配置(假设您要使用client1.conf配置):


 scp root@xxx.xxx.x.xx:"~/wireguard/client1.conf" ~/Desktop/ 

启动WireGuard的桌面版本,并从下载的客户端配置( client1.conf )中导入隧道。


备注。 下载命令( scp )在*类nix的操作系统上运行。 如果您使用Windows,请使用winscp或其他类似的应用程序。


备注2。 您也可以使用不带GUI的WireGuard版本,并使用相同的客户端配置。


安装手机客户端


通过AppStore或PlayMarket安装WireGuard应用。


运行它并通过QR码导入VPN隧道。


如何获取QR码


您可以通过连接到Droplet (使用Droplet的IP地址,而不是xxx.xxx.x.xx)来生成QR码并执行命令(以防您使用客户端配置client2.conf ):


 ssh root@xxx.xxx.x.xx qrencode -t ansiutf8 < ~/wireguard/client2.conf 

谢谢啦

Source: https://habr.com/ru/post/zh-CN474250/


All Articles