运行自己的VPN服务器是提高移动安全性并从Internet访问LAN的一种好方法,但是众所周知,它们很难设置。 Pi VPN使用指导性安装将您的Raspberry Pi变成便宜,有效的VPN服务器,它可以为您完成大部分工作.
您将可以绕过公司或学校的网站过滤器,并轻松连接到家庭网络中的设备,例如文件服务器或打印机。只需执行几个额外的步骤,就可以启用端到端加密,并通过安全的匿名隧道运行所有移动互联网。.
什么是Pi VPN?
Pi VPN是一种轻量级的OpenVPN服务器,旨在在Raspberry Pi 2或3上运行。它使您可以通过Internet上的安全连接访问家庭网络。通过将Raspberry Pi插入路由器,它的作用就像移动设备和网络之间的桥梁.
您可以使用Pi VPN进行以下操作:
- 随时随地访问您的文件,音乐和电影
- 加密您的移动互联网连接
- 通过笔记本电脑在家用打印机上打印
- 绕开国内外的防火墙和网站限制
- 隐藏您的手机IP地址
- 连接您的家庭相机和智能设备
如果您发现自己通过路由器转发了许多服务,则家庭VPN连接是一种更安全的选择。您转发的每个端口都是某人可能在某处用来进入您的网络的隧道。 Pi VPN仅打开一个端口,并且使用强加密来确保您的LAN安全.
选择VPN提供商
在开始该项目之前,最重要的选择之一就是要使用哪个VPN提供商。当您做出选择时,需要牢记的因素是安全性,带宽和延迟.
安全至关重要,您需要知道VPN提供商不会保留连接日志。但是在这种情况下,带宽和延迟同样重要。如果您选择ping时间较长或带宽不足的提供商,则您的Internet连接将受到影响.
考虑到这一点,我建议您对该项目使用IPVanish。 IPVanish具有所有提供程序中最低的延迟时间和最高的带宽,并且我们测试了许多。即使您通过双跳VPN连接浏览网页,这也可以使您的连接保持快速响应。.
快速可靠:IPVanish拥有庞大的未拥塞服务器网络,可提高速度。强大的安全性和隐私功能。 Kodi和Amazon Fire Stick的应用程序和流功能使其倍受青睐。家庭友好,因为它最多可以处理10个同时连接的设备。 7天退款保证无风险尝试.
为Pi VPN做准备
为了开始,您需要:
- 安装了Raspbian的Raspberry Pi 2或3
- 8GB或更大的存储卡
为了获得最佳效果,应使用以太网电缆将Raspberry Pi连接到路由器,但也可以使用wifi连接. 如果您使用的是wifi, 您需要 用wlan0代替eth0 在本教程中.
通过在Raspberry Pi Config中启用SSH服务来启用它 接口选项 菜单。您可以从Pi菜单启动配置工具,也可以使用以下命令:
须藤raspi-config
启用SSH服务器后重新启动Pi.
在SSH开启的情况下,将Pi连接到家庭网络后,您可以禁用X桌面并根据需要拔出显示器的电源。使用Putty或Mac终端等实用工具远程连接Raspberry Pi就像直接在Pi上键入一样容易.
连接到您的Raspberry Pi
大多数情况下,您将需要运行Pi VPN服务器而无需将其插入监视器。只要您拥有安全的Shell(SSH)客户端,该操作就很容易。使用SSH,您可以从另一台计算机访问Raspberry Pi的命令行.
在断开Raspberry Pi与显示器的连接之前,请运行以下命令 ifconfig 显示您Pi的IP地址。它列在 et 如上所示。您需要它来连接SSH客户端.
如果要在Windows中设置Pi VPN服务器,请使用Putty连接到Raspberry Pi。您可以在这里免费下载腻子.
Putty启动并运行后,通过键入您先前记下的IP地址连接到Raspberry Pi。同时确保 连接类型 设定为 SSH协议. 点击 保存 按钮以为此连接创建配置文件.
如果您使用运行Mac或Linux的计算机安装Pi VPN,则无需下载SSH客户端。只需使用操作系统的终端即可;它默认支持SSH.
首次连接Raspberry Pi时,系统会提示您保存安全密钥。点击 是 按钮以接受密钥为有效密钥并将其保存在计算机上.
接下来,输入您的密码。如果尚未更改,请使用Raspberry Pi 覆盆子 作为默认密码.
当您看到以下内容时,您已经成功登录 pi @主机名 提示.
第一次通过SSH连接时,最好更改默认密码。您可以使用 密码 命令.
为Pi VPN更新Raspbian
在安装Pi VPN之前,请确保您的操作系统是最新的.
首先,获取所有最新软件的列表。您可以使用以下命令检查已安装的所有内容的最新版本:
sudo apt-get更新
获得最新的软件列表后,请告诉您的Raspberry Pi使用以下命令进行自我升级:
sudo apt-get升级
系统将提示您按 ÿ 如果要升级,则应该这样做。升级过程将需要几分钟的时间,您可以在屏幕上观看进度.
设置静态IP地址
由于您将依靠Raspberry Pi来提供网络服务,因此您需要知道在哪里可以找到它。这意味着您必须先设置静态IP地址,然后再开始.
您也可以借此机会更改主机名。除其他外,这将更改您登录时看到的提示。这是区分多个Pi的简便方法,但是更改主机名是可选的.
您需要进行修改 /etc/dhcpcd.conf 设置静态IP地址。打开文件之前,请确保您知道路由器的IP地址和将要使用的DNS服务器。如果您还没有该信息,则可以使用 ifconfig.
准备就绪后,请使用以下命令在nano文本编辑器中将其打开:
须藤nano /etc/dhcpcd.conf
滚动浏览文件,直到看到标记为 静态IP配置示例. 您需要做的就是取消注释示例配置,并用您的IP地址,路由器和网关进行一些替换.
取消评论 静态ip_address 并替换您要使用的静态IP地址。我选择了 192.168.1.2 因为它靠近路由器的IP地址并且易于记忆.
取消评论 静态路由器 和 静态domain_name_servers 并插入您自己的值。进行更改后,请按 Ctrl + X 退出,然后 ÿ 确认您要保存.
如果要更改主机名,请打开 / etc /主机名 在 纳米 以root用户身份使用以下命令:
须藤nano / etc / hostname
更改文件中的主机名,然后按 Ctrl + X 为了退出编辑器,并且 ÿ 保存文件.
您必须对位于的文件执行相同的操作 / etc / hosts. 编辑文件的命令是:
须藤nano / etc / hosts
向下滚动直到看到 127.0.0.1 并将主机名更改为您选择的任何名称。就我而言 iv. 完成后,通过以下命令告诉Raspberry Pi重新启动:
须藤重启
Pi重新启动后,请确保更新您要连接的IP地址,以反映新的静态IP地址.
找出Raspbian的防火墙
由于Raspbian是Linux操作系统,因此防火墙内置在内核中并默认启用。但是在新安装的设备上,它仍然敞开着.
Raspbian的防火墙(iptables)策略是允许所有入站和出站数据包,并转发任何请求它的内容。稍后,我将向您展示如何锁定防火墙,但是在开始之前,请确保它已完全开放给连接.
您可以使用 iptables -L 列出您当前的防火墙规则,并确保它们与上面的规则匹配。如果您一直在更改防火墙,则可以使用以下命令将其恢复为默认设置:
须藤iptables -F
sudo iptables -P输入接受
sudo iptables -P输出接受
sudo iptables -P转发接受
选择加密级别
设置Pi VPN时,系统会要求您选择加密强度。您将可以选择1024位,2048位和4096位RSA加密。您必须记住以下几点:
- 2048位RSA加密是标准
- 使用较弱的加密可以提高速度
- 2048位非常适合下载和流式传输
- 使用更强大的加密可提供更多保护
- 4096位最适合用于电子邮件和浏览
启用4096位RSA很诱人,但是,如果您要通过连接流式传输视频或播放音乐,则会增加很多开销,并使运行速度明显降低。出于某种原因,2048位加密是标准,我建议您在大多数情况下使用它.
长时间运行时超时
SSH有一个怪癖,您迟早会自己发现它的。在长时间运行期间,如果您通过SSH连接到Pi,则计算机进入睡眠状态后,连接将断开。 SSH连接断开后,您在Pi上运行的命令将立即停止执行,您必须重新开始.
名为 屏幕 使长期的SSH操作变得更容易处理。使用屏幕,您可以启动与单个操作相关的会话。然后,您可以随时连接或断开连接,然后返回会话以检查其进度.
安装屏幕后,只需知道一些命令即可使用它。通过使用apt来开始安装屏幕:
sudo apt-get安装屏幕
安装屏幕后,请使用以下命令启动它:
屏幕
看起来什么都没发生,但是现在,如果断开连接,您给出的任何命令都不会停止运行.
因此,如果您的连接断开,只需将SSH重新连接到Raspberry Pi并输入:
屏幕-r
只要它是唯一一个活动会话,您就会自动重新连接到SSH会话.
如果您有多个活动屏幕会话,则可以使用以下命令将其列出 屏幕-ls. 如果要连接到在列表中看到的会话,则需要5位数的ID。因此,要重新连接到会话11712,我将使用以下命令:
屏幕-r 11712
一旦习惯了使用它,屏幕将使使用SSH管理Raspberry Pi变得更加轻松。您可以在此处了解有关屏幕功能的更多信息.
安装Pi VPN
整理好Raspberry Pi后,您可以连接到它并开始安装Pi VPN。这是多部分安装的第一部分,它将提供您连接到Pi VPN所需的后端VPN功能。在后续步骤中,我们将安装管理网页并配置出站VPN连接以保护隐私.
启动安装程序
Pi VPN是通过以下脚本从您的网站下载的脚本安装的: 卷曲 命令行工具。 Curl只是无需浏览器即可从Internet下载的工具.
您需要运行以下命令才能开始安装Pi VPN:
卷曲-L https://install.pivpn.io/ |重击
该命令将在pivpn.io下载安装脚本,并将其通过管道传送到bash命令解释器以执行.
安装过程将立即开始。首先检查 易于 查看是否有可以更新的软件包。如果您遵循本指南,则说明您已经更新了系统,因此脚本将继续进行下一步.
将安装一些必要的软件包,然后启动Pi VPN安装程序.
Pi VPN安装程序
Pi VPN安装程序是伪图形设置向导,非常适合通过SSH连接运行。当屏幕变成蓝色并显示安装程序的消息时,就可以开始使用.
开始, 按Enter 告诉Pi VPN设置向导您已经准备好.
将会警告您需要设置静态IP地址。我建议您在启动设置向导之前执行此操作,因此,如果尚未设置静态IP地址,请立即退出并按照上一节中的说明进行操作.
Pi VPN会显示检测到的IP地址。如果这是您之前设置的静态IP地址,请按 是 纽扣.
系统会警告您IP地址冲突。避免冲突的最安全方法是在路由器上查找DHCP范围,并使用该范围之外的静态IP地址.
就我而言,我使用的是192.168.1.2,并且我的路由器分配了192.168.1.100 – 192.168.1.200之间的DHCP地址,因此没有冲突的危险.
按 好 前进`.
您将要使用默认设置 pi 用户,在大多数情况下,请确保已选中该用户,然后按 好 纽扣.
我建议你点击 是 允许在Pi VPN服务器上进行无人值守的安全更新。您的树莓派将通过端口转发暴露在互联网上,因此保持树莓派VPN的最新状态尤为重要.
如果单击 没有, 小心自行运行定期更新.
在配置自动更新后,通常会在控制台显示一会儿是正常的。几秒钟后安装程序会回来.
在大多数情况下,您需要使用 UDP协议 协议。如果您打算使用订阅VPN提供商创建超安全的双跳连接,请使用 TCP协议.
记下您为Pi VPN使用的端口号;以后需要.
1194端口 是UDP的默认值,而TCP的默认值是 端口443. 如果您按照说明创建双跳VPN,请不要使用默认的TCP端口,否则以后会引起冲突。我选择了TCP 端口4430 相反,因为它很容易记住.
设置加密
现在,您可以选择自己的加密级别。之前,我概述了每个选择以及为什么选择它。如果您不确定该选择哪个,请回顾一下我的建议.
使用空格键选择要使用的加密级别,然后按 好. 我选择跑步 2048位加密 这样我就可以通过连接流式传输视频.
生成这些密钥可能需要一段时间。如果您使用高级加密,则将花费更长的时间。请耐心等待,让Pi VPN生成您的服务器密钥.
完成安装
生成服务器密钥后,Pi VPN设置向导几乎完成。只需几步,直到您可以连接.
选择 使用此公共IP 除非您有一个动态DNS帐户。如果您使用的是动态DNS,请选择 DNS条目 然后像往常一样输入您的主机名和设置.
接下来,您必须为您的VPN选择DNS提供商。我建议 谷歌 对于大多数用户而言,因为它是免费且容易的. 开放DNS 和 诺顿 如果您有兴趣阻止任何潜在的DNS泄漏,它们都提供安全的DNS实施。您可能还会选择 自订 如果您要使用Pi-hole处理DNS请求.
设置向导将告诉您如何在命令行上添加用户。下一步,我们将安装一个网络应用程序以帮助管理用户。您也可以使用 pivpn添加.
最后,点击 是 按钮并重新启动Raspberry Pi.
安装Pi VPN GUI
Pi VPN GUI是用于Pi VPN的Web工具。它是可选的,但使用它可以简化用户管理和添加新设备的过程。我建议您安装它.
每次将用户添加到PiVPN时,您都会生成一个* .ovpn配置文件。您可以使用Pi VPN GUI创建用户帐户并轻松下载配置文件.
如果您选择不使用Pi VPN GUI,则需要使用 pivpn添加 和 pivpn移除 命令。您还必须手动复制生成的* .ovpn配置文件,通常使用scp之类的命令行工具.
准备安装Pi VPN GUI
在安装Pi VPN GUI之前,您需要更新apt。您必须添加一个存储库才能下载Pi VPN GUI所需的所有软件。这样做的方法.
使用nano编辑apt的来源列表。该命令是:
须藤nano /etc/apt/sources.list
将以下行添加到 资料清单 在任何可以找到景点的地方:
deb http://mirrordirector.raspbian.org/raspbian jessie主要贡献者非自由rpi
这将很容易地表明,可以从Debian Jessie(以前的版本)安装软件包。这是必要的,因为Pi VPN GUI所依赖的某些软件尚未添加到Debian Stretch存储库中.
不幸的是,您的旧版本有一个链接 资料清单 即使目前我们需要它,也不是最佳做法。如果您选择安装其他软件,则可能在以后引起冲突。在安装这些软件包后,删除刚添加的行是个好主意.
接下来,保存并退出nano。使用以下命令更新apt:
sudo apt-get更新
检查完成后,请使用以下命令安装所有更新的软件包:
sudo apt-get升级
这就是将必要的存储库添加到apt所需要做的一切。现在,使用以下命令安装Pi VPN GUI的前提条件:
sudo apt-get install git apache2 php5 libapache2-mod-php5 php5-mcrypt期望geoip-bin
按 ÿ 出现提示时,让安装程序运行。安装完软件后,必须先更新一些配置文件,然后才能安装Pi VPN GUI.
现在已经安装了必备软件,您应该删除从中添加的行 /etc/apt/sources.list 并运行 sudo apt更新 再次.
更新网络配置
Pi VPN GUI是一个Web应用程序,它需要一个Apache Web服务器才能正常运行。我们在上一步中安装了apache,但是现在必须进行一些更改,才能在您的apache服务器上运行Pi VPN GUI.
首先,您需要更改运行Apache的用户帐户。它默认为不受支持的帐户,我们需要使其以用户身份运行 pi 代替。使用以下命令编辑apache配置文件:
须藤纳米/etc/apache2/apache2.conf
向下滚动,直到看到显示以下内容的行 用户$(APACHE_RUN_USER) 其次是 组.
更改的值 用户 和 组 至 pi 对彼此而言。然后按 Ctrl + X 退出,并且 ÿ 保存.
接下来,更改所有者 / var / www apache用于存储网站的目录。您可以给用户 pi 使用以下命令对Web目录的所有权:
须藤弦pi:pi -R / var / www
完成后,转到 / var / www / html 使用此命令的目录:
cd / var / www / html
您应该从该目录完成Pi VPN GUI安装.
下载并安装Pi VPN GUI
完成所有设置后,实际上非常容易下载和安装Pi VPN GUI。您需要做的就是使用git检查项目。如果您已按照要求进行操作,我们会在上一步中安装git实用程序.
确保您仍在 / var / www / html 目录并运行命令:
git clone https://github.com/AaronWPhillips/pivpn-gui
该命令将使用git在Web服务器的根目录中克隆Pi VPN GUI的项目目录,使其可作为网页使用。您可以使用浏览器检查安装是否成功.
连接到Pi VPN GUI
现在已经安装了Pi VPN GUI,您可以在浏览器中打开它,并使用它来管理Pi VPN用户。我将Pi VPN安装到IP地址为192.168.1.2的Raspberry Pi上,因此可以在http://192.168.1.2/pivpn-gui找到Pi VPN GUI.
您应该使用与您的安装相对应的IP地址,并在浏览器中打开Pi VPN GUI.
看到登录提示时,您将能够判断连接是否成功。如果无法登录,则需要重新启动Raspberry Pi.
现在,只需将指向Pi VPN GUI的链接添加为书签,即可轻松返回。下一步是设置出站VPN连接以加密您的Internet连接。如果您不想注册IPVanish之类的服务,则可以跳过设置路由器并添加用户.
设置出站VPN连接
如果您未设置出站VPN连接,则来自连接到VPN的设备的所有流量都将使用您局域网的公共IP地址连接到互联网。无论您从哪里连接,网站都会认为您是在家连接。这并不总是一件坏事;例如您出国旅行时可能想看Netflix.
但是,要充分利用Pi VPN,建议您使用出站VPN提供商并创建所谓的“双跳”连接.
通过HTTPS连接到站点时,双跳VPN连接的优点是对移动互联网进行了完整的端到端加密。由于出站VPN服务器永远不会看到原始请求,因此增加的安全性不仅仅具有两个隧道。.
实际上,这意味着您的VPN提供商保留的所有日志都将无法识别任何单个请求来自的设备,所有内容都将归还给您的Pi VPN服务器。您在网上所做的每一件事都是另一种匿名性.
如果您要设置Pi VPN只是为了远程连接到家庭网络,则可以跳过此步骤继续进行。但是,如果您有兴趣为手机,笔记本电脑,平板电脑和其他设备创建安全的匿名互联网连接,则应将出站VPN连接与Pi VPN一起使用.
读者交易: 如果您还没有VPN提供商,IPVanish会为Comparitech客户提供7天免费试用.
使用启用了VPN的网关路由器
如果您已经有一个支持出站VPN连接的网关路由器,那么您的工作就完成了。由于所有流量都会通过路由器对您的家庭网络进行加密,因此您实际上已经获得了双跳VPN。在这种情况下,您可以停止并连接客户.
如果您有兴趣学习如何构建支持VPN的路由器,或者有想要设置的路由器,我们将提供相应的指南。如果您已经拥有启用VPN的路由器,并且需要将其设置为VPN客户端,请查看如何选择VPN提供商并设置路由器.
我们其余的人将不得不使用我们的Pi来处理创建第二个VPN跳所需的加密出站连接和路由.
使用IPVanish作为出站VPN
IPVanish的低延迟使其成为您设置双跳VPN连接的理想选择,因为您的连接正在两台VPN服务器上等待处理流量。对于为其服务器发布OpenVPN配置文件的任何VPN提供商,该过程将相同.
您需要为VPN提供商下载自动登录配置文件和数字证书。如果您使用的是IPVanish,则可以在此处下载这些文件.
一种在Pi VPN服务器上获取所需文件的简单方法是通过SSH连接并使用 get 命令从网上下载它们。确保您的Pi VPN服务器已连接到Internet,然后更改到正确的目录并使用以下命令下载所需的文件:
cd / etc / openvpn
须藤wget http://www.ipvanish.com/software/configs/ca.ipvanish.com.crt
须藤wget http://www.ipvanish.com/software/configs/ipvanish-US-Chicago-chi-a01.ovpn
请注意,您应该更改第二个URL以匹配您要连接的IPVanish服务器。就我而言,我在芝加哥使用IPVanish服务器.
由于您将使用OpenVPN服务自动连接到IPVanish,因此重要的是重命名您刚刚下载的* .ovpn自动登录配置文件。 OpenVPN服务将仅连接到扩展名为* .conf的配置文件。使用此命令将文件重命名为 外向配置:
须藤MV /etc/openvpn/ipvanish-US-Chicago-chi-a01.ovpn /etc/openvpn/outgoing.conf
现在已经下载并准备好文件,现在您可以设置与传出VPN提供商的连接了.
设置IPVanish连接
如果您对每个接口进行重命名以反映其功能,则可以更轻松地跟踪两个同时进行的VPN连接。我喜欢用 / dev / tun-incoming 和 / dev / tun-outgoing 引用不同的网络接口.
重命名接口还可以确保名称之间的连接不会来回切换 / dev / tun0 和 / dev / tun1, 取决于哪个先上网。设备名称对于了解您是否能够正确配置防火墙很重要。.
您可以通过编辑连接设置来更改每个接口的名称。每个OpenVPN连接都有一个关联的* .config文件。更改每个文件的第一行将重命名网络接口.
首先编辑位于以下位置的Pi VPN设置 /etc/openvpn/server.conf, 使用以下命令:
须藤nano /etc/openvpn/server.conf
将第一行更改为:
开发屯
在下面,插入新行:
开发人员接收
开发类型的隧道
按 Ctrl + X 接着 ÿ 保存您的更改。下次Pi VPN上线时,它将创建一个名为 / dev / tun-incoming.
您需要在以下位置编辑传入的配置文件 /etc/openvpn/outgoing.conf 以同样的方式。使用以下命令将其打开:
须藤nano /etc/openvpn/outgoing.config
与之前一样,更改第一行,然后在配置文件的顶部插入第二行。该内容应为:
开发者外出
开发类型的隧道
但是,传出VPN连接也需要进行其他更改。您需要将其指向上一步中下载的服务器证书,并提供用户名和密码,以便VPN可以自动连接.
编辑你的 外向配置 文件以使用IPVanish服务器证书。更改以开头的行 钙 阅读:
ca /etc/openvpn/ca.ipvanish.com.crt
然后更新或添加 验证用户密码 将IPVanish指向您的密码文件,我们将很快创建该文件:
auth-user-pass / etc / openvpn / passwd
还必须告知您的传出VPN连接不要转发LAN流量。您需要将此行添加到您的末尾 外向配置 文件,以便能够通过Pi VPN访问您的本地网络:
路由192.168.1.0 255.255.255.0 192.168.1.1
如果与上面提到的不同,请记住为局域网使用正确的IP地址。将更改保存到 /etc/openvpn/outgoing.conf 在纳米中按 Ctrl + X, 然后 ÿ.
现在,创建一个密码文件,OpenVPN可以使用它使用您的凭据登录到IPVanish。这个文件的格式再简单不过了,第一行就是您的用户名,第二行就是您的密码。使用此命令创建文件并打开以进行编辑:
须藤纳米/ etc / openvpn / passwd
在第一行输入您的电子邮件地址,在第二行输入您的密码,然后按 Ctrl + X,Y 保存文件。以来 / etc / openvpn / passwd 以纯文本格式包含您的凭据,请确保文件安全。您可以锁定对 / etc / openvpn / passwd 使用 chmod 像这样:
须藤chmod +600 / etc / openvpn / passwd
这样可以确保只有root用户才能读取或写入 密码 文件,这是在以纯文本格式存储凭据时所需的最低安全级别.
更新您的Raspberry Pi的路由表
在使出站VPN联机以保护Internet连接之前,需要设置Raspberry Pi才能正确路由流量。如果与下面的我的Pi地址不同,请记住用Pi的静态IP地址代替.
您需要创建或编辑 / lib / dhcpcd / dhcpcd-hooks / 40-routes 并添加几行。这是命令:
须藤nano / lib / dhcpcd / dhcpcd-hooks / 40-routes
将这两行添加到脚本中:
ip规则从192.168.1.2查找101添加
IP路由通过192.168.1.1表101添加默认值
然后按 Ctrl + X, ÿ 保存您的更改.
这是您需要对Raspberry Pi的路由表进行的唯一更改。保存更改并重新启动Pi后,您将可以同时运行传入和传出VPN连接.
保护您的DNS请求
为了使您的连接真正安全,您需要确保阻止DNS泄漏。当您的安全VPN连接使用加密网络之外的DNS服务器查找网站时,就会发生DNS泄漏。这会使您的VPN客户端面临DNS日志记录和中间人攻击等危险.
解决方案是强制所有传入VPN客户端使用传出VPN提供商的安全DNS服务器。在这种情况下,我将强制我的客户使用IPVanish的DNS服务器.
为了无需重新安装Pi VPN即可更改DNS服务器,您需要进行更新 /etc/openvpn/server.conf. 使用以下命令将其打开以进行编辑:
须藤nano /etc/openvpn/server.conf
滚动浏览文件,直到看到两行 推 VPN客户端的DNS设置。我最初是使用Google的DNS服务器安装Pi VPN的,因此需要在我的这两行中进行更改 server.conf 看起来像这样:
推送“ dhcp-option DNS 8.8.8.8”
推送“ dhcp-option DNS 8.8.4.4”
如果您使用的是IPVanish,请将这些行更改为:
推送“ dhcp-option DNS 198.18.0.1”
推送“ dhcp-option DNS 198.18.0.2”
如果您使用其他VPN提供商,则需要在线查找其DNS服务器.
编辑完文件后,请保存为 Ctrl + X, ÿ. 您的更改将在下次重新启动OpenVPN服务时生效,并且您的VPN客户端将自动使用IPVanish的安全服务器.
连接到IPVanish
在将OpenVPN设置为自动连接到传出VPN提供商之前,应测试连接。在命令行中,输入:
sudo服务openvpn @ outgoing开始
屏幕上将显示文本,显示您的VPN连接状态。再检查一遍 /etc/openvpn/outgoing.conf 如果您在连接时遇到问题,请确保您的用户名和密码正确无误,并在 / etc / openvpn / passwd.
成功连接后,请按断开与VPN的连接 Ctrl + C. 创建传出VPN连接的最后一步是将其设置为自动启动.
自动启动VPN连接
连接正常后,您应该将两个VPN连接都设置为自动启动。通过让您根据配置文件的名称引用每个连接,OpenVPN使其变得容易.
首先,您需要使用以下命令编辑OpenVPN的全局配置文件:
须藤nano / etc / default / openvpn
然后取消注释此行:
AUTOSTART ="在家办公"
并将其更改为:
AUTOSTART ="服务器传出"
完成后,使用保存更改 Ctrl + X,Y 然后使用以下命令重启您的Pi VPN服务器:
须藤重启
当您的Raspberry Pi重新启动时,您的Pi VPN服务器将连接到传出VPN提供商,并准备开始处理传入连接.
Pi VPN路由器设置
VPN的整体思想是从网络外部到内部的隧道。这意味着您需要设置路由器以允许某些连接通过。我们使用 转发端口, 根据您的路由器,它可能非常简单,也可能更加困难.
我在本指南中使用的是入门型号Linksys路由器,但每个使用方路由器都支持端口转发。您的过程可能有所不同,但是大多数路由器制造商都在网络上提供端口转发指南。.
转发VPN端口
除非您转发先前指定的端口,否则任何VPN客户端都无法连接到您的网络。通常,出于安全考虑,所有这些请求都会被您的路由器阻止,但是我们必须做一个特殊的例外。在这种情况下,这是因为我们需要让VPN客户端通过互联网连接到Pi VPN.
首先登录您的路由器。在大多数情况下,您可以通过单击此处或此处进行操作。否则,找到路由器的IP地址并将其粘贴到浏览器中.
登录后,单击菜单直至找到端口转发。就我而言 应用和游戏- 防火墙设定.
单击以添加新端口。您需要知道之前选择的端口号。您还需要Pi VPN服务器的静态IP地址。就我而言 端口1134 和 192.168.1.2.
请点击 保存 设置端口转发后。现在,VPN客户端在本地网络之外时就可以登录.
Comcast Xfinity客户注意事项
我无法让Comcast Xfinity路由器正确转发端口。问题是我的路由器有一个内置的入侵检测系统(IDS),它可以像防火墙一样被用来阻止对您的家庭网络的恶意攻击。无法关闭IDS,并且通过您的Comcast路由器连接到VPN会触发它,从而阻止连接.
我的解决方案是将Xfinity路由器置于桥接模式,然后将无线路由器连接到它。然后,我能够使用无线路由器打开端口转发并允许连接到我的VPN。如果您是Comcast用户,在端口转发方面遇到问题,请在下面发表评论以寻求帮助.
管理Pi VPN用户
连接到您的VPN的每个设备都需要具有与其关联的用户帐户。创建每个帐户时,Pi VPN将生成一个OpenVPN配置文件。稍后,您将在设备上使用那些* .ovpn配置文件来自动设置它们.
使用Pi VPN GUI创建配置文件
以下是将用户添加到Pi VPN的方法。完成后,您将可以下载连接到专用网络所需的个人资料.
点击 创建VPN配置文件 按钮以添加新用户.
然后输入用户名,然后单击 创建个人资料 按钮。建议您在计划连接的设备后命名每个用户。稍后,可以一目了然地分辨出哪些设备已连接到VPN.
将打开一个状态窗口,以便您可以跟随配置文件创建过程。生成加密密钥可能会花费很长时间,尤其是当您使用4096位加密时.
成功创建配置文件后,Pi VPN GUI有时会带您到404消息。点击 iv 左上角的链接返回到个人资料浏览器.
您会看到一条通往您的道路 OpenVPN客户端配置文件, 和一个按钮 下载 它。您可以点击 撤销客户 按钮删除用户帐户。撤销帐户将导致客户端立即断开连接.
点击 创建VPN配置文件 按钮,直到您具有要连接到VPN的每个设备的客户端配置文件。例如,我拥有手机和平板电脑的配置文件,以及用于流电视的Raspberry Pi.
拥有每个设备的配置文件后,就可以转到下一步并连接到VPN.
使用Pi VPN GUI删除配置文件
有时,您可能会对配置文件有疑问,或者想将其从VPN中删除。您可以通过在Pi VPN GUI中撤消客户端来实现.
打开Pi VPN GUI并登录。您可以在主屏幕上看到活动配置文件的列表。.
点击 撤消个人资料 要删除的设备的按钮,配置文件将被删除.
刷新Pi VPN GUI时,可以看到配置文件已被删除。请记住,这不会从硬盘驱动器中删除旧的* .ovpn文件。您需要使用以下命令手动删除文件:
rm〜/ ovpns / profile_name.conf
一定要替代 profile_name.conf 与您的OpenVPN自动登录配置文件的名称.
即使您不删除已撤消的配置文件,也没有安全风险。您将永远无法使用已撤消的个人资料登录,但我建议您删除它们以保持整洁.
安装移动Pi VPN客户端
如果您要在移动设备上连接到Pi VPN,建议您使用OpenVPN Connect(官方客户端)。它是完全免费的,并且可以与iOS和Android完美集成.
第一步是打开App Store或Play商店,具体取决于您的设备。无论哪种情况,都可以搜索 OpenVPN连接. 同意条款并照常安装应用.
也可以看看: 如何在DD-WRT路由器上安装OpenVPN客户端和服务器
导入Pi VPN自动登录配置文件
您需要确保已通过wifi连接到家庭网络,然后在浏览器中打开Pi VPN GUI。请记住,该路径设置得较早,并且包括您的Pi VPN服务器的本地IP地址。就我而言,它是http://192.168.1.2/pivpn-gui/.
使用用户名登录 pi 和正确的密码.
iOS用户: 请注意,Pi VPN GUI仅可在Safari中正常工作。 Android用户可以连接自己选择的浏览器.
找到您为移动设备创建的配置文件,然后单击 下载 纽扣.
使用OpenVPN connect导入* .ovpn文件。当OpenVPN Connect启动时,单击 绿色加号. 您的Pi VPN连接已准备就绪,可以连接.
连接到Pi VPN
剩下的就是使用OpenVPN Connect应用打开通往Pi VPN的隧道.
在应用程序中,单击切换按钮以启动连接。它应该变成绿色,并且您的手机将在通知区域显示VPN徽章.
您可以通过访问http://www.ipaddress.com之类的网站来检查VPN连接是否正常。如果您没有将计算机添加到VPN中,则说明操作已完成,可以跳至下一部分.
在计算机上安装Pi VPN客户端
Windows和Mac可使用许多不同的VPN客户端,但我建议使用官方的OpenVPN客户端。它是免费且易于安装的,只需单击几下,即可导入Pi VPN连接.
在此处下载官方客户端,然后像安装其他任何程序一样安装.
导入Pi VPN自动登录配置文件
如果要添加到VPN的计算机位于局域网中,则可以从Pi VPN GUI下载自动登录配置文件。浏览到之前安装Pi VPN GUI的路径,在本例中为http://192.168.1.2/pivpn-gui/.
如果您要添加Pi VPN的计算机位于远程位置,则您将无法直接连接到Pi VPN GUI。在这种情况下,您需要使用LAN上的设备下载自动登录配置文件。下载后,将其附加到电子邮件中并将其发送到您的远程计算机。您可以从电子邮件中下载个人资料,然后照常继续操作.
下载自动登录配置文件后,右键单击系统托盘中的OpenVPN图标,然后单击 进口.
连接到Pi VPN
添加Pi VPN连接后,右键单击系统任务栏中的OpenVPN图标,然后单击配置文件名称进行连接.
您会看到一个状态窗口,其中显示了连接日志。如果您的计算机连接不正确,则可以复制并粘贴错误代码以找出问题所在。在大多数情况下,如果您无法连接到VPN,则是因为未正确启用端口转发.
连接后,请访问http://www.ipaddress.com等网站,以确保VPN正常运行.
有关Pi VPN和您的网络的更多想法
拥有可随时随地访问的服务器,使其成为许多不同项目的理想之选。现在,您已经完成了Pi VPN服务器的设置,以下是有关Raspberry Pi的一些建议.
锁定防火墙
Raspberry Pi在设计上附带了非常宽松的防火墙,但是最好在运行VPN服务器时限制更多.
以下是一些示例规则,可帮助您入门。记住要更换 协议 和 港口 与您为Pi VPN服务器选择的内容相同。开头的行 # 是评论,不需要输入.
#接受所有接口上的传入流量,但将eth0限制为仅VPN
sudo iptables -A输入-i eth0 -m状态-状态NEW -p协议–dport端口-j接受
sudo iptables -A输入-i tun输入-j接受
sudo iptables -A输入-i调出-j接受
#允许子网之间转发流量
sudo iptables -A FORWARD -i tun-incoming -j ACCEPT
sudo iptables -A FORWARD -i tun-outgoing -j ACCEPT
#通过eth0转发流量
sudo iptables -A FORWARD -i tun-incoming -o eth0 -m state -state相关,已确定-j ACPT
sudo iptables -A转发-i调出-o eth0 -m状态–state相关,已确定-j接受
#通过tun-incoming转发流量
sudo iptables -A FORWARD -i eth0 -o tun-incoming -m状态–state相关,已确定-j接受
sudo iptables -A转发-i调出-o调入-m状态-状态相关,已确定-j接受
#通过调出流量转发流量
sudo iptables -A FORWARD -i eth0 -o tun-outgoing -m状态–state相关,已确定-j接受
sudo iptables -A FORWARD -i eth0 -o tun-outgoing -m状态–state相关,已确定-j接受
#MASQ tun-incoming为eth0
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j伪装
完成后,请使用以下命令保存更改:
sudo iptables-永久保存
记住,您可以使用以下命令列出当前活动的iptables规则:
须藤iptables -L
切换到动态DNS
通过动态DNS添加,即使您没有来自ISP的静态地址,也可以使用主机名而不是IP地址来连接到Pi VPN服务器。例如,您可以使用动态DNS将vpn.websitename.com重定向到您的VPN服务器。如果您打算托管网络服务或电子邮件,则在许多情况下,您都可以在同一个Pi上运行所有内容.
如果要切换到动态DNS,最好重新运行Pi VPN安装程序。但是,一旦您更新了设置,就可以通过您选择的自定义URL访问Pi VPN服务器.
切换到动态DNS无需每次公共IP地址更改时都重新发出Pi VPN客户端配置文件.
设置文件服务器
您的Raspberry Pi是一个出色的Samba文件服务器。您可以插入一些USB驱动器,安装 lvm2 创建一个跨所有磁盘的巨型文件系统,并将您的文件共享给VPN客户端.
在您的VPN上启用Samba会花费一些工作,但是能够从移动设备访问文件,音乐和电影非常有用.
安装孔
在Pi VPN安装过程中设置DNS提供程序时,可以轻松安装Pi-hole,将“自定义DNS提供程序”更改为127.0.0.1,并通过VPN自动阻止移动广告.
在VPN连接上运行Pi-hole是阻止移动广告而不会使您的手机生根的最佳方法。您甚至可以关闭Youtube前置广告,并停止在亚马逊上看到赞助产品。看看Comparitech的Pi-hole指南以了解更多.
运行种子箱
如果您已建立并运行了出站VPN,则您的互联网连接已完全加密。建立匿名互联网连接非常适合种子下载,使用传输将您的Pi VPN服务器变成种子箱非常容易.
由于连接已经加密,因此您要做的就是安装Transmission和Web客户端。您将能够从手机或笔记本电脑中添加种子,种子也可以在家里下载.
使用Pi VPN
当我说自己是个大书呆子时,我认为我没有告诉任何秘密。我的家庭网络到处都是智能设备,例如Hue灯,Nest温控器和几个Sonos扬声器。我有一个带有Transmission的文件服务器,一个Plex服务器,运行Kodi的设备,以及诸如网络打印机和运行Pi-hole来阻止移动广告的DNS服务器之类的一堆东西.
如果您的家庭网络完全像我的家庭网络,我会告诉您Pi VPN是改变游戏规则的人。我不仅设法关闭了每个端口,还在防火墙上保存了一个端口,而且我的移动互联网已完全加密,并且可以从任何地方访问LAN。我的网络安全性得到了极大的改善,并且每次添加新设备时都不必在路由器上配置端口转发.
花费了一个下午的时间进行设置后,Pi VPN几乎是不可思议的好。 Raspberry Pi的许多项目都是浮华而有趣的,但最终却毫无用处。我很高兴地报告Pi VPN是一个巨大的例外.
Lucasbosch的“ Raspberry Pi”在CC 3.0下获得许可
加密是目前最常用的加密强度,可以提供足够的安全性。4096位RSA加密提供更高的安全性,但可能会影响性能。因此,选择加密强度时需要权衡安全性和性能. 长时间运行时超时 在长时间运行时,Pi VPN可能会超时并断开连接。为了解决这个问题,您可以在 /etc/openvpn/server.conf 文件中添加以下行: 须藤keepalive 10 120 这将在每10秒钟发送一个ping,并在120秒钟内等待响应。如果没有响应,则会断开连接. 安装Pi VPN 安装Pi VPN非常简单。只需执行以下步骤: 启动安装程序 为了启动安装程序,请使用以下命令: 须藤curl -L https://install.pivpn.io | bash Pi VPN安装程序 安装程序将自动下载并安装所有必需的软件包。在安装过程中,您将被要求输入一些信息,例如IP地址和加密强度. 设置加密 在安装过程中,您将被要求选择加密强度。您可以选择1024位,2048位和4096位RSA加密. 完成安装 安装完成后,您将看到以下消息: 须藤Installation Complete! 您现在可以使用Pi VPN了. 安装Pi VPN GUI Pi VPN GUI是一个Web界面,可让您轻松管理Pi VPN服务器。 准备安装Pi VPN GUI 在安装Pi VPN GUI之前,您需要安装Apache Web服务器。使用以下命令安装: 须藤sudo apt-get安装apache2 更新网络配置 在安装Apache后,您需要更新网络配置。使用以下命令打开配置文件: 须藤sudo nano /etc/network/interfaces 在文件的末尾添加以下行: 须藤iface eth0 inet dhcp post-up iptables-