DNS (传统DNS) DoH (DNS over HTTPS) DoT (DNS over TLS) ,DNS、DoH 和 DoT 之间区别的表格:

 

Windows 10与 11 系统设置中才有

PixPin_2025-10-04_14-11-49

PixPin_2025-10-04_14-11-28

PixPin_2025-10-04_14-10-54

PixPin_2025-09-29_16-32-46

这些 DNS 信息整理成一个清晰的表格,方便查阅和对比,同时保留国密 SM2 DoH 的信息。如下:

服务商 / 类型 IPv4 地址 IPv6 地址 DoH (DNS over HTTPS) DoH 国密 (SM2) DoT (DNS over TLS)
DNSPod 公共 DNS 119.29.29.29 2402:4e00:: https://doh.pub/dns-query https://sm2.doh.pub/dns-query dot.pub
阿里公共 DNS 223.5.5.5, 223.6.6.6 2400:3200::1, 2400:3200:baba::1 https://dns.alidns.com 不支持 https://dns.alidns.com

这个表格总结了以下关键点:

  1. 国密 SM2 DoH 是国内首家由 DNSPod 提供,增强了加密安全性。
  2. IPv4 和 IPv6 都有明确列出,便于在不同网络环境下使用。
  3. 支持 DoH/DoT,可在公共 Wi-Fi 或家庭网络环境下提升 DNS 安全性。

在 Windows 11 中,您可以使用 PowerShell 脚本来配置 DNS over HTTPS (DoH),并设置指定的 IPv4 和 IPv6 地址。以下是一个示例脚本,演示如何启用 DoH,并将 IPv4 地址设置为 119.29.29.29,IPv6 地址设置为 2402:4e00::,同时使用 https://doh.pub/dns-query 作为 DoH 服务器。

示例 PowerShell 脚本

 
powershellCopy
# 检查当前的 DNS 设置
Get-DnsClientServerAddress

# 设置 DoH 服务器地址
$dohServer = "https://doh.pub/dns-query"

# 获取网络适配器
$adapter = Get-DnsClient | Where-Object { $_.InterfaceAlias -eq "以太网" }  # 根据您的网络适配器名称进行调整

# 配置 IPv4 和 IPv6 DNS 服务器地址
Set-DnsClientServerAddress -InterfaceAlias $adapter.InterfaceAlias -ServerAddresses ("119.29.29.29")  # 设置 IPv4 地址
Set-DnsClientServerAddress -InterfaceAlias $adapter.InterfaceAlias -ServerAddresses ("2402:4e00::")  # 设置 IPv6 地址

# 启用 DoH
Set-DnsClient -InterfaceAlias $adapter.InterfaceAlias -DnsOverHttpsEnabled $true

# 设置 DoH 服务器
Set-DnsClient -InterfaceAlias $adapter.InterfaceAlias -DnsOverHttpsServer $dohServer

# 验证 DoH 配置
Get-DnsClient | Where-Object { $_.InterfaceAlias -eq $adapter.InterfaceAlias }

使用说明

  1. 打开 PowerShell:以管理员身份运行 PowerShell。
  2. 复制并粘贴脚本:将上述脚本复制并粘贴到 PowerShell 窗口中。
  3. 调整网络适配器名称:根据您的网络适配器名称(例如“以太网”或“Wi-Fi”)调整 $adapter 变量。
  4. 执行脚本:按 Enter 键执行脚本。

注意事项

  • 确保您的 Windows 11 系统已更新到最新版本,以支持 DoH。
  • 您可以根据需要更改 DNS 服务器地址,脚本中提供的地址仅为示例。
  • 配置完成后,您可以使用 Get-DnsClient 命令来验证 DoH 是否已成功启用。

 


DNS (传统DNS)DoH (DNS over HTTPS)DoT (DNS over TLS) 的发布年代:

协议 发布年代
DNS (传统DNS) 1983年
DoH (DNS over HTTPS) 2018年
DoT (DNS over TLS) 2016年

