教你如何玩转piVPN,保护网络隐私安全 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

教你如何玩转piVPN,保护网络隐私安全

luochicun web安全 2018-02-08 09:00:55
412113
收藏

导语:想要保护好自己Raspberry Pi的网络隐私,OpenVPN无疑是Linux下开源VPN的先锋,它可以提供良好的性能和友好的用户操作界面。

Simple-OpenVPN-Raspberry-Pi-Installer-piVPN.jpg

为什么选择Raspberry Pi+OpenVPN的组合

如果你是个DIY发烧友,那么Raspberry Pi一定是你最好的选择。而想要保护好自己的网络隐私,OpenVPN无疑是Linux下开源VPN的先锋,它可以提供良好的性能和友好的用户操作界面。它大量使用了OpenSSL加密库中的SSLv3/TLSv1协议函数库。目前OpenVPN能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X与Microsoft Windows以及Android和iOS上运行,并包含了许多安全性的功能。它并不是一个基于Web的VPN软件,也不与IPsec及其他VPN软件包兼容。

由于OpenVPN是私有协议,需要专有的客户端,因此在Android、iOS、WP8上使用比较困难。把Raspberry Pi和OpenVPN结合起来搭建软AP可以较方便的解决这些问题。

piVPN是一组shell脚本,可以使用免费的开源OpenVPN软件轻松地将Raspberry Pi转换为VPN服务器。该脚本的主要部分安装并配置了在Raspbian Jessie上的OpenVPN,并在Ubuntu 14.04上测试了从Amazon AWS镜像运行的版本。这些脚本会尝试检测不同的发行版并相应地做出调整,它们应该会在大多数基于Ubuntu和Debian的设备上运行,包括那些默认使用UFW而不是原始iptables的版本。UFW即简单防火墙,是一个Arch Linux、Debian 或 Ubuntu 中管理防火墙规则的前端。而IPTABLES则是与最新的3.5版本Linux内核集成的IP信息包过滤系统。如果Linux系统连接到因特网或 LAN、服务器或连接LAN和因特网的代理服务器,则该系统有利于在Linux系统上更好地控制IP信息包过滤和防火墙配置。

这个脚本的主要任务是允许用户拥有一个尽可能高性价比的家庭VPN。因此,piVPN的设计可以使用Raspberry Pi(35美元)和一个命令安装程序,然后使用“pivpn”命令轻松管理VPN。

所需的软件、硬件及注意事项

需要什么:

1.带有以太网端口的Raspberry Pi Model B或更高版本;

2.安装了Raspbian的SD或microSD卡(具体取决于型号);

3.符合你设备型号的电源适配器;

4.一个以太网电缆或WiFi适配器,以将你的Pi连接到你的路由器或网关。

注意事项:

1.使用通过https://raspberrypi.org/downloads来下载Raspbian Jessie Lite的最新映像,否则,请务必在搭建piVPN之前制作将现有的备份进行映像。

2.应该使用静态IP地址设置你的Pi,具体过程请点击源代码1源代码2,但这不是必需的,因为脚本可以为你自动执行此操作。

3.转发1994端口(UDP)到树莓派的内部IP地址或在安装程序中选择的任何自定义端口,如何操作取决于你的路由器型号。

4.强烈建议在你的Pi上启用SSH,这样在设置树莓派的时候我们就不需要显示器和无线键盘了。

安装过程

curl -L https://install.pivpn.io | bash

该脚本将首先更新你的APT存储库、升级包和安装OpenVPN,这需要一些时间。它还会询问你希望服务器使用哪种加密位数,比如时1024位,2048位,或4096位。如果你不确定用哪种加密方法,我还是建议用2048位。

在密码学里,数字证书认证机构(CA)是一个签发数字证书的实体。这个数字证书证明对一个公钥的所有权。

你可能使用过,但却不知道它。比如,登录网银的时候,如果我点击地址栏前HTTPS的链接那把锁,会看见一个公司的名字GeoTrust,验证了当前访问的银行网站的合法性。在这里,我充当自己的认证授权机构,签发给我自己OpenVPN的密钥,而不是信赖某个第三方公司。

