树莓派上如何配置 DNS 服务器?

在本教程中,我们将引导您完成在树莓派上设置 DNS 服务器的步骤。


DNS 服务器负责处理将诸如 pimylifeup .com 之类的域名转换为其最终目的地。它可以帮助将 IP 地址从”** 210.345.231.345 **” 转换为更加用户友好的域名系统。

通过在树莓派上设置 DNS 服务器,您可以使用它来缩短计算机执行 DNS 请求的时间。

Pi 上的 DNS 服务器将向其他 DNS 服务器发出请求,以确定该请求的 IP 并将其缓存。这意味着当您再次请求相同的域名时,几乎立即就会收到该请求。

如果您想在树莓派上设置具有一些额外功能的 DNS 服务器,那么我们建议您查看关于设置 Pi -Hole 的指南。

Pi-Hole 是一个软件包,附带许多附加功能,例如域名阻止以及易于使用的界面,可让您轻松管理 DNS 设置。

如果您想了解如何更改树莓派使用的 DNS ,请确保遵循我们的 DNS 设置指南。

在开始设置树莓派 DNS 服务器之前,首先应确保您的 Pi 设置为使用静态 IP 地址。

设备清单

这是我为树莓派 DNS 服务器教程推荐的所有设备。

推荐的

  • 树莓派 2、 3 或 4

  • Micro SD 卡

  • 电源

  • Ethernet Cord 或 * WiFi dongle (Pi 3 和 4 具有内置 WiFi)

可选的

  • 树莓派外壳

在树莓派上设置 DNS 服务器

1 在本教程中,我们将使用 Raspbian 操作系统。其他操作系统可能有效,但不能保证。

在将树莓派设置为 DNS 服务器之前,我们必须确保所有内容都是最新的。

为此,我们可以在树莓派上运行以下两个命令。

sudo apt update
sudo apt upgrade

2 更新完成后,我们可以继续安装用于将 Pi 设置为 DNS 服务器的软件。

我们正在安装的此软件包称为 DNSmasq。 DNSmasq 是一种轻量级且直接的 DNS 服务器,其设计初衷是针对小型网络。

由于其质量轻巧,DNSmasq 是在树莓派上设置 DNS 服务器的理想解决方案,因为它不会浪费有限的资源。

我们可以通过运行以下命令将 dnsmasq 安装到我们的树莓派中。

sudo apt install dnsmasq 

配置 DNS 服务器

1 现在,我们已经继续将 dnsmasq 软件安装到我们的树莓派中,现在我们应该对其进行一些配置更改。

我们将对其配置文件进行的更改将使您的树莓派可以用作更好的 DNS 服务器。

我们可以通过运行以下命令开始对文件进行修改。

sudovim/etc/dnsmasq.conf

若要更轻松地找到需要的部分,可以使用 CTRL + W 搜索所需的文本。

#domain-need

用。。。来代替

领域需要

此选项更改 DNS 服务器,以使其不将不包含点 () 或域名 (**。 com **) 的名称转发到上游名称服务器。

这样做会将所有纯名称 (例如”** localhost “或” dlinkrouter **”) 保留到本地网络。

#bogus-priv

用。。。来代替

伪造的

此选项可阻止 DNS 服务器将具有本地 IP 范围的反向查找查询转发到上游 DNS 服务器。

这样做有助于防止泄漏本地网络,因为 IP 地址永远不会发送到上游服务器。

#no-resolv

用。。。来代替

无分辨

使用此选项,我们告诉 dnsmasq 不要为其上游名称服务器读取”**/etc/resolv.conf **” 文件,而要依靠其配置中指定的名称服务器。

#server =/localnet/192.168.0.1

用。。。来代替

服务器= 8.8.8.8
服务器= 8.8.4.4

使用此命令,我们指示 dnsmasq 将 Google DNS 服务器用作其上游名称服务器。

您还可以使用其他公共 DNS ,例如 CloudFlare 的 DNS 或 [OpenDNS](https://www。 opendns.com/)。

#cache-size = 150

用。。。来代替缓存大小 = 1000

使用此选项,我们增加了 dnsmasq 软件将缓存的 DNS 请求的数量。

通过增加其缓存大小,我们应该能够改善树莓派的 DNS 服务器的整体性能,并减少执行 DNS 查找的时间。

2 对配置文件进行更改后,您现在可以通过按 CTRL + X,然后按 Y ,然后按 ENTER 键来保存文件。

3 当我们对 dnsmasq 的配置进行了更改时,我们将需要重新启动其服务,以便其读取我们的更改。

我们可以通过运行以下命令来重新启动 dnsmasq 。

sudo systemctl restart dnsmasq 

4 因为我们对 dnsmasq 服务进行了一些更改,所以我们应该检查以确保其已正确启动。

我们可以使用以下命令检查 DNS 服务器的状态。

sudo systemctl状态 dnsmasq 

如果状态显示为” 活动:活动 (正在运行)“,则您现在已使树莓派成功作为 DNS 服务器运行。

现在,您应该可以将设备指向 Rasberry Pi 的 IP 地址,以将其用作 DNS 服务器。

测试树莓派 DNS 服务器

1 如果要在不更改 DNS 的情况下测试树莓派 DNS 服务器的结果,则可以使用”** dig **” 工具。

要在树莓派上使用 dig 工具,您需要先通过运行以下命令来安装”** dnsutils **” 软件包。

sudo apt install dnsutils 

2 在树莓派上安装了”** dnsutils **” 软件包后,我们可以通过运行以下命令继续查询 Pi DNS 服务器。

我们使用”** @ localhost **” 告诉挖掘工具利用本地主机的 DNS 服务器进行 DNS 查找。

挖 pimylifeup .com @localhost

3 通过此命令,您将获得如下所示的响应。

此响应显示了从树莓派的 DNS 服务器检索的 dig 软件的答案。

从此响应中,您可以查看查询完成所需的时间以及其他信息。

pi @ raspberrypi:〜$挖 pimylifeup .com

; << >> DiG 9.11.5-P4-5.1-Raspbian << >> pimylifeup.com
;;全局选项:+ cmd
;;得到答案:
;; ->> HEADER <<-操作码:QUERY,状态:NOERROR,ID:40018
;;标志:qr rd ra;查询:1,答案:2,权限:0,附加:1

;;选择伪指令:
; EDNS:版本:0,标志:; udp:512
;;问题部分:
; pimylifeup.com。在一个

;;解答部分:
pimylifeup.com。 257英寸 104 .25.42.22
pimylifeup.com。 257英寸 104 .25.43.22

;;查询时间:45毫秒
;;服务器:127.0.0.1#53(127.0.0.1)
;;时间:2019年 8 月 1 日星期四 08 :04:35
;; MSG大小 RCV :75

4 如果重新运行该命令,则会注意到查询时间将大大减少,因为它可以从缓存中检索 DNS 请求。

正如我们从本地主机请求的那样,您的查询时间应该接近 ** 0 毫秒 **。

;;查询时间:0毫秒

希望到现在,您已经成功设置了树莓派作为网络的 DNS 服务器。如果您遇到任何问题或有任何反馈,请与我联系。

分享到