解释:

  • DNS (传统DNS):DNS 协议于 1983 年由 Paul Mockapetris 提出,成为互联网域名解析的基础协议。
  • DoH (DNS over HTTPS):DoH 协议首次由 Mozilla 提出,并于 2018 年被正式采用,它通过 HTTPS 加密 DNS 查询,提升了隐私保护。
  • DoT (DNS over TLS):DoT 协议于 2016 年提出,使用 TLS 加密 DNS 查询,增强了数据的安全性和隐私保护。

除了 DNS (传统DNS)DoH (DNS over HTTPS)DoT (DNS over TLS),近年来还有一些新兴的 DNS 协议和相关标准,主要是为了增强隐私、安全性和性能。以下是几个较新的协议标准:

1. DNS over QUIC (DoQ)

  • 发布年份:2020年(草案阶段)
  • 标准简介:DNS over QUIC(DoQ)是一个基于 QUIC 协议的 DNS 传输协议,QUIC 是 Google 提出的传输协议,旨在替代传统的 TCP 和 TLS。DoQ 旨在提供更低延迟的 DNS 查询,同时利用 QUIC 的加密和性能优化特性。
  • 特点
    • 提供更低延迟和更高性能,尤其是在网络条件不佳时。
    • 内建加密和身份验证机制,增强隐私保护。
    • 由于 QUIC 的多路复用特性,DoQ 可以减少连接建立的时间,提升响应速度。

2. DNS over HTTPS (DoH) 与 DNS over TLS (DoT) 的扩展标准

  • 发布年份:2021年(草案阶段)
  • 标准简介:随着 DoH 和 DoT 的应用普及,IETF(互联网工程任务组)正在对这些协议进行扩展,以提高其适应性和互操作性。例如,DNS Privacy(隐私保护)标准的改进,进一步加强了 DNS 查询的隐私保护。
  • 特点
    • 更强的隐私保护措施。
    • 改进的负载均衡和多路径支持,提升可靠性。
    • 针对防火墙穿透的增强功能。

3. DNSSEC (DNS Security Extensions)

  • 发布年份:1999年(初步发布),至今仍在发展
  • 标准简介:DNSSEC 是一组增强传统 DNS 协议安全性的扩展,旨在防止 DNS 欺骗(如 DNS spoofing)和缓存投毒攻击。它通过对 DNS 数据进行数字签名,确保数据的完整性和来源的可靠性。
  • 特点
    • 通过数字签名验证 DNS 响应的完整性,防止篡改。
    • 增强了对 DNS 请求结果的验证,确保结果来自可信的源。
    • 尽管 DNSSEC 增加了 DNS 查询的安全性,但其并未加密传输内容,仍然无法防止隐私泄露。

4. EDNS(0) (Extension Mechanisms for DNS)

  • 发布年份:1999年(初步发布)
  • 标准简介:EDNS(0) 是 DNS 协议的扩展机制,允许 DNS 协议支持更多的功能和更大的数据包尺寸。EDNS(0) 通过支持更大的 DNS 数据包,提高了 DNS 查询的性能和可扩展性。
  • 特点
    • 增强了 DNS 协议的灵活性,支持更大数据包传输(例如 512 字节以上的响应)。
    • 为 DNSSEC 等扩展提供了支持,增强了协议的安全性。
  • DoQ (DNS over QUIC) 是目前比较新的协议,它利用 QUIC 协议的优势,目标是提供更低延迟和更高性能的 DNS 服务。
  • DNSSEC 和 EDNS(0) 是传统 DNS 协议的扩展,分别侧重于提升 DNS 的安全性和扩展性。
  • IETF 也在持续改进 DoH 和 DoT,提高其隐私性、可靠性和性能。

这些新的协议和扩展标准主要是在 隐私安全性性能 等方面进行改进,以应对现代网络环境中的挑战。


DNS、DoH 和 DoT 之间区别的表格:

特性 DNS (传统DNS) DoH (DNS over HTTPS) DoT (DNS over TLS)
协议类型 明文传输(UDP/TCP) 使用 HTTPS(基于 HTTP/2) 使用 TLS(基于 TCP)
加密 是(加密传输) 是(加密传输)
端口 53(UDP/TCP) 443(HTTPS) 853(TLS)
隐私保护 不保护隐私(流量明文传输,易被监听) 提供更好的隐私保护(加密,防止流量监听) 提供隐私保护(加密,防止流量监听)
性能 快速,但容易受到中间人攻击和篡改 可能稍慢(因为需要建立 HTTPS 连接) 与传统 DNS 比较,稍慢(需要建立 TLS 连接)
用途 传统 DNS 查询(广泛应用于各类网络) 用于保护 DNS 查询,防止第三方窃听和篡改 用于保护 DNS 查询,防止第三方窃听和篡改
配置复杂度 简单(默认配置即可使用) 需要配置 HTTPS 代理或浏览器支持 需要配置支持 TLS 的 DNS 服务器和客户端
安全性 低(数据可以被截获或篡改) 高(加密保护,避免中间人攻击) 高(加密保护,避免中间人攻击)

 

  • 传统 DNS 是最常见的 DNS 查询方式,但没有加密,存在隐私和安全风险。
  • DoH 和 DoT 都通过加密协议(HTTPS 和 TLS)来保护 DNS 查询的隐私,但 DoH 使用 HTTPS 端口 443,而 DoT 使用 TLS 端口 853。
  • DoH 更常用于 Web 浏览器中,尤其是在隐私保护要求较高时;而 DoT 通常用于整体网络中,尤其是在企业环境中。

DNS (传统DNS)DoH (DNS over HTTPS)DoT (DNS over TLS) 的定义、概念、功能、作用和应用场景的详细对比:

特性 DNS (传统DNS) DoH (DNS over HTTPS) DoT (DNS over TLS)
定义 是一种基于 UDP 或 TCP 的域名解析系统,通过明文传输将域名解析为 IP 地址。 在 HTTPS 协议下进行 DNS 查询,使用加密保护数据传输。 通过加密的 TLS 协议传输 DNS 查询,提供加密保护。
概念 将域名映射到 IP 地址的传统方式,通过端口 53 传输 DNS 数据。 使用 HTTPS 作为加密通道,确保 DNS 查询内容在传输过程中不被监听。 使用 TLS 协议加密 DNS 查询,保护数据不被中间人攻击。
功能 提供域名到 IP 地址的转换服务。 提供加密的 DNS 查询,防止数据被窃听或篡改。 提供加密的 DNS 查询,防止数据被窃听或篡改,增加隐私保护。
作用 实现域名解析,保障用户访问网站时将域名解析为正确的 IP 地址。 保护 DNS 查询隐私,防止 ISP 或其他中间人监控用户活动。 保护 DNS 查询隐私,防止 ISP 或其他中间人监控用户活动,确保网络安全。
应用场景 广泛应用于传统的网络设备、路由器和 DNS 服务器中,适用于所有需要域名解析的场景。 适用于对隐私要求较高的用户,特别是在使用公共 Wi-Fi 或不信任的网络环境下的设备。 常见于企业环境和对隐私要求较高的个人用户,特别是在需要确保 DNS 查询安全的网络中。