对于非对称密钥,一般的看法是,1024位密钥已经不足以起到防御作用了,使用2048位是最保险的,所以确保激活的PKI(包括CA根密钥对)中的所有密钥至少使用2048位密钥是明智的选择。

虽然目前几乎所有的RSA系统(包括OpenVPN)都可以接受高达4096位的数据,但是使用这个高位的密钥会大大增加TLS操作的生成时间,TLS握手延迟和CPU使用率。

加密位数确定好以后,脚本将返回到命令行,因为它构建了服务器自己的证书颁发机构,也就是说我充当了自己的认证授权机构,签发了自己OpenVPN的密钥。此时脚本会询问你是否愿意更改证书字段、默认端口以及客户端的DNS服务器等。如果你知道你想要更改的内容,请随时查看,因为脚本会将所有需要的信息放到不同的配置文件中。如果你不确定有什么内容要更改,就按设计好的流程走就可以了,你可以通过简单地提示,不断点击直到所有的配置都完成。

设置完成后,脚本将花费一些时间来构建服务器的Diffie-Hellman密钥交换。如果你选择了1024位加密,这只需要几分钟,但是如果你选择了2048位,它将花费更长的时间,如果你使用的是Raspberry Pi Model B以上的版本,时间会在40分钟到几个小时不等。该脚本还将对你的系统进行一些更改,以允许它转发互联网流量并允许VPN连接通过Pi的防火墙。

切记,树莓派的防火墙配置在重启后将会重置为默认。我们必须保证它记得OpenVPN的访问总是允许的。需要编写一个小脚本在每次启动时运行。

nano /etc/firewall-openvpn-rules.sh

这是一个空白的可执行脚本文件,输入以下代码。

#!/bin/sh
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT –to-source 192.168.XX.X

别忘记把默认IP地址改为你的树莓派的IP地址。

其中10.8.0.0是默认的树莓派地址。“eth0”代表使用的以太网卡。如果使用无线网卡的话,可以修改为wan0,不过不推荐这样做。按CONTROL+X保存退出。

当脚本通知你已经完成配置OpenVPN时,它会询问你是否需要重新启动。切记一定要重启树莓派,这样piVPN服务器就构建成功了,具体的构建视频请点此链接观看视频演示:https://www.youtube.com/embed/9RSHSt4RuLk?feature=oembed

如何使用PiVPN

虽然,piVPN服务器已经构建成功了,不过因为现在还没有用户来连接,它还没有起到保护传输数据的作用,接下来要做的就是生成用户名。

由于你现在已经为客户端创建了访问的密钥,但是还没有告诉客户端服务器的访问地址、如何连接、以及用什么密钥访问。所以,此时你可以使用命令“pivpn”来管理服务器。

“pivpn add”将提示你为你的客户机输入一个名称,你可以选择任何你喜欢的名称。点击“进入”选项后,你将被要求输入客户端密钥,一定要记住你设置的密钥。此时,该脚本将组装客户端.ovpn文件并将其放置在主目录中的“ovpns”目录中。

如果你需要创建一个没有密码保护的客户端证书即在路由器上使用,那么你可以使用“pivpn add nopass”选项来生成该证书。

“pivpn revoke”会要求你撤销设置的用户名称,一旦你撤销了客户端,它将不再允许你使用给定的客户端证书(ovpn config)来连接。这在很多情况下都很有用,除了个别的情况,比如,你手机丢失或被盗,那配置文件也会随着丢失,就要撤销其证书并为你在新手机生成一个新证书。又或者你怀疑某个证书被攻击了,也要撤销该证书生成新证书。

如果你添加的用户数量很多,“pivpn list”将为你提供一个很好的用户名管理列表,告诉你这些用户名的证书是否仍然有效,或者是否已经被撤销,你可以运行“pivpn”来查看所有选项。

::: Control all PiVPN specific functions!
:::
::: Usage: pivpn <command> [option]
:::
::: Options:
:::  -a, add [nopass]     Create a client ovpn profile, optional nopass
:::  -c, clients          List any connected clients to the server
:::  -d, debug            Start a debugging session if having trouble
:::  -l, list             List all valid and revoked certificates
:::  -r, revoke           Revoke a client ovpn profile
:::  -h, help             Show this help dialog
:::  -u, uninstall        Uninstall PiVPN from your system!


  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务