0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何将Raspberry Pi用作DNS服务器?

母猪会上树 来源:母猪会上树 作者:母猪会上树 2023-02-25 17:31 次阅读

这篇文章来源于DevicePlus.com英语网站的翻译稿。如果您正在寻找用于家庭或小型企业网络的DNS服务器,Raspberry Pi将会是一个便宜、可靠且节能的选择。
首先,让我们来了解一下什么是DNS服务器。

究竟什么是DNS服务器?

DNS代表“域名系统”。DNS服务器将人性化的域名转换为计算机可以使用的IP地址。
这样您就可以通过输入“deviceplus.com”来访问这个网站了,而不是IP地址13.52.144.235—谁能记得住呢?

更好的一点是,如果我们将此网站移至具有新IP地址的新服务器,我们只需要更新我们的DNS记录即可,其他人不会受到影响。

拥有您自己的DNS服务器的好处

只要网站加载了出来,您就已经在使用DNS服务器了。
您的互联网供应商几乎都是允许您使用他们的DNS服务器的,如果您对此不满意,可以随时使用公共DNS服务器。
这也许就是您想要自己的DNS服务器的原因。

提升您的网页浏览速度

从您的本地网络获取某些内容总是比从互联网上获取要快。前者有时可以将页面加载时间缩短几百毫秒。这不会给生活带来什么改变,但是效果是显著的。
而这种加快只有在您的本地DNS服务器已经有相关记录的情况下才有效。否则,仍然必须从互联网上获取内容。
在本地网络上保持整个DNS一直更新是不切实际的。相反,服务器会将这些记录进行缓存,直到它们的“生存时间”值(TTL)到期。
大多数操作系统和网络浏览器也会在您的计算机上缓存这些相同的记录,因此如果它只是一台使用了互联网连接的计算机,那么拥有自己的DNS服务器并不会带来任何区别。
当多个拥有多台设备的人在本地网络上,并共享互联网连接时,自己拥有DNS服务器会更有意义。这种情况下,将所有内容缓存在一个地方将可以减少需要离开网络的请求数量。

将域加入黑名单

如果您想完全阻止某些域,使用DNS服务器将会非常好用且高效。一些政府以这种方式审查整个国家的网络。
作为家长,您可能希望以同样的方式阻止您的孩子访问特定网站。请注意,这仅在他们通过该网络访问互联网时有效,并且许多孩子已经有足够的专业知识通过配置一个不同的DNS服务器来规避这一点了。
您可能还想阻止某些您觉得具有侵扰性或者令人生厌的域。
甚至还有一个用于Raspberry Pi的DNS服务器程序,叫Pi-Hole,可以立即阻止广告。

添加自定义域

您还可以为本地网络上的设备提供各自的域名,仅对其他本地机器可见。
您可以为打印机、媒体中心,甚至冰箱和咖啡机(如果它们连接到了您的网络中)命名。
这将使您不必追踪办公室或家中所有设备的IP地址。

了解更多有关互联网的信息

也许您只是想更好地了解一下DNS,但是学习DNS的话也是必要了解一下互联网的。

确保您的Raspberry Pi具有保留IP

如果您的Raspberry Pi DNS服务器有一个动态分配的IP,那将会很头疼。每隔一段时间,它就会被分配一个不同的IP地址,网络上的其他设备也将不再连接到它。
这就是为什么您要为这个Raspberry Pi保留一个IP。您可以通过登录路由器的仪表板来执行该操作。
这一部分的确切步骤会因您的设备不同而略有不同。如果您遇到困难,请使用搜索引擎查找您设备的手册。

设置您的操作系统并安装Dnsmasq

现在您的设备已经有了固定IP,让我们开始安装将要使用的软件:Dnsmasq。
最好从重新安装一个Raspberry Pi OS开始。您也许希望更改默认密码,并在raspi-config中设置ssh访问。
首先,通过输入以下内容更新您的操作系统:
sudo apt update && sudo apt upgrade -y

然后安装Dnsmasq.
sudo apt install dnsmasq -y

就是这样!现在您就拥有一个DNS服务器了!

配置Dnsmasq

您可以开始向Raspberry发送DNS请求了,但是需要对默认设置进行调整才能发挥最大作用。输入以下命令打开配置文件:
sudo nano /etc/dnsmasq.conf

