Raspberry Pi

显示无信号

hdmi_mode:



树莓派的指示灯含义

树莓派有两个状态指示灯,分别是红色的PWR灯(电源指示)和绿色的ACT灯(运行状态)。

VPN概要

VPN指的是虚拟专用网络。它是一种安全、加密的互联网连接,可以将您连接到其他区域的私人网络。

大多数无线网络使用加密功能,但通常只适用于没有连接到网络的人。您网络上的每个人都可以看到您发送和接收的所有流量。其中一些可能是敏感的,例如密码或财务信息。

这意味着VPN在您旅行的时候会非常有用,因为这种情况下几乎不可能知道其他人的无线网络配置状况,或者还有谁在网络上。

通过加密您的所有流量并将其发送到其他地方,您本地网络上的任何其他人都无法看到您发送的内容或发送位置。

在本地网络上的VPN服务器的最大优势在于这是您所连接的地方,也就是说您可以访问文件服务器、媒体中心,甚至可以在打印机上打印文档。

另一个优势在于安全性。尽管存在一些常见的误解,但是使用VPN并不能完全消除恶意行为者对您进行监视的风险,它只是将其转移到了另一个网络中。如果该网络是您的家或者办公室,那么就有机会对那里发生的事情有一定的了解和控制。

当您开始使用一项服务时,对它真正了解了多少呢?使用可靠的服务可以降低这种风险,但请确保先做好功课,以避免遭受不良行为者的入侵。

另一方面,如果您想要使用VPN的原因中包含进行一些无法追溯到您个人的绝密活动,那么在您的家庭网络上托管VPN服务器将会是一个糟糕的主意。这种情况下应该选择其他人常用的商用服务。

Raspberry Pi VPN服务器不会提供万无一失的可靠性。偶尔会出现因为断电或SD卡损坏而脱机的情况。

如果您身处地球的另一端,而需要VPN来访问某些东西,当这种脱机情况出现将会很麻烦。如果没有人回家进行重启,那就更糟糕了。

值得注意的一点是,您还可以在云上安装自己的VPN服务器。这是一种兼具两者优点的中间选项。

VPN软件有两部分:客户端和服务器。

客户端可以安装在手机、笔记本电脑或者其他您随身携带的设备上。它通常只连接到一台服务器。

服务器位于您要连接的网络上,可以接受多个客户端的连接。

我们的Raspberry Pi基于ARM架构运行Linux,因此所选择的服务器软件需要支持这一点。

您的客户端很有可能会不同:可能是Windows、Mac或者Android设备。所以,我们希望它也可以在这些设备上运行。

对于本项目,我们将使用一个名为PiVPN的脚本,该脚本可以使在Raspberry Pi上搭建VPN服务器变得非常简单。

PiVPN实际提供了两种满足这些需求的选项:建立完善并且被广泛支持的OpenVPN,以及版本更新并且具有出色性能的Wireguard。

环境准备

路由器配置

在我们安装Wireguard之前,需要告诉您的路由器在VPN流量到达时该将其发送到哪里。

您的Raspberry Pi VPN服务器应该被分配一个保留IP地址,以便能够始终在本地网络上的同一地址找到它。

如果尚未配置,您可以在路由器的仪表板中进行配置。确切的步骤因路由器而异,但通常只是一些登陆和DHCP设置这样的简单配置。

如果您遇到困难,请使用搜索引擎查找您设备的手册。

现在您需要在路由器上设置端口转发,以将到达特定端口的UDP流量发送到您刚刚为VPN服务器保留的IP地址。

同样,具体步骤因路由器而异,因此您可能需要查找设备手册。

您的路由器可能允许您选择打开一系列端口,并为它们分配不同的内部和外部编号。您只需要打开一个端口,它可以有相同的内部和外部编号。

默认情况下,Wireguard使用端口51820,但如果您愿意,也可以配置另一个端口。只是小心不要分配一个已经被使用的端口。选择UDP作为协议。

动态域名

如果您的公共IP地址是静态的(即一直保持不变),那么您可以跳过这一步。

如果您通过常规住宅或小型企业计划连接互联网,那么您的互联网供应商很可能正在为您分配一个动态IP地址,也就是说IP地址会定期更改。当您尝试从互联网连接本地网络时,之前的IP地址已经不存在了,所以这个IP地址不是很有用。

如果您有一个动态IP地址(或者您不知道它是静态还是动态的),您可以配置动态DNS或DDNS,它会在每次您的公共IP地址发生更改时为其更新一个自定义主机名。

https://www.noip.com/

我们将需要有人在他们的域上托管我们的主机名。有许多服务供应商提供该项服务。如果使用了正确的DNS主机,您甚至有可能在自己的域上设置一个。

在本教程中,我们将使用No-IP,它可以让您免费设置主机名。

打开 https://www.noip.com/ 输入主机名,然后点击注册。

完成免费注册过程并确认您的电子邮件地址。

现在进入“My Account(我的账户)”并配置一个用户名。记下您的用户名和密码,我们很快就会用到它。

# 在终端中,输入以下命令来更新您的操作系统:
sudo apt update && sudo apt upgrade -y

# 现在安装ddclient
sudo apt install ddclient -y

# 然后编辑ddclient配置文件。
sudo nano /etc/ddclient.conf

将配置编辑为如下所示,替换为您的用户名、密码和主机名。

use=web
ssl=yes

protocol=noip
login=<USERNAME>
password=<PASSWORD>
<YOUR_HOSTNAME>

现在使用以下命令运行ddclient:

sudo ddclient -daemon 10m

使用PiVPN安装Wireguard

https://www.pivpn.io/

Raspberry Pi V
----------------------
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:32:e8:bf brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.10/24 brd 192.168.200.255 scope global dynamic noprefixroute eth0
       valid_lft 4283sec preferred_lft 3383sec
    inet 192.168.1.167/24 brd 192.168.1.255 scope global dynamic eth0
       valid_lft 85968sec preferred_lft 85968sec
    inet6 fe80::e56b:3a75:4328:bda8/64 scope link
       valid_lft forever preferred_lft forever

https://www.noip.com/


hostname: longbercd.ddns.net
Wireguard
port: 51820

# create client profiles
pivpn add
pivpn help
 pivpn -a
Enter a Name for the Client: xstar
::: Client Keys generated
::: Client config generated
::: Updated server config
::: WireGuard reloaded
======================================================================
::: Done! xstar.conf successfully created!
::: xstar.conf was copied to /home/yuanxing/configs for easytransfer.
::: Please use this profile only on one device and create additional
::: profiles for other devices. You can also use pivpn -qr
::: to generate a QR Code you can scan with the mobile app.
======================================================================

pivpn -l
::: Clients Summary :::
Client      Public key                                        Creation date

不能联网问题

下面是一个示例配置:

# 防火墙主要设置 wg0 的转发功能和 SNAT 功能以方便和家庭内网 192.168.0.0/24 段通信。
iptables -t filter -A FORWARD -i wg0 -j ACCEPT
iptables -t filter -A FORWARD -o wg0 -j ACCEPT
# 动态 SNAT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o br-lan -j MASQUERADE