DNS (传统DNS) DoH (DNS over HTTPS) DoT (DNS over TLS) ,DNS、DoH 和 DoT 之间区别的表格:
Windows 10与 11 系统设置中才有
这些 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 |
这个表格总结了以下关键点:
- 国密 SM2 DoH 是国内首家由 DNSPod 提供,增强了加密安全性。
- IPv4 和 IPv6 都有明确列出,便于在不同网络环境下使用。
- 支持 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 脚本
# 检查当前的 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 }
使用说明
- 打开 PowerShell:以管理员身份运行 PowerShell。
- 复制并粘贴脚本:将上述脚本复制并粘贴到 PowerShell 窗口中。
- 调整网络适配器名称:根据您的网络适配器名称(例如“以太网”或“Wi-Fi”)调整
$adapter
变量。 - 执行脚本:按 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 查询安全的网络中。 |
详细说明:
-
传统 DNS:
- 定义与概念:DNS 是一种用于将域名解析为 IP 地址的系统,通常通过端口 53 进行通信。它的主要目的是帮助用户通过人类易记的域名(如 www.example.com)访问网站。
- 功能与作用:DNS 提供了将用户请求的域名转换为 IP 地址的功能,用户在浏览器中输入域名时,DNS 服务器会将其转换为计算机可理解的 IP 地址。
- 应用场景:广泛应用于所有类型的网络连接,无论是家庭网络还是企业网络,都是互联网基础设施的重要组成部分。
-
DoH (DNS over HTTPS):
- 定义与概念:DoH 是 DNS over HTTPS 的缩写,它通过 HTTPS 协议对 DNS 查询进行加密,使用端口 443 进行通信。这意味着 DNS 查询将通过 HTTPS 通道加密,增加了安全性和隐私保护。
- 功能与作用:DoH 的主要功能是加密 DNS 查询,防止第三方监听和篡改 DNS 请求。它的作用是保护用户的隐私,尤其是在不安全的网络环境下(如公共 Wi-Fi 网络)避免用户的 DNS 查询被监控。
- 应用场景:适用于对隐私有较高要求的场景,特别是在公共 Wi-Fi 网络或不信任的网络环境下使用智能手机、浏览器等设备时。DoH 在许多现代浏览器中得到了支持,如 Chrome 和 Firefox。
-
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实现的安全性) |
详细解释:
-
传统 DNS:
- 漏洞:传统 DNS 协议在设计时并没有加密,因此存在诸多漏洞。最常见的漏洞包括:
- DNS Spoofing(缓存投毒):攻击者通过伪造 DNS 响应,将恶意 IP 地址返回给受害者,导致用户访问恶意网站。
- DNS反射攻击:攻击者伪造源地址,利用公开的 DNS 服务器发起大规模的 DDoS 攻击。
- 查询劫持:恶意的中间人可以通过拦截 DNS 查询,修改查询结果,导致用户访问不安全的资源。
- 漏洞级别:这些漏洞非常严重,因为传统 DNS 没有加密保护,容易受到各种攻击。
- 漏洞:传统 DNS 协议在设计时并没有加密,因此存在诸多漏洞。最常见的漏洞包括:
-
DoH (DNS over HTTPS):
- 漏洞:DoH 提供了加密保护,但也引入了一些潜在的风险:
- HTTPS 中间人攻击:尽管 DoH 使用 HTTPS 加密,但如果 HTTPS 配置不当(如 SSL/TLS 证书问题),可能会受到中间人攻击。
- DDoS 攻击:由于 DoH 使用 HTTPS,攻击者可以将 DDoS 攻击定向到 DoH 服务的端口(通常是 443 端口),从而影响服务的可用性。
- 隐私泄露:如果 DoH 服务提供商收集用户的 DNS 查询数据,可能会泄露用户的网络行为,尤其是在未对查询内容进行匿名化的情况下。
- 漏洞级别:虽然 DoH 提供了更好的隐私保护,但仍然存在依赖服务提供商和 HTTPS 配置的潜在风险,漏洞级别相对较中等。
- 漏洞:DoH 提供了加密保护,但也引入了一些潜在的风险:
-
DoT (DNS over TLS):
- 漏洞:DoT 也通过 TLS 加密传输 DNS 查询,但它同样面临一些潜在的安全问题:
- TLS 配置弱点:如果使用不安全的 TLS 配置(例如弱加密算法、过期证书等),攻击者可能会利用 TLS 的漏洞对数据进行篡改或窃听。
- DDoS 攻击:DoT 也会成为 DDoS 攻击的目标,尤其是当攻击者集中攻击 TLS 端口时(通常是 853 端口)。
- 不受信任的 DNS 服务器:如果 DoT 服务端未经过认证或遭到篡改,可能导致用户数据泄露或中间人攻击。
- 漏洞级别:DoT 提供了加密保护,相比传统 DNS 安全性更高,但其安全性依赖于 TLS 配置和服务端的信任性,漏洞级别较中等。
- 漏洞:DoT 也通过 TLS 加密传输 DNS 查询,但它同样面临一些潜在的安全问题:
- 传统 DNS 的漏洞级别较高,易受到缓存投毒、DNS 劫持和 DDoS 攻击的威胁。
- DoH 和 DoT 通过加密提高了安全性,减少了数据泄露和劫持的风险,但也依赖于正确的配置和信任的 DNS 服务提供商,漏洞级别相对中等。
整体来看,DoH 和 DoT 提供了较高的隐私保护和安全性,尤其是在防止中间人攻击和数据篡改方面。但它们仍然可能面临服务端问题、DDoS 攻击等威胁。
创建了支持DNS over HTTPS的PowerShell和CMD脚本:
PowerShell 脚本(支持DoH)
# 以管理员身份运行此脚本
# 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 批处理脚本
@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
额外功能:网络重置脚本
# 网络重置脚本(恢复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
}
使用说明:
-
PowerShell 脚本:
-
完整支持DoH配置
-
需要Windows 10 20121或更高版本
-
以管理员身份运行
-
-
CMD 脚本:
-
基础网络配置
-
通过PowerShell命令配置DoH
-
兼容性更好
-
-
系统要求:
-
Windows 10 20121或更高版本完整支持DoH
-
早期版本可能不支持DoH功能
-
选择PowerShell脚本以获得完整的DoH支持,或使用CMD脚本作为备选方案。
深入了解 DOH(DNS over HTTPS) 并系统学习它,以下是一些关键问题,涵盖了基础概念、工作原理、安全性、配置与应用等方面,帮助你全面掌握 DOH。
基础概念与原理
- 什么是 DOH(DNS over HTTPS)?
- DOH 与传统的 DNS(域名系统)有什么区别?
- DOH 是如何工作的?
- DOH 与 DNS over TLS(DoT)的主要区别是什么?
- 为什么需要 DOH?它能解决哪些问题?
- DOH 采用的加密协议是什么?
- DOH 相比传统 DNS 请求有何安全优势?
- 如何理解 DNS 查询的隐私问题,DOH 如何解决这些问题?
- DOH 如何保护用户免受 DNS 劫持和中间人攻击(MITM)?
- DOH 与 VPN 的隐私保护有何异同?
配置与部署
- 如何在浏览器中启用 DOH?(例如,Chrome、Firefox、Edge)
- 如何为本地 DNS 服务器配置 DOH?
- 如何选择一个 DOH 服务器提供商,是否可以自建 DOH 服务器?
- 如何在操作系统中配置 DOH?(例如,Windows、macOS、Linux)
- DOH 是否支持自定义 DNS 服务器?如何配置?
- 如何通过 Docker 容器部署 DOH 服务?
- 如何在移动设备(如 Android 和 iOS)上配置 DOH?
性能与优化
- DOH 对网络性能的影响如何?会增加延迟吗?
- 如何测试和优化 DOH 的查询速度?
- DOH 与传统 DNS 的性能对比如何?
- 如何衡量 DOH 服务器的可用性和稳定性?
- 在大规模网络环境下,如何优化 DOH 的部署?
安全性与隐私
- DOH 如何保护用户的隐私?与传统 DNS 有何不同?
- DOH 能否防止 DNS 伪造、DNS 缓存投毒攻击?
- DOH 的加密机制如何增强数据的安全性?
- 如何保证 DOH 服务器本身的安全性,防止被攻击?
- 使用 DOH 的时候,是否存在潜在的安全风险或漏洞?
- DOH 是否能有效防止政府或 ISP 的 DNS 攻击或监控?
常见应用与案例
- DOH 在企业网络中的应用场景是什么?
- DOH 在跨境网络环境中的应用有何优势?
- DOH 如何与其他隐私保护技术(如 DNSSEC、HTTPS)配合使用?
- DOH 在公共 Wi-Fi 网络中的应用如何提高安全性?
- DOH 如何支持智能家居设备和物联网设备的隐私保护?
流行的 DOH 服务提供商
- 哪些 DOH 服务提供商值得信任?(如 Google、Cloudflare、Quad9)
- 如何评估不同 DOH 服务提供商的隐私政策?
- 是否可以自建 DOH 服务,如何操作?
- 如何选择合适的 DOH 服务器?
- 如何检查 DOH 服务器的正常工作和响应速度?
发展与趋势
- DOH 的未来发展趋势是什么?
- DOH 是否能够取代传统的 DNS 协议?
- 哪些浏览器和操作系统已经默认支持 DOH?
- 在未来几年,DOH 是否会成为互联网隐私保护的标准?
- DOH 在全球范围内的普及情况如何?是否会被广泛采用?
- 如何通过技术标准(如 IETF)推动 DOH 的进一步普及?
故障排除与问题解决
- DOH 查询失败时如何排查问题?
- 如何检查 DOH 是否工作正常?
- 如何处理 DOH 配置时的常见错误和问题?
- 如何通过日志和诊断工具调试 DOH 服务?
- 如何恢复或切换 DOH 服务器以解决故障?
通过这些问题,你可以全面了解 DOH 的工作原理、如何配置和应用它,如何确保其安全性,并深入探讨其未来发展。希望这些问题能够帮助你构建系统的知识体系,并在实践中熟练掌握 DOH。