这个文件对有用的命令有详细的注释,所以您可以尽情查阅对其进行了解。有几个部分需要特别注意。

不要将本地流量转发到上游服务器

在配置文件的顶部附近,您会发现写有“#domain-needed”和“#bogus-p”的行。
设置#domain-needed选项将会阻止DNS服务器向上游寻找不在域中的主机,而bogus-priv选项将会阻止它向上游查找私有IP地址。
公司网络上,也许您会想在上游服务器中查找这些东西。但是在公共互联网上寻找它们没有任何意义,所以我们使用这些选项。
您可以通过删除行开头的注释符号来应用它们。

poYBAGPzHOqATMPMAAFBB9XFLyY200.jpg

配置上流DNS服务器

向下滚动,并查找显示“#no-resolv”的行。删除注释字符以应用该选项。往下几行后,有一行显示“#server=/localnet/192.168.0.1”,删除这一行。我们将要输入自己的设置。
我通常使用Google的DNS服务器。它们的快速可靠会带来帮助,但是老实说,这主要是因为IP地址非常容易记住。
对此的配置如下:
server=8.8.8.8
server=8.8.4.4

pYYBAGPzHO6ADxyaAAD7aG6aQLk186.jpg

如果您不想使用Google服务,那么可以使用您的互联网供应商或其他公共DNS服务器。例如CloudFlare。

添加自定义域和阻止域

往下不远的地方有一行显示“#address=/double-click.net/127.0.0.1”。
这对于将域分配给本地网络上的设备很有用。公共互联网上未使用的任何内容都可以,我通常为其使用顶级域.lan。
复制这一行的语法。在本项目中,是将我的媒体和复古游戏装备放置在了retropie.lan上,如下所示:
address=/retropie.lan/192.168.0.6

不要忘记为路由器中对应的设备保留这些IP地址。
您还可以在此处阻止特定域,方法是将它们定向到私人IP。
address=/www.nickelback.com/127.0.0.1
poYBAGPzHPGAFTwUAAElTgKP09I059.jpg

如果您对阻止广告服务器更感兴趣,那么可以很容易在网上找到列表。
您可以随意将域定向到公共IP。这对于网站在上线前测试网站迁移很有用。
请注意,这些域仅用于使用此DNS服务器的设备。如果您想要一个域名出现在公共DNS上,您必须购买它。

设置缓存大小

默认情况下,Dnsmasq将缓存最多150条记录。即使是非常轻量的网络浏览器也可以将其占满。
该缓存保存在内存中,如果空间太大会影响性能。
但是我们在这里服务的是一个小型网络,现在的内存比几十年前编写Dnsmasq时更加充足,而且这些记录每个只使用100个字节。我们可以在其中放入几兆字节的内容。
向下滚动到显示“#cache-size=150”的地方,您需要向下滚动得多一些。删除前面的注释字符并将该数字设置的更大。
我只是添加了几个零,以使其成为15000,这比小型网络的DNS服务器缓存的记录要多得多。

pYYBAGPzHPOAZjP6AAEY8m52Rew412.jpg

完成配置编辑后

当您对设置感到满意时,保存并退出,然后输入以下内容重新启动服务:
sudo systemctl restart dnsmasq

配置您的设备以使用该DNS服务器

现在您的DNS服务器已经启动并运行,我们来开始使用它。
将其配置为整个网络的默认DNS服务器的最简单方法是在路由器中进行配置。
计算机和其他设备通常也可以在设置或控制面板中单独进行配置。

设置自动安全更新

不要对这里的安全两个字大意。DNS服务器可能会是线上犯罪分子的重要目标,他们可以将您重定向到恶意站点。
我们已将其设置为只能从您的本地网络内访问,这降低了很多风险。但是自动应用安全更新仍然是一个好主意。
有一个便利的软件包可以为我们执行该操作,叫无人职守自动更新软件。我们来安装它。
sudo apt install unattended-upgrades -y

该安装包在Raspberry Pi OS Buster中的默认配置是每天进行安全更新。
如果您还没有更改默认密码,也不要忘记更改!为SSH访问设置基于证书的身份验证也是一个很好的主意。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    8120

    浏览量

    82522
  • DNS
    DNS
    +关注

    关注

    0

    文章

    199

    浏览量

    19604
