如何使用Pi-hole和Docker创建一个安全的家庭连接

1,524 阅读10分钟

使用Pi-hole和Docker创建一个安全的家庭连接

Pi-hole是一个傻瓜式的广告屏蔽器。它可以保护你的网络免受有害和不受欢迎的广告、弹出式广告、广告、通知等的影响。你只需要在你的网络上安装pi-hole,它就会保护和阻止你的设备和浏览器的所有广告。

数字安全已经成为一个重要问题。我们的屏幕上总是有一些不可理喻的广告、弹出式广告、通知、横幅广告等等,如有害的恶意软件。

简介

所有这些广告也会导致糟糕的浏览体验。幸运的是,一些调整可以解决这些错误和问题,其中一个万无一失的方法是为Pi-hole的低成本电脑编程。

Pi-hole将阻止任何出现在你的显示器上的不相关的东西,从你喜欢的黑名单中检查所有传入的数据,并决定这些数据包是否应该传递给你的设备。

为了减少风险(过多的广告和恶意软件),我们驾驶室使用Pi-hole和Docker创建一个安全的家庭连接。docker 是一个容器化技术工具。它与各种应用程序一起使用,如DNS和一个网络服务器。它有助于应用程序的包装,当人们需要附属他们的应用程序操作系统时。

pi-hole 是一个万无一失的广告屏蔽器。它保护你的网络免受有害和不受欢迎的广告、弹出式广告、广告、通知等的影响。你只需要在你的网络上安装pi-hole,它将保护和阻止来自你的设备和浏览器的所有广告。它还有助于提高网络的速度。

前提条件

  • 任何操作系统。windows or Linux os.
  • 一些关于使用命令界面的知识。
  • 网络方面的背景。

架构

The Architecture

从上面的图片来看,数据包是从互联网上接收的。连接到互联网的基本操作系统收到了这些数据包。

pi-hole和docker都在基本操作系统内。这就是为什么代表它们的符号是相连的。

pi-hole防止广告在互联网上显示。使用我们的自动安装程序,在支持的操作系统上安装Pi-hole,或从容器中运行它。当广告被pi-hole软件阻止时,过滤后的数据包会被发送到路由器上。

作为一种计算机网络工具,路由器用于在互联网上将数据包从一个网络传输到另一个网络。在互联网上,路由器负责将流量导向不同的设备,如电脑、笔记本电脑和电话。

pi-hole软件的安装

Pi-hole可以通过以下两种方式安装在Raspberry Pi和其他Linux平台上,如Debian和Ubuntu。如果你已经在运行Raspberry Pi OS或其他Linux发行版,可以使用终端的单行脚本来安装它。

要在你的树莓派上的一个单独的软件容器中运行Pi-hole,请安装Docker并在容器中运行它。这两种选择都可以接受,然而,Docker需要更多的设置。

如果你想安装Pi-hole,你可以这样做,详见下文。

使用自动安装脚本安装Pi-Hole

使用开发者的安装脚本是设置Pi-hole的最快捷的方法。你可以使用curl直接从Pi-hole网站上运行该脚本,或者你可以手动下载并运行它。

通过打开一个终端并输入以下命令来自动启动脚本。

sudo curl -SSL https://install.pi-hole.net | bash

这将执行Pi-hole自动安装脚本,下载任何需要的软件包,并允许你在安装完成之前配置Pi-hole。

虽然这应该是安全的,但从互联网上直接用curl运行脚本通常是不好的做法,因为你无法在运行脚本之前看到它将做什么。如果你担心这样做,你可以先下载脚本,在手动运行它之前仔细检查代码。

要做到这一点,请打开一个终端,输入下面的命令。

wget -O basic-install.sh https://install.pi-hole.net
sudo bash basic-install.sh

Pi-hole和任何额外的软件包将在配置程序再次启动之前使用相同的安装脚本进行安装和配置。

安装过程中的Pi-hole配置

在终端窗口中,你会被要求确认不同的Pi-hole选项,例如你的网络配置和选择的日志级别。

  1. 要浏览前几个信息面板,请按回车键。在 "选择接口 "屏幕上用方向键选择Wi-Fi或以太网,然后按空格或回车。用tab键切换到确定选项,然后按回车键确认。

  2. 之后,你会被问到你想使用哪个外部DNS服务器。这里,Cloudflare和谷歌都是很好的免费解决方案。使用你的方向键,选择你想使用的供应商,然后使用回车键确认。

  3. 你选择的广告屏蔽列表将在下一轮要求你。Pi-hole有四个默认列表,你应该保持选择,但你可以通过选择它们并按键盘上的空格来启用或禁用其中任何一个。要继续,按tab键选择OK,然后回车。

  4. Pi-hole默认情况下会阻止对IPv4和IPv6连接的广告。如果你不想改变任何东西,让默认选项被选中,按Tab键选择确定,然后按回车。

  5. 下面的步骤将要求你确认显示的IP地址和IP网关(很可能是你的本地路由器)对于Pi-static hole的IP设置是正确的。要更新你的设置,如果是正确的就按回车键,如果不正确就按否定键。

  6. Pi-hole会提醒你任何可能的IP冲突。在你接受警告后继续按回车键。

  7. Pi-hole带有一个网页浏览器的管理面板,你可以用它来配置和监控默认情况。这是推荐的安装选项,也是安装过程中的默认选择。要继续,请按下标签,然后输入确定。在以后的阶段也需要这样做,以验证管理界面的网络服务器的安装。

  8. 如果你想登录查询,Pi-hole会问你。这是很有用的,因为你将能够监测Pi-hole正在阻止哪些域名,以及它们被禁止的频率如何。这已经被选中了,请按tab和enter确认。

  9. 你可以选择你的Pi-hole统计数据应该有多详细。在Pi-hole的文档中,有五个级别,每个级别都有很详细的讨论。为了确保你对显示一切的默认选项感到满意,请按tab键和回车键。

  10. 一旦你选择了你喜欢的日志级别,Pi-hole的安装就会开始。一旦安装完成,终端将显示一个最后的确认信息。这条信息将包括登录网络门户的信息和将自动为你生成的密码。点击标签,输入文字。

