当前位置: 首页 > news >正文

systemd-resolved.service实验实战2

DNS-over-TLS(DoT)详细介绍

DNS-over-TLS(简称 DoT)是一种网络安全协议,旨在通过加密 DNS(Domain Name System)查询和响应来保护用户隐私和防止数据篡改。传统 DNS 使用明文传输,容易被窃听或劫持,而 DoT 利用 TLS(Transport Layer Security)协议为 DNS 通信提供端到端加密。下面我将从多个方面逐步介绍 DoT,帮助您全面理解其原理、优势和应用。

1. 什么是 DoT?

DoT 是一种标准化的协议(由 IETF 在 RFC 7858 和 RFC 8310 中定义),它将 DNS 查询封装在 TLS 加密通道中。简单来说,当您的设备(如电脑或手机)需要解析域名(如 example.com)时,DoT 会确保这个查询过程被加密,防止第三方窥探。例如:

  • 传统 DNS:查询以明文发送,就像寄出一封未封口的信。
  • DoT:查询被加密后发送,类似寄出封口的加密信件。

DoT 使用标准端口 853 进行通信,这与传统 DNS 的端口 53 不同,便于网络设备识别和优先处理加密流量。

2. 为什么需要 DoT?

传统 DNS 存在严重的安全和隐私问题:

  • 窃听风险:攻击者可以在网络上拦截 DNS 查询,获取您访问的网站信息。例如,如果您查询 bank.com,黑客可能窃取此数据用于钓鱼攻击。
  • 篡改风险:中间人(如 ISP 或恶意路由器)可以修改 DNS 响应,将您重定向到恶意网站。
  • 隐私泄露:ISP 或政府机构可能记录您的 DNS 历史,侵犯隐私。

这些问题源于 DNS 的未加密设计。DoT 通过加密解决了这些漏洞,确保:

  • 机密性:查询内容只有发送方和接收方能解读。
  • 完整性:响应数据在传输中不被篡改。
  • 认证性:客户端可以验证 DNS 服务器的身份,防止假冒。
3. DoT 的工作原理

DoT 的工作流程基于 TLS 握手和加密传输,具体步骤如下(以客户端向 DNS 服务器发送查询为例):

  1. 建立 TLS 连接:客户端(如您的设备)首先与支持 DoT 的 DNS 服务器(如 Cloudflare 的 1.1.1.1 或 Google 的 8.8.8.8)建立 TCP 连接。然后,通过 TLS 握手协议协商加密参数。TLS 使用公钥加密技术

  2. 加密 DNS 查询:一旦 TLS 通道建立,客户端将 DNS 查询(如请求 example.com 的 IP 地址)封装在 TLS 记录中发送。查询数据被加密为密文,只有目标服务器能解密。

  3. 服务器处理并响应:DNS 服务器解密查询,处理请求,然后将响应(如 IP 地址 93.184.216.34)同样加密后通过 TLS 通道返回。

  4. 关闭连接:查询完成后,连接关闭,但 TLS 会话可能被重用以提高效率。

整个过程确保 DNS 流量像 HTTPS 一样安全。例如,一个查询包的结构可简化为:

  • 明文 DNS 头 + 加密的查询负载。
4. DoT 的优点
  • 增强隐私:防止 ISP 或黑客监控您的浏览历史,特别适用于公共 Wi-Fi 等不安全网络。
  • 提高安全性:减少 DNS 劫持和中间人攻击风险,保护敏感操作(如在线银行)。
  • 兼容性好:DoT 基于标准 TLS,易于集成到现有系统和应用(如 Android 9+ 和 iOS 14+ 原生支持)。
  • 性能优化:现代实现减少了加密开销,查询延迟与传统 DNS 相近(通常 <100ms)。
5. DoT 的缺点和挑战
  • 部署复杂性:需要 DNS 服务器和客户端都支持 DoT,普通用户可能需手动配置(如指定 DoT 服务器地址)。
  • 防火墙干扰:某些网络可能阻止端口 853,导致连接失败。
  • 中心化风险:依赖少数大型 DoT 提供商(如 Google 或 Cloudflare),可能引入新的隐私担忧(尽管他们承诺不记录数据)。
  • 与 DoH 的混淆:DoT 常与 DNS-over-HTTPS (DoH) 比较。DoH 使用 HTTPS 端口 443,更易绕过防火墙,但可能被误用于绕过网络策略。DoT 更专注于传输层加密,适合网络管理员控制。
6. 如何启用和使用 DoT
  • 个人用户
    • 操作系统设置:在 Android 设备上,进入“网络设置”>“私有 DNS”,输入 DoT 服务器域名(如 dns.google)。在 Windows 或 macOS,可通过第三方软件(如 DNSCrypt)配置。
    • 路由器级别:在路由器设置中启用 DoT,所有连接设备自动受益(例如,使用 OpenWrt 固件)。
  • 推荐服务器:免费公共 DoT 服务器包括:
    • Cloudflare: one.one.one.one1.1.1.1
    • Google: dns.google8.8.8.8
    • Quad9: dns.quad9.net
  • 验证是否生效:使用在线工具(如 Cloudflare 的 1.1.1.1/help)检查连接状态,确保显示“DNS over TLS”为启用。