收藏 人收藏

    评论

    相关推荐

     海外云服务器搭建pi节点详细步骤

     海外云服务器搭建pi节点简单吗?海外云服务器搭建pi节点步骤有哪些?小编为您整理发布海外云服务器搭建p
    的头像 发表于 02-21 10:16 249次阅读

    dns服务器地址设置为多少

    DNS(域名系统)是互联网的基础设施之一,用于将域名转换为IP地址,使用户可以访问网络资源。要设置DNS服务器地址,首先需要理解DNS的工作原理和不同类型的
    的头像 发表于 01-15 11:11 660次阅读

    dns网络服务器未响应是什么原因

    DNS网络服务器未响应是指在使用域名解析服务时,用户的计算机或设备无法获取到有效的响应。通常情况下,这可能是由于以下原因导致的。 DNS服务器
    的头像 发表于 01-11 10:39 7787次阅读

    Raspberry Pi 3 官方套件入门指南

    Raspberry Pi 3套件介绍Raspberry Pi 3套件安装Raspberry Pi
    发表于 10-09 07:53

    【树莓派Pi5】树莓派 Raspberry Pi 5 正式发布!

    这款 Pi 5从英国树莓派总部跨洋而来,作为树莓派的官方代理商,上海晶珩EDATEC荣幸地在首发时刻,率先揭开了 Pi 5 的神秘面纱: Raspberry Pi 5:瞩目新生!超越
    的头像 发表于 09-28 17:30 1024次阅读
    【树莓派<b class='flag-5'>Pi</b>5】树莓派 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 5 正式发布!

    DNS服务器是什么?有哪些类型?

    ,小编我给大家分析一下DNS服务器是什么?有哪些类型? 一、DNS服务器是什么? DNS服务器
    的头像 发表于 08-14 17:40 1444次阅读

    使用Raspberry PI 4单板计算机构建Samba NAS服务器

    电子发烧友网站提供《使用Raspberry PI 4单板计算机构建Samba NAS服务器.zip》资料免费下载
    发表于 07-05 09:50 0次下载
    使用<b class='flag-5'>Raspberry</b> <b class='flag-5'>PI</b> 4单板计算机构建Samba NAS<b class='flag-5'>服务器</b>

    如何将16x2 LCD与Raspberry pi4连接

    电子发烧友网站提供《如何将16x2 LCD与Raspberry pi4连接.zip》资料免费下载
    发表于 06-19 11:45 0次下载
    <b class='flag-5'>如何将</b>16x2 LCD与<b class='flag-5'>Raspberry</b> <b class='flag-5'>pi</b>4连接

    Raspberry Pi的Teams Presence

    电子发烧友网站提供《Raspberry Pi的Teams Presence.zip》资料免费下载
    发表于 06-16 15:17 0次下载
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>的Teams Presence

    用作代理的单元是否也可以是信息中继到浏览的网络服务器

    Raspberry pi 上),但是我可以代理作为服务器访问,以信息放在我的 android 手机的访问浏览
    发表于 06-05 07:42

    什么是DNS服务器,有什么作用?

    DNS服务器(DomainNameSystem)是互联网的一项服务DNS服务器作为域名和IP地址相互映射的一个分布式数据库,能够使人更方便
    的头像 发表于 05-23 13:46 759次阅读

    如何将.txt 大文件发送到HTTP服务器

    我在 SPIFFS 闪存中创建了多个 .txt 文件系统。但是如何将 .txt 大文件发送到 HTTP 服务器,可以通过 ESP8266 12F SPIFFS 1MB 文件发送到上传 HTTP
    发表于 05-19 09:00

    如何使用ESP8266作为WiFi网桥传输文件?

    我有一个控制 RGB LED 矩阵显示Raspberry Pi,我希望能够视频文件流式传输到(使用 描述的 flaschen-taschen
    发表于 05-15 08:29

    Esp8266的vcc和ch pd引脚连接到raspberry pi pico 3.3v时不起作用是为什么?

    大家好,我正在使用 esp8266 的 raspberry pi pico。当我 Esp8266 的 vcc 和 ch pd - 引脚连接到 raspberry
    发表于 05-12 06:58

    ESP8266如何将用作微型网络服务器

    我创建了一个公共网站,我将其托管在 ESP8266 上,以演示如何将用作微型网络服务器, 我通过创建反向代理并使用 Cloudflare 隐藏 IP 地址并防止 DDoS 来实现这一点攻击。我正在
    发表于 05-11 08:19