详细说明:

  1. 传统 DNS

    • 定义与概念:DNS 是一种用于将域名解析为 IP 地址的系统,通常通过端口 53 进行通信。它的主要目的是帮助用户通过人类易记的域名(如 www.example.com)访问网站。
    • 功能与作用:DNS 提供了将用户请求的域名转换为 IP 地址的功能,用户在浏览器中输入域名时,DNS 服务器会将其转换为计算机可理解的 IP 地址。
    • 应用场景:广泛应用于所有类型的网络连接,无论是家庭网络还是企业网络,都是互联网基础设施的重要组成部分。
  2. DoH (DNS over HTTPS)

    • 定义与概念:DoH 是 DNS over HTTPS 的缩写,它通过 HTTPS 协议对 DNS 查询进行加密,使用端口 443 进行通信。这意味着 DNS 查询将通过 HTTPS 通道加密,增加了安全性和隐私保护。
    • 功能与作用:DoH 的主要功能是加密 DNS 查询,防止第三方监听和篡改 DNS 请求。它的作用是保护用户的隐私,尤其是在不安全的网络环境下(如公共 Wi-Fi 网络)避免用户的 DNS 查询被监控。
    • 应用场景:适用于对隐私有较高要求的场景,特别是在公共 Wi-Fi 网络或不信任的网络环境下使用智能手机、浏览器等设备时。DoH 在许多现代浏览器中得到了支持,如 Chrome 和 Firefox。
  3. DoT (DNS over TLS)

    • 定义与概念:DoT 是 DNS over TLS 的缩写,它使用加密的 TLS 协议来保护 DNS 查询的隐私。与 DoH 类似,DoT 也通过加密隧道保护 DNS 数据传输,但是它与 HTTPS 不同,使用的是专门的 DNS 端口 853。
    • 功能与作用:DoT 的功能与 DoH 类似,都是为了加密 DNS 查询,防止数据被中间人监听或篡改。其作用是提供更高的安全性,确保用户的 DNS 查询不被窃听或篡改。
    • 应用场景:DoT 常用于企业环境以及对隐私要求较高的用户,尤其是需要确保 DNS 查询安全的网络中。它可以与 VPN 或企业网络中的 DNS 服务器一起使用,提供安全的 DNS 查询。

 

  • DNS (传统 DNS):提供基础的域名解析功能,但没有隐私保护。
  • DoH:通过 HTTPS 协议加密 DNS 查询,防止监听,提升隐私保护,常用于浏览器和个人设备。
  • DoT:通过 TLS 协议加密 DNS 查询,提供隐私保护,通常用于企业环境和对 DNS 安全性要求较高的用户。

在评估 DNS (传统DNS)DoH (DNS over HTTPS)DoT (DNS over TLS) 的安全性时,必须考虑其可能的漏洞和每种协议的弱点。以下是对这些协议的漏洞级别的比较:

协议 漏洞类型与风险 漏洞级别
DNS (传统DNS) 1. DNS Spoofing(缓存投毒):攻击者伪造 DNS 响应,欺骗用户访问恶意网站。 2. DNS Reflection Attack(DNS反射攻击):通过伪造源地址发起大规模的 DDoS 攻击。 3. DNS Query Interception(DNS查询劫持):恶意中间人可以拦截并篡改 DNS 查询。
DoH (DNS over HTTPS) 1. HTTPS 中间人攻击:如果 HTTPS 证书管理不当,攻击者可能利用中间人攻击(MITM)拦截和篡改 DNS 查询。 2. DDoS 攻击:使用 DoH 服务可能暴露在针对 HTTPS 端口的 DDoS 攻击中。 3. 隐私泄露:如果 DoH 服务提供商收集查询数据,可能导致用户隐私泄露。 中等(依赖服务端的信任性)
DoT (DNS over TLS) 1. TLS 弱点:如果 TLS 配置不当或使用弱加密算法,攻击者可以利用漏洞进行攻击。 2. DDoS 攻击:DoT 也可能成为 DDoS 攻击的目标,尤其是针对 TLS 的攻击。 3. 不受信任的 DNS 服务器:如果 DoT 服务端未经过认证或被篡改,可能导致数据泄露或中间人攻击。 中等(依赖TLS实现的安全性)