将Pi-hole作为Docker容器安装

如果你愿意,你可以使用Docker在一个单独的Docker软件容器中运行Pi-hole,而不是使用上面的脚本来安装Pi-hole。你的Raspberry Pi必须先使用Docker进行安装。

安装Docker容器

  • 要在你的Raspberry Pi上安装Docker,请打开一个终端窗口,输入以下命令。
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

你也可以通过下载脚本并在终端运行以下命令来手动安装Docker。

wget -O install-docker.sh https://get.docker.com
sh install-docker.sh
  • 要在安装完成后允许非root用户使用Docker,请执行sudo usermod -aG docker pi (如Raspberry Pi操作系统上的默认pi用户)。当你的Raspberry Pi重新启动时,通过运行sudo systemctl enable docker ,自动启动Docker。当你的Raspberry Pi重新启动时,通过运行sudo systemctl enable docker ,自动启动Docker。

  • 执行sudo systemctl enable docker ,以确保Docker在你的Raspberry Pi重启时自动启动。

sudo systemctl enable docker.

如何将Pi-hole设置为Docker容器

从Pi-hole Github仓库下载Pi-hole的Docker安装文件,并克隆该仓库以获得Docker安装文件。

  1. 为了实现这一点,打开一个终端窗口(或使用远程SSH连接),并输入以下内容。
git clone https://github.com/pi-hole/docker-pi-hole.git

作为第一步,如果你想在Docker内运行它,你需要从Pi-Github hole的仓库获得最新的文件。对于你的容器docker运行,在Pi-hole的克隆文件夹中包含了一个启动脚本。

在运行这个启动脚本之前,你可能想看一下并改变任何选项。

  1. Pi-default hole的外发DNS服务器将被改为1.1.1.1或8.8.8.8,其他设置,如时区,将由脚本自动更新。如果你不居住在美国,使用类似的TZ数据库时区设置,例如,改变时区栏以适应你的时区。

  2. 通过输入nano docker run.sh ,并进行适当的调整,你可以修改这些参数。

  3. 当你准备运行脚本时,在终端输入./docker run.sh 。如果脚本成功,一个新的Docker容器现在应该启动Pi-hole。

假设脚本是成功的,终端输出将显示一个用户的密码。使用这个密码来继续设置Pi-hole。

如何使用Pi-hole作为DNS

配置你所有的本地网络设备来使用Pi-hole是非常耗时和低效的,尤其是当你想在整个网络的许多设备上使用Pi-hole时。

对于那些发现自己处于这种情况的人,建议你改变你的路由器上的DNS设置,以利用Raspberry Pi的IP地址来代替。

广告将在你本地网络的所有设备上被阻止。这种方法比手动方法更快,手动方法需要你在每个设备上手动配置DNS设置。

改变你的路由器的名称服务器配置,对于不同的型号和品牌会有所不同。这些信息应该位于你的路由器上或盒子里,包括默认IP地址以及管理员用户名和密码。

如果没有,请参阅你的路由器手册,使用网络浏览器访问你的路由器,使用流行的IP地址,如http://192.168.1.1http://192.168.0.1

如果你有一个互联网服务提供商(ISP),你的路由器通常被设置为使用他们的DNS服务器。确保你的DNS服务器设置(也许标有主要/次要DNS)与你的Raspberry Pi的IP地址相符。

我们会在第一时间指示每个连接的设备通过Pi-hole重定向所有的DNS请求。任何被禁止的请求都会被忽略。

而被批准的请求将被转发到你的Pi-hole中配置的第三方互联网DNS提供商(如Cloudflare的1.1.1.1或谷歌的8.8.8.8公共DNS服务器)。

在进行任何DNS服务器更改后,请重新启动你的网络,以确保它们在你的网络中生效。

总结

在这篇文章中,我们学习了如何使用Pi-hole和docker容器来阻止互联网上不需要的广告。通过这样做,我们的数据包的访问速度会更快,这将有助于减少数据的损失,而且成本效益高。