7. 总结

DNS-over-TLS(DoT)是提升互联网隐私和安全的关键技术,它通过 TLS 加密解决了传统 DNS 的固有缺陷。尽管存在部署挑战,但 DoT 在保护用户数据、防止攻击方面效果显著。随着网络威胁增加,采用 DoT 已成为最佳实践。如果您是普通用户,建议从设备设置启用 DoT

实验三:启用 DNS - over - TLS(DoT)

kesonsun@ubuntu22:~$ # 查看特定接口的详细 DNS 配置
kesonsun@ubuntu22:~$ resolvectl status ens33
Link 2 (ens33)Current Scopes: DNSProtocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 8.8.4.4DNS Servers: 8.8.8.8 8.8.4.4DNS Domain: aust.edu.cn
  1. 查看 DNS 协议配置

    • 在输出中,Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported 这一行是关键。
    • 这里,-DNSOverTLS 表示 DNS over TLS 被 禁用(符号 - 表示禁用)。
    • 其他部分:
      • +DefaultRoute:启用默认路由。
      • +LLMNR:启用 Link-Local Multicast Name Resolution。
      • -mDNS:禁用 Multicast DNS。
      • DNSSEC=no/unsupported:DNSSEC 未启用或不支持。
  2. 查看 DNS 服务器设置

    • DNS 服务器是 8.8.8.8 和 8.8.4.4(Google 公共 DNS),但服务器本身不影响 DoT 状态,关键是协议是否启用。
    • 如果 DoT 启用,通常会显示 +DNSOverTLS 或类似指示。
# 1. 首先配置 DNS 服务器(cloudflare)
sudo resolvectl dns ens33 1.1.1.1 1.0.0.1# 2. 启用 DNS-over-TLS
sudo resolvectl dnsovertls ens33 yes# 3. 设置 DNS 搜索域
# 清除 ens33 接口原有的所有 DNS 搜索域,并禁用该接口的自动补全功能,强制解析时必须使用完整域名
sudo resolvectl domain ens33 ~.//改动成功+DNSOverTLS
kesonsun@ubuntu22:~$ resolvectl status ens33
Link 2 (ens33)Current Scopes: DNSProtocols: +DefaultRoute +LLMNR -mDNS +DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 1.1.1.1DNS Servers: 1.1.1.1 1.0.0.1DNS Domain: ~.
kesonsun@ubuntu22:~$#确认 DNS 查询是否通过 TLS 加密,可以使用 tcpdump 捕获网络流量

http://www.dtcms.com/a/453418.html

相关文章:

  • 基于 GEE 的 GWCCI 指数大豆识别与制图研究
  • Python argparse库介绍(内置的命令行参数解析库)(未检查)
  • JMeter之 json提取器与json path语法
  • 深度学习之神经网络2(Neural Network)
  • 做UI设计的网站网站界面设计尺寸
  • Python全栈(基础篇)——Day06:后端内容(定义函数+调用函数+实战演示+每日一题)
  • C++算法·贪心例题讲解
  • 成都正规集团网站制作维护商业综合体
  • 网站做生鲜线下推广建议wordpress可视化编辑主题
  • 《投资-81》价值投资者的认知升级与交易规则重构 - 第一层:商业模式详解、常见的优质模式商业模式、价值投资选择的标准
  • UI设计(一)应用商店展示图标封面标题——东方仙盟筑基期
  • 空间制作网站网站建设目标计划书
  • JAVA算法练习题day34
  • [Java]PTA:(选做) jmu-Java-03面向对象基础-覆盖与equals
  • 网站建设图片logo电子商务就是网络营销
  • 机器学习基础入门(第四篇):无监督学习与聚类方法
  • Go基础:一文掌握Go语言泛型的使用
  • iBizModel 实体逻辑(PSDELOGIC)中的界面逻辑子类(VIEWLOGIC)详解
  • pywebview:用Python+Web技术打造轻量级桌面应用!
  • python 做办公网站移动应用开发学什么
  • 数据库迁移migration
  • Channel 和 Flow 选择场景对比 (例子:不停发事件的场景)
  • 《Vuejs设计与实现》第 18 章(同构渲染)(下)
  • jsp网站开发大作业长春网站建设wang
  • 淄博网站建设网宽河北网站建设推广电话
  • Django ORM 详解
  • C语言模拟面向对象编程方法之多态
  • 温州市建设工程管理网站温州建设网站哪家好
  • 划时代的技术飞跃:OpenAI DevDay 2025 全面深度解读
  • 做网站的网页图片素材怎么找长春做网站哪家便宜