如何在边缘侧利用DNS缓存来加速家用网络

如何在边缘侧利用DNS缓存来加速家用网络

译文 精选
作者: 范晓波 2022-03-31 09:00:00

云计算

边缘计算 通过在家用或企业网络上运行DNS缓存服务来创建属于自己的边缘侧。

译者 | 范晓波

审校 | 孙淑娟 梁策

如果你在过去几年里已经听说了很多关于“云”的讨论,那么你可能也听说过关于“边缘侧”一些相关概念。

从边缘计算的概念可以看出云是有边界的。要连接到云的这些边界,你的数据必须与云提供的物理数据中心之一连接。在一些配置下,将数据从用户计算机传输到服务器群集可能很快,但它对地理位置和网络结构的依赖程度很大。云本身可以尽可能快速和强大,但它无法抵消你的数据进行往返所需的时延。

答案就是使用区域网络和云的边缘侧。当在边缘的服务器上进行初始化服务或计算时,它会加快用户与云的交互速度。

根据同样的原理,你可以通过在家用服务器上运行一些服务来创建自己的边缘侧,以最大限度地减少往返时延。不要让特殊术语吓到你。边缘计算可能像物联网设备或运行一个服务连接到联邦服务颇为特别有用且简单的改变,你就可以使你的家用或企业网络性能得到增强,即运行DNS缓存服务。

什么是域名解析?

域名系统(DNS)使我们能够将服务器的IP地址转换为像opensource.com这样友好的网站名称,无论他们是上云服务还是没有上云的服务。

每个域名的背后都是一串数字,而名字是来方便人们的,因为他们更有可能记住几个单词,而不是一串数字。当你在Web浏览器中键入example.com内容时,Web浏览器会静默地通过端口53向 DNS 服务器发送请求,去引用域名example.com的注册地址,然后返回根据该域名分配的最后一个已知IP地址。

这是从你的计算机到互联网的一次往返。

有了正确的IP地址,你的Web浏览器就会发出第二个请求,这次是用IP地址而不是用域名直接访问你的目的地址。

这是另一次往返。

更糟糕的是,你的计算机(和你的配置有关)也可能会向你本地网络上指定DNS服务器发送域名请求。

你可以使用本地缓存切断所有这些额外的流量。在你的网络上运行DNS缓存服务时,一旦你网络上的任何一台设备获得一个域名对应的IP地址,该IP地址就会被存储在本地,因此你的网络就不再需要再次请求这个地址;此外,运行你自己的DNS缓存服务器还可以屏蔽广告,而且通常也能用一些互联网的一些底层技术控制你的网络上的任何设备进行交互。

在Linux上安装Dnsmasq

使用包管理器安装 Dnsmasq

在 Fedora、CentOS、Mageia 和类似系统上:

安装命令:

$sudodnfinstalldnsmasqdnsmasq-utils

在Debian和基于Debian的系统上,请使用apt方式代替dnf。

配置Dnsmasq

Dnsmasq的默认配置文件中有许多选项。

它的默认配置文件的位置在/etc/dnsmasq.conf下,注释很完善。因此你可以通过阅读它,选择适合你网络的配置。

以下是我喜欢的一些选项。

保存你的本地域在本地:

#不转发纯名称(没有点分格式或部分域名)
domain-needed
#不转发非路由地址空间中的地址
bogus-priv

忽略来自常见广告网站的内容。以下语法将第一个正斜杠之间的字符串替换为尾部的地址:

#替换广告网站域名用一个没有广告的ip地址
address=/double-click.net/127.0.0.1

设置缓存大小。默认建议是150,但我不觉得150个网站足够。

#替换广告网站域名用一个没有广告的ip地址
address=/double-click.net/127.0.0.1

查找 resolve.conf

在大多数 Linux 系统上,systemd的reslved服务管理配置文件/etc/resolv.conf,该文件控制你的计算机可以访问哪些DNS服务器进行IP地址解析。

您可以禁用resolved并单独运行dnsmasq,也可以同时运行它们,指向其自己的解析文件。

禁用:resolved
$sudosystemctldisable--nowsystemd-resolved

或者,同时运行它们:

在这个示例中,home.local是我给定的一个要么是DHCP,要么是本地的域名,所有的这些设备都在我的家用网络里,enterprise 和 yorktown是我的家用服务器,通过在此处列出它们及其本地IP地址,我就能借助dnsmasq通过域名连接他们。最后,这些域名服务项目指向互联网上已知的比较好的域名服务器。你可以使用此处列出的名称服务器,也可以使用ISP提供的域名服务器或你喜欢的任何公共域名服务器。

在你的dnsmasq.conf文件中,设置resolv-file的值为resolvmasq.conf:

resolv-file=/etc/resolvmasq.conf

启动dnsmasq

某些发行版可以安装后自动启动dnsmasq。别的版本当你准备好的时候,你可以自己启动它。无论哪种方式,你都可以使用 systemd 启动dnsmasq服务:

$sudosystemdenable--nowdnsmasq

使用dig命令对其进行测试。

当你首次联系服务器时,查询时间可能在50到500毫秒之间(希望不超过此时间):

$digexample.com|grepQuery\ time
;; Querytime: 56msec

然而,下次尝试时,查询时间会大大减少:

$digexample.com|grepQuery\ time
;; Querytime: 0msec

结果好多了!

为你的整个网络启用 dnsmasq

Dnsmasq在一台设备上就已是很有用的工具,如果你能让网络上的所有设备都使用它那只会更好。

以下是怎样开放dnsmasq服务给你的全部本地网络的方法:

获取运行dnsmasq服务的服务器的 IP 地址

在运行的计算机上运行dnsmasq,获取本地 IP 地址:

$digexample.com|grepQuery\ time
;; Querytime: 0msec

在这个示例中,我运行dnsmasq的树莓派的IP地址是 10.0.170.170。由于树莓派现在是我的网络结构的重要组成部分,因此我让它的地址是由我的 DHCP 路由器静态分配。如果我允许它获得一个动态的IP地址,它可能不会改变(DHCP被设计成以这种方式提供帮助),但如果它这样做,那么我的整个网络将不能使用dnsmasq提供优化。

修改服务器的防火墙以允许端口53上的流量

使用 firewall-cmd打开你的服务器防火墙中的端口,以便它允许 DNS 请求和发送响应。

$sudofirewall-cmd--add-servicedns--permanent

将服务器的IP地址添加到你家用路由器的域名服务项中。

知道了我的本地DNS服务器的地址是10.0.170.170(记住,在你自己的网络上几乎肯定是不同的),我可以添加它在家用路由器上作为主要域名服务器。

现在有很多路由器,没有单一的接口。

但是,任务是相同的,不同模型的工作流通常是相对相似的。

在我的Turris Omnia路由器中,高级接口允许DNS转发,这会将DNS请求发送到我选择的服务器。

在此处输入10.0.170.170(我的dnsmasq服务器的IP地址)会强制所有DNS流量通过 Dnsmasq 进行路由以进行缓存和解析。另一方面,在我的TP-Link路由器中,DNS设置是在DHCP面板中配置的。

可能需要再多做些探索,所以无需担心在你路由器的接口界面中寻找DNS服务设置。当你找到它后,输入你的Dnsmasq服务器地址,然后保存更改。

某些型号要求路由器在进行更改时需要重新启动。

你的网络上的所有设备都从路由器继承设置,因此现在从设备传递到互联网的所有 DNS 流量都将通过 Dnsmasq 服务器。

靠近边缘侧

随着越来越多的网站被添加到服务器的DNS缓存中,比本地Dnsmasq服务器上的DNS流量传输更远的DNS流量将越来越少。

尽可能在本地快速计算的原则推动了边缘计算的发展。仅通过这个练习,你就可以想象这项技术在利用地理位置策略加速互联网交互方面是多么的重要。

无论你是在家中、在工作中还是作为云架构师从事边缘计算工作,边缘都是云的重要组成部分,你可以利用它来让自己的优势尽情发挥。

译者介绍

范晓波,51CTO社区编辑,资深网络安全工程师。精通SDN、SD-WAN、VPN、NFV等网络相关技术。精通二三层网络转发。熟悉DPDK、VPP、OVS高性能网络开源框架。喜欢打羽毛球、烹饪美食。

原文标题:​​Boost your home network with DNS caching on the edge​​,作者:Seth Kenlon

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/270573.html<

(0)
管理的头像管理
上一篇2025-05-07 21:25
下一篇 2025-05-07 21:26

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注