凌峰创科服务平台

127.0.0.1作为DNS服务器有何作用与风险?

将 DNS 服务器设置为 0.0.1 意味着你的计算机将所有的 DNS 查询请求都发送给它自己,而不是发送到互联网上的公共 DNS 服务器(如 Google 的 8.8.8 或 Cloudflare 的 1.1.1)。

127.0.0.1作为DNS服务器有何作用与风险?-图1
(图片来源网络,侵删)

这通常不是指操作系统自带的、功能有限的 DNS 解析器,而是指向了你本地计算机上运行的一个更高级的 DNS 服务软件,最常见的就是 Pi-holeAdGuard Home


0.0.1 是什么?

0.0.1 是一个特殊的 IP 地址,被称为 环回地址本地主机地址

  • 作用:它是一个“保留”地址,专门用于网络软件测试,当你访问 0.0.1 时,你的计算机会在内部处理这个请求,而不会将数据包发送到外部网络(比如你的路由器或互联网)。
  • 域名:与 0.0.1 对应的域名是 localhost,你在浏览器中访问 http://localhosthttp://127.0.0.1,效果是完全一样的,都是在访问你自己的电脑。

一个常见的误解: 很多人认为,将 DNS 设置为 0.0.1 就是使用操作系统自带的 DNS 解析功能,操作系统本身通常监听在 0.0.53(在 Windows 和 Linux 上常见)这样的地址上,当你将 DNS 设置为 0.0.1 时,你是在覆盖默认设置,并告诉系统:“请去运行在 0.0.1 上的那个 第三方 DNS 服务程序来查询”。


为什么要把 DNS 服务器设置为 0.0.1

人们这样做的主要目的是为了在本地设备上实现一些高级功能,最核心的两个是:

127.0.0.1作为DNS服务器有何作用与风险?-图2
(图片来源网络,侵删)

a) 广告和跟踪器拦截 (Ad-blocking)

这是最主要和最常见的用途,用户会在自己的电脑上安装一个网络级别的广告拦截工具,

  • Pi-hole:一个开源的、基于命令行的网络广告拦截工具。
  • AdGuard Home:一个功能类似、带有图形界面的家庭广告拦截方案。

工作原理

  1. 你在电脑上安装并运行了 Pi-hole 或 AdGuard Home。
  2. 你将这台电脑的 DNS 服务器设置为 0.0.1
  3. 当你浏览器访问一个网站时,你的电脑需要通过 DNS 查询该网站的 IP 地址。
  4. 这个请求被发送到了本地的 Pi-hole。
  5. Pi-hole 检查你要查询的域名是否存在于它的“黑名单”中(这个黑名单包含了数百万已知的广告和跟踪器域名)。
    • 如果在黑名单中:Pi-hole 不会向真实的 DNS 服务器查询,而是直接返回一个无效的 IP 地址(通常是 0.0.0),你的浏览器连接失败,广告就被拦截了。
    • 如果不在黑名单中:Pi-hole 会代替你向真实的公共 DNS 服务器(如 8.8.8)查询,然后将结果返回给你的浏览器,让你正常访问网站。

优点

  • 高效:拦截在 DNS 查询阶段就完成了,浏览器甚至没有机会去加载广告资源,节省了带宽和系统资源。
  • 全面:可以拦截所有应用(不仅仅是浏览器)中的广告和跟踪器,比如桌面软件、游戏等。
  • 自定义:可以轻松地添加或移除你想要拦截或允许的域名列表。

b) 提升隐私和安全

通过将所有 DNS 查询都路由到本地服务,你可以:

  • 加密 DNS 流量:本地 DNS 服务(如 Pi-hole)可以轻松地配置为使用 DoH (DNS over HTTPS) 或 DoT (DNS over TLS) 将你的查询转发到一个隐私友好的公共 DNS 服务器,这样,你的 ISP(网络服务提供商)或局域网内的其他人就无法窥探你的上网记录。
  • 防止 DNS 劫持:一些 ISP 或公共 Wi-Fi 会恶意篡改 DNS 查询结果,将你导向广告页面,本地 DNS 服务可以绕过这种劫持。

如何设置?

设置方法因操作系统而异:

  • Windows:

    1. 打开“控制面板” > “网络和 Internet” > “网络和共享中心”。
    2. 点击你正在使用的网络连接(如“以太网”或“WLAN”)。
    3. 点击“属性”。
    4. 选择“Internet 协议版本 4 (TCP/IPv4)”,点击“属性”。
    5. 选择“使用下面的 DNS 服务器地址”,然后输入 0.0.1
  • macOS:

    1. 进入“系统设置” > “网络”。
    2. 选择你正在使用的网络服务(如 Wi-Fi),点击“详细信息...”。
    3. 切换到“DNS”标签页。
    4. 点击 号,添加 0.0.1,并将其拖到列表顶部。
  • Linux (Ubuntu/Debian 等):

    1. 编辑 Netplan 配置文件(通常位于 /etc/netplan/ 目录下)。
    2. nameservers 部分添加 addresses: [127.0.0.1]
    3. 保存文件并运行 sudo netplan apply 使其生效。

注意事项和潜在问题

将 DNS 设置为 0.0.1 是一把双刃剑,有明显的优点,但也有需要注意的地方:

  • 本地服务必须运行:这是最重要的前提,如果你把 DNS 设置为 0.0.1,但你的 Pi-hole 或 AdGuard Home 服务没有启动,那么你将无法解析任何域名,导致所有网络连接中断。
  • 性能开销:所有 DNS 查询都经过本地服务处理,如果本地服务器性能不佳或配置有误,可能会略微增加延迟。
  • 配置复杂性:相比于直接使用公共 DNS,设置和维护本地 DNS 服务需要更多的技术知识。
  • 无法拦截 HTTPS 广告:DNS 拦截是基于域名的,如果广告是通过 HTTPS 加载的,虽然域名被拦截了,但浏览器可能会显示一个“连接失败”的错误,而不是一个干净的页面,现代的广告拦截工具通常会结合其他技术(如 HTTP/3 流量嗅探)来弥补这一点。

特性 描述
是什么 0.0.1 是本地回环地址,将 DNS 设置为它意味着使用本地电脑上运行的 DNS 服务,而非公共 DNS。
为什么用 主要用于网络级别的广告和跟踪器拦截,并增强隐私和安全性
常用工具 Pi-holeAdGuard Home 是最流行的本地 DNS 服务软件。
工作原理 本地 DNS 服务检查域名黑名单,对广告域名返回无效 IP,对正常域名代为查询。
优点 拦截范围广(全应用)、效率高、可自定义、可增强隐私。
缺点 依赖本地服务运行,否则网络中断;配置相对复杂;可能增加微小延迟。

将 DNS 服务器设置为 0.0.1 是一种非常强大和灵活的网络管理方式,尤其适合希望获得干净、安全上网体验的高级用户。

分享:
扫描分享到社交APP
上一篇
下一篇