详细解释:

  1. 传统 DNS

    • 漏洞:传统 DNS 协议在设计时并没有加密,因此存在诸多漏洞。最常见的漏洞包括:
      • DNS Spoofing(缓存投毒):攻击者通过伪造 DNS 响应,将恶意 IP 地址返回给受害者,导致用户访问恶意网站。
      • DNS反射攻击:攻击者伪造源地址,利用公开的 DNS 服务器发起大规模的 DDoS 攻击。
      • 查询劫持:恶意的中间人可以通过拦截 DNS 查询,修改查询结果,导致用户访问不安全的资源。
    • 漏洞级别:这些漏洞非常严重,因为传统 DNS 没有加密保护,容易受到各种攻击。
  2. DoH (DNS over HTTPS)

    • 漏洞:DoH 提供了加密保护,但也引入了一些潜在的风险:
      • HTTPS 中间人攻击:尽管 DoH 使用 HTTPS 加密,但如果 HTTPS 配置不当(如 SSL/TLS 证书问题),可能会受到中间人攻击。
      • DDoS 攻击:由于 DoH 使用 HTTPS,攻击者可以将 DDoS 攻击定向到 DoH 服务的端口(通常是 443 端口),从而影响服务的可用性。
      • 隐私泄露:如果 DoH 服务提供商收集用户的 DNS 查询数据,可能会泄露用户的网络行为,尤其是在未对查询内容进行匿名化的情况下。
    • 漏洞级别:虽然 DoH 提供了更好的隐私保护,但仍然存在依赖服务提供商和 HTTPS 配置的潜在风险,漏洞级别相对较中等。
  3. DoT (DNS over TLS)

    • 漏洞:DoT 也通过 TLS 加密传输 DNS 查询,但它同样面临一些潜在的安全问题:
      • TLS 配置弱点:如果使用不安全的 TLS 配置(例如弱加密算法、过期证书等),攻击者可能会利用 TLS 的漏洞对数据进行篡改或窃听。
      • DDoS 攻击:DoT 也会成为 DDoS 攻击的目标,尤其是当攻击者集中攻击 TLS 端口时(通常是 853 端口)。
      • 不受信任的 DNS 服务器:如果 DoT 服务端未经过认证或遭到篡改,可能导致用户数据泄露或中间人攻击。
    • 漏洞级别:DoT 提供了加密保护,相比传统 DNS 安全性更高,但其安全性依赖于 TLS 配置和服务端的信任性,漏洞级别较中等。

 

  • 传统 DNS 的漏洞级别较高,易受到缓存投毒、DNS 劫持和 DDoS 攻击的威胁。
  • DoH 和 DoT 通过加密提高了安全性,减少了数据泄露和劫持的风险,但也依赖于正确的配置和信任的 DNS 服务提供商,漏洞级别相对中等。

整体来看,DoHDoT 提供了较高的隐私保护和安全性,尤其是在防止中间人攻击和数据篡改方面。但它们仍然可能面临服务端问题、DDoS 攻击等威胁。


创建了支持DNS over HTTPS的PowerShell和CMD脚本:

PowerShell 脚本(支持DoH)

powershell
# 以管理员身份运行此脚本
# WiFi静态IP配置脚本(支持DNS over HTTPS)

# 设置网络参数
$IPAddress = "192.168.1.211"
$SubnetMask = "255.255.255.0"
$DefaultGateway = "192.168.1.1"
$DNS1 = "119.29.29.29"
$DohTemplate = "https://sm2.doh.pub/dns-query"

Write-Host "=== WiFi网络配置脚本 (支持DoH) ===" -ForegroundColor Cyan

# 获取WiFi接口
Write-Host "正在查找WiFi网络接口..." -ForegroundColor Yellow
$WiFiInterface = Get-NetAdapter | Where-Object {$_.InterfaceDescription -like "*Wireless*" -or $_.Name -like "Wi-Fi*"}

if ($WiFiInterface) {
    $InterfaceIndex = $WiFiInterface.InterfaceIndex
    $InterfaceName = $WiFiInterface.Name
    $InterfaceAlias = $WiFiInterface.InterfaceAlias
    Write-Host "找到WiFi接口: $InterfaceName (索引: $InterfaceIndex)" -ForegroundColor Green
    
    # 设置静态IP地址
    Write-Host "设置静态IP地址..." -ForegroundColor Yellow
    try {
        Remove-NetIPAddress -InterfaceIndex $InterfaceIndex -Confirm:$false -ErrorAction SilentlyContinue
        New-NetIPAddress -InterfaceIndex $InterfaceIndex -IPAddress $IPAddress -PrefixLength 24 -DefaultGateway $DefaultGateway
        Write-Host "✓ IP地址设置成功" -ForegroundColor Green
    } catch {
        Write-Host "✗ IP地址设置失败: $_" -ForegroundColor Red
    }
    
    # 设置DNS服务器
    Write-Host "设置DNS服务器..." -ForegroundColor Yellow
    try {
        Set-DnsClientServerAddress -InterfaceIndex $InterfaceIndex -ServerAddresses @($DNS1)
        Write-Host "✓ DNS服务器设置成功" -ForegroundColor Green
    } catch {
        Write-Host "✗ DNS服务器设置失败: $_" -ForegroundColor Red
    }
    
    # 设置DNS over HTTPS
    Write-Host "配置DNS over HTTPS..." -ForegroundColor Yellow
    try {
        # 检查是否支持DoH命令
        if (Get-Command Set-DnsClientDohServerAddress -ErrorAction SilentlyContinue) {
            # 移除现有的DoH设置
            Remove-DnsClientDohServerAddress -ServerAddress $DNS1 -Confirm:$false -ErrorAction SilentlyContinue
            
            # 添加DoH设置
            Add-DnsClientDohServerAddress -ServerAddress $DNS1 -DohTemplate $DohTemplate -AllowFallbackToUdp $false -AutoUpgrade $true
            Write-Host "✓ DNS over HTTPS 设置成功" -ForegroundColor Green
        } else {
            Write-Host "! 系统不支持DoH命令,请使用Windows 10 20121或更高版本" -ForegroundColor Yellow
        }
    } catch {
        Write-Host "✗ DNS over HTTPS 设置失败: $_" -ForegroundColor Red
    }
    
    # 显示配置结果
    Write-Host "`n=== 网络配置完成 ===" -ForegroundColor Cyan
    Write-Host "IP地址: $IPAddress" -ForegroundColor White
    Write-Host "子网掩码: $SubnetMask" -ForegroundColor White
    Write-Host "网关: $DefaultGateway" -ForegroundColor White
    Write-Host "DNS服务器: $DNS1" -ForegroundColor White
    Write-Host "DoH模板: $DohTemplate" -ForegroundColor White
    
    # 显示当前网络配置
    Write-Host "`n=== 当前网络配置 ===" -ForegroundColor Yellow
    Get-NetIPAddress -InterfaceIndex $InterfaceIndex | Where-Object {$_.AddressFamily -eq "IPv4"} | Format-Table -AutoSize
    Get-DnsClientServerAddress -InterfaceIndex $InterfaceIndex | Format-Table -AutoSize
    
    # 显示DoH配置
    Write-Host "=== DoH配置 ===" -ForegroundColor Yellow
    if (Get-Command Get-DnsClientDohServerAddress -ErrorAction SilentlyContinue) {
        Get-DnsClientDohServerAddress | Format-Table -AutoSize
    }
    
} else {
    Write-Host "未找到WiFi网络接口!" -ForegroundColor Red
}

Write-Host "`n按任意键退出..." -ForegroundColor Gray
$null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

CMD 批处理脚本

batch
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

:: 以管理员身份运行检查
net session >nul 2>&1
if %errorLevel% neq 0 (
    echo 请求管理员权限...
    powershell -Command "Start-Process cmd -ArgumentList '/c %~f0' -Verb RunAs"
    exit /b
)

:: 设置网络参数
set IP_ADDRESS=192.168.1.211
set SUBNET_MASK=255.255.255.0
set GATEWAY=192.168.1.1
set DNS1=119.29.29.29
set DOH_TEMPLATE=https://sm2.doh.pub/dns-query

echo ===============================
echo    WiFi网络配置脚本
echo     支持DNS over HTTPS
echo ===============================
echo.

:: 查找WiFi接口名称
set "WIFI_ADAPTER="
for /f "tokens=1,2,* delims=:" %%i in ('netsh interface show interface ^| findstr /i "无线 Wi-Fi Wireless"') do (
    set "line=%%i%%j%%k"
    set "line=!line: =!"
    for /f "tokens=1 delims=" %%a in ("!line!") do set "WIFI_ADAPTER=%%a"
)

if "!WIFI_ADAPTER!"=="" (
    echo 错误: 未找到WiFi网络适配器!
    pause
    exit /b 1
)

echo 找到WiFi适配器: !WIFI_ADAPTER!
echo.

:: 设置静态IP
echo [1/3] 设置静态IP地址...
netsh interface ip set address name="!WIFI_ADAPTER!" static !IP_ADDRESS! !SUBNET_MASK! !GATEWAY! 1
if !errorLevel! equ 0 (
    echo ✓ IP地址设置成功
) else (
    echo ✗ IP地址设置失败
)

:: 设置DNS服务器
echo.
echo [2/3] 设置DNS服务器...
netsh interface ip set dns name="!WIFI_ADAPTER!" static !DNS1! primary validate=no
if !errorLevel! equ 0 (
    echo ✓ DNS服务器设置成功
) else (
    echo ✗ DNS服务器设置失败
)

:: 设置DNS over HTTPS (使用PowerShell)
echo.
echo [3/3] 配置DNS over HTTPS...
powershell -Command "try { if (Get-Command Set-DnsClientDohServerAddress -ErrorAction SilentlyContinue) { Remove-DnsClientDohServerAddress -ServerAddress '%DNS1%' -Confirm:`$false -ErrorAction SilentlyContinue; Add-DnsClientDohServerAddress -ServerAddress '%DNS1%' -DohTemplate '%DOH_TEMPLATE%' -AllowFallbackToUdp `$false -AutoUpgrade `$true; Write-Host '✓ DNS over HTTPS 设置成功' -ForegroundColor Green } else { Write-Host '! 系统不支持DoH,请使用Windows 10 20121或更高版本' -ForegroundColor Yellow } } catch { Write-Host '✗ DoH设置失败: ' `$_.Exception.Message -ForegroundColor Red }"

echo.
echo ===============================
echo       配置完成
echo ===============================
echo IP地址:      !IP_ADDRESS!
echo 子网掩码:    !SUBNET_MASK!
echo 网关:        !GATEWAY!
echo DNS服务器:   !DNS1!
echo DoH模板:     !DOH_TEMPLATE!
echo ===============================
echo.

:: 显示当前配置
echo 当前网络配置:
ipconfig /all | findstr /i /c:"!WIFI_ADAPTER!"

echo.
echo 按任意键退出...
pause >nul

额外功能:网络重置脚本

powershell
# 网络重置脚本(恢复DHCP)
Write-Host "网络重置脚本 - 恢复DHCP" -ForegroundColor Cyan

$WiFiInterface = Get-NetAdapter | Where-Object {$_.InterfaceDescription -like "*Wireless*" -or $_.Name -like "Wi-Fi*"}

if ($WiFiInterface) {
    $InterfaceIndex = $WiFiInterface.InterfaceIndex
    $InterfaceName = $WiFiInterface.Name
    
    # 恢复DHCP
    netsh interface ip set address name="$InterfaceName" source=dhcp
    netsh interface ip set dns name="$InterfaceName" source=dhcp
    
    # 移除DoH设置
    if (Get-Command Remove-DnsClientDohServerAddress -ErrorAction SilentlyContinue) {
        Remove-DnsClientDohServerAddress -ServerAddress "119.29.29.29" -Confirm:$false
    }
    
    Write-Host "✓ 已恢复DHCP设置" -ForegroundColor Green
}

使用说明:

  1. PowerShell 脚本

    • 完整支持DoH配置

    • 需要Windows 10 20121或更高版本

    • 以管理员身份运行

  2. CMD 脚本

    • 基础网络配置

    • 通过PowerShell命令配置DoH

    • 兼容性更好

  3. 系统要求

    • Windows 10 20121或更高版本完整支持DoH

    • 早期版本可能不支持DoH功能

选择PowerShell脚本以获得完整的DoH支持,或使用CMD脚本作为备选方案。


深入了解 DOH(DNS over HTTPS) 并系统学习它,以下是一些关键问题,涵盖了基础概念、工作原理、安全性、配置与应用等方面,帮助你全面掌握 DOH。

基础概念与原理

  1. 什么是 DOH(DNS over HTTPS)?
  2. DOH 与传统的 DNS(域名系统)有什么区别?
  3. DOH 是如何工作的?
  4. DOH 与 DNS over TLS(DoT)的主要区别是什么?
  5. 为什么需要 DOH?它能解决哪些问题?
  6. DOH 采用的加密协议是什么?
  7. DOH 相比传统 DNS 请求有何安全优势?
  8. 如何理解 DNS 查询的隐私问题,DOH 如何解决这些问题?
  9. DOH 如何保护用户免受 DNS 劫持和中间人攻击(MITM)?
  10. DOH 与 VPN 的隐私保护有何异同?

配置与部署

  1. 如何在浏览器中启用 DOH?(例如,Chrome、Firefox、Edge)
  2. 如何为本地 DNS 服务器配置 DOH?
  3. 如何选择一个 DOH 服务器提供商,是否可以自建 DOH 服务器?
  4. 如何在操作系统中配置 DOH?(例如,Windows、macOS、Linux)
  5. DOH 是否支持自定义 DNS 服务器?如何配置?
  6. 如何通过 Docker 容器部署 DOH 服务?
  7. 如何在移动设备(如 Android 和 iOS)上配置 DOH?

性能与优化

  1. DOH 对网络性能的影响如何?会增加延迟吗?
  2. 如何测试和优化 DOH 的查询速度?
  3. DOH 与传统 DNS 的性能对比如何?
  4. 如何衡量 DOH 服务器的可用性和稳定性?
  5. 在大规模网络环境下,如何优化 DOH 的部署?

安全性与隐私

  1. DOH 如何保护用户的隐私?与传统 DNS 有何不同?
  2. DOH 能否防止 DNS 伪造、DNS 缓存投毒攻击?
  3. DOH 的加密机制如何增强数据的安全性?
  4. 如何保证 DOH 服务器本身的安全性,防止被攻击?
  5. 使用 DOH 的时候,是否存在潜在的安全风险或漏洞?
  6. DOH 是否能有效防止政府或 ISP 的 DNS 攻击或监控?

常见应用与案例

  1. DOH 在企业网络中的应用场景是什么?
  2. DOH 在跨境网络环境中的应用有何优势?
  3. DOH 如何与其他隐私保护技术(如 DNSSEC、HTTPS)配合使用?
  4. DOH 在公共 Wi-Fi 网络中的应用如何提高安全性?
  5. DOH 如何支持智能家居设备和物联网设备的隐私保护?

流行的 DOH 服务提供商

  1. 哪些 DOH 服务提供商值得信任?(如 Google、Cloudflare、Quad9)
  2. 如何评估不同 DOH 服务提供商的隐私政策?
  3. 是否可以自建 DOH 服务,如何操作?
  4. 如何选择合适的 DOH 服务器?
  5. 如何检查 DOH 服务器的正常工作和响应速度?

发展与趋势

  1. DOH 的未来发展趋势是什么?
  2. DOH 是否能够取代传统的 DNS 协议?
  3. 哪些浏览器和操作系统已经默认支持 DOH?
  4. 在未来几年,DOH 是否会成为互联网隐私保护的标准?
  5. DOH 在全球范围内的普及情况如何?是否会被广泛采用?
  6. 如何通过技术标准(如 IETF)推动 DOH 的进一步普及?

故障排除与问题解决

  1. DOH 查询失败时如何排查问题?
  2. 如何检查 DOH 是否工作正常?
  3. 如何处理 DOH 配置时的常见错误和问题?
  4. 如何通过日志和诊断工具调试 DOH 服务?
  5. 如何恢复或切换 DOH 服务器以解决故障?

通过这些问题,你可以全面了解 DOH 的工作原理、如何配置和应用它,如何确保其安全性,并深入探讨其未来发展。希望这些问题能够帮助你构建系统的知识体系,并在实践中熟练掌握 DOH。


 

posted @ 2025-03-22 22:46  suv789  阅读(764)  评论(0)    收藏  举报