我的知识记录

DNS劫持检测与处理_被篡改DNS恢复方法

DNS服务器的选择很重要,不同的公共DNS在速度、稳定性、安全性、隐私保护、解析准确性方面有差异。国内常用的公共DNS有阿里DNS(223.5.5.5)、腾讯DNS(119.29.29.29)、114DNS(114.114.114.114)、百度DNS(180.76.76.76)、360 DNS(101.226.4.6)等;国外常用的有Google DNS(8.8.8.8)、Cloudflare DNS(1.1.1.1)、OpenDNS(208.67.222.222)等。国内用户建议用国内DNS(解析速度快、不受国际线路影响、对国内域名解析更准确),国外用户或有特殊需求的可以用国外DNS。本文对比常用公共DNS的特点,推荐不同场景下的选择,并讲解DNS测速和优选方法,帮助用户选择最适合自己的DNS。

DNS over HTTPS(DoH)和DNS over TLS(DoT)配置。传统DNS查询是明文的(UDP 53端口),可以被监听和篡改,DoH/DoT把DNS查询加密,保护隐私和安全。DoH用HTTPS(443端口)传输DNS查询,DoT用TLS(853端口)传输。配置方法:Windows 11(系统原生支持DoH):1.设置→网络和Internet→以太网/Wi-Fi→「DNS服务器分配」→「编辑」→选择「手动」→开启IPv4→填入支持DoH的DNS(如Cloudflare 1.1.1.1,下拉选「开(自动模板)」)→保存。2.支持的DoH提供商:Cloudflare(1.1.1.1,https://cloudflare-dns.com/dns-query)、Google(8.8.8.8,https://dns.google/dns-query)、阿里(223.5.5.5,https://dns.alidns.com/dns-query)、腾讯(119.29.29.29,https://doh.pub/dns-query)。Windows 10及以下:系统不原生支持DoH,需要用第三方软件(如Cloudflare WARP、Simple DNSCrypt)或浏览器内置DoH(Chrome/Firefox支持)。Chrome浏览器DoH:设置→隐私和安全→安全→「使用安全DNS」→开启→选择服务商(Cloudflare/Google/自定义)。Firefox:设置→常规→网络设置→「启用基于HTTPS的DNS」→选择服务商。Android 9+(DoT,系统原生):设置→网络和互联网→「私有DNS」→选择「私有DNS提供商主机名」→填入DoT地址(如dns.alidns.com阿里、1dot1dot1dot1.cloudflare-dns.com Cloudflare、dot.pub腾讯)→保存。这是全局设置(Wi-Fi+蜂窝都生效),推荐安卓用户使用。iOS 14+:系统不直接支持图形界面配置DoH,需要用描述文件或第三方APP(如Cloudflare 1.1.1.1 APP,安装后一键配置DoH/DoT,还可以当VPN用)。macOS:系统不原生支持DoH/DoT图形配置,可以用描述文件(.mobileconfig)或第三方APP(如Cloudflare WARP)。Linux:用systemd-resolved配置DoT(resolved.conf中DNSOverTLS=yes),或用dnscrypt-proxy、cloudflared等工具。注意——DoH/DoT需要DNS服务商支持(不是所有DNS都支持加密),国内阿里、腾讯支持;DoH用443端口,不容易被防火墙拦截,DoT用853端口可能被某些网络封锁;加密DNS会增加一点延迟(加密解密开销),但通常很小;在公司/校园网中,加密DNS可能绕过内网DNS解析,导致内网资源无法访问,需要谨慎使用。

更换DNS后无法上网的排查与恢复。如果修改DNS后无法打开网页,按以下步骤排查:1.确认DNS地址正确——检查是否输错了数字(如223.5.5.5写成223.5.5.55或233.5.5.5),常见错误是多一位少一位、数字顺序错。重新核对并修改正确。2.确认网络连接正常——先测试能否ping通IP地址(如ping 223.5.5.5或ping 8.8.8.8),如果ping IP都不通,是网络连接问题(不是DNS问题),检查网线/Wi-Fi连接、路由器、宽带是否正常。3.用nslookup测试DNS——执行nslookup www.baidu.com 223.5.5.5(指定用这个DNS查询),如果能解析出IP,说明DNS正常,问题可能在浏览器或系统其他设置;如果超时/失败,说明这个DNS在你的网络下不可达,换一个DNS试试(如换成119.29.29.29或114.114.114.114)。4.确认是否是公司/校园网限制——部分公司/校园网禁止使用外部DNS,只能用网络管理员分配的内网DNS,手动改公共DNS会导致无法解析内网域名或无法上网。这种情况改回「自动获取DNS」即可,或咨询网络管理员允许的DNS。5.确认IPv6配置——如果同时配置了IPv6 DNS但网络不支持IPv6,可能导致解析异常,暂时关闭IPv6或删除IPv6 DNS试试。6.恢复默认DNS——如果排查不出问题,最简单的恢复方法是改回「自动获得DNS服务器地址」(DHCP自动分配运营商DNS),通常能立即恢复上网。Windows:网络连接属性→IPv4属性→「自动获得DNS服务器地址」→确定→ipconfig /flushdns。macOS:网络设置→DNS→删除手动添加的DNS→自动获取。Linux:netplan改回dhcp,或resolv.conf改回自动。7.重启网络/设备——修改后如果不生效,禁用再启用网络连接,或重启电脑/手机/路由器。8.检查hosts文件——如果某些特定网站打不开,可能是hosts文件被篡改(被劫持/恶意软件修改),检查C:WindowsSystem32driversetchosts(Windows)或/etc/hosts(Linux/macOS),删除异常条目。注意——修改DNS前记下原来的DNS设置(或截图),方便出问题恢复;不要用不知名的小众DNS(可能不稳定或有劫持/隐私风险),用知名公共DNS;如果某个DNS在你的网络下不稳定,换另一个,不同DNS对不同网络适配不同。

DNS刷新(清理DNS缓存)方法。修改DNS后,系统可能还在用旧的DNS缓存,导致不立即生效,需要手动刷新DNS缓存。Windows:1.Win+R输入cmd打开命令提示符(或PowerShell)。2.执行ipconfig /flushdns。3.提示「已成功刷新DNS解析缓存。」即完成。4.(可选)同时刷新NetBIOS缓存:nbtstat -R。5.(可选)如果用了浏览器,浏览器也有DNS缓存,关闭重启浏览器,或在浏览器设置中清除缓存(Chrome:chrome://net-internals/#dns→「Clear host cache」)。macOS:不同版本命令不同:-macOS Ventura (13.x)/Monterey (12.x)/Big Sur (11.x)/Catalina (10.15):sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder(需要输入密码)。-macOS Mojave (10.14)/High Sierra (10.13)/Sierra (10.12):sudo killall -HUP mDNSResponder。-OS X El Capitan (10.11)/Yosemite (10.10.4+):sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder。-更旧版本可能用sudo lookupd -flushcache。Linux:-systemd-resolved(Ubuntu 18.04+/Debian/Fedora):sudo systemd-resolve --flush-caches(或sudo resolvectl flush-caches)。-nscd:sudo nscd -i hosts(如果用nscd)。-dnsmasq:sudo systemctl restart dnsmasq。-一般重启网络服务也会清缓存:sudo systemctl restart NetworkManager。手机:-iOS:开启飞行模式再关闭,或重启手机,会清除DNS缓存。-Android:开启飞行模式再关闭,或在设置→应用→浏览器→清除缓存;某些版本可以在「设置→存储→缓存数据」清除。路由器:重启路由器会清除路由器DNS缓存(拔掉电源等10秒再插上)。注意——DNS缓存分多层(系统缓存、浏览器缓存、路由器缓存、运营商DNS缓存、根域名缓存),修改本机DNS后,本机缓存刷新即可立即用新DNS查询,但域名解析结果的TTL(生存时间)决定了上游DNS缓存多久更新,通常几分钟到几小时,不需要等太久(本机刷新后就会用新DNS重新查询)。

常用公共DNS推荐与对比。国内公共DNS(国内用户推荐,解析快、对国内域名准确、不受国际线路影响):1.阿里DNS(Alibaba DNS):223.5.5.5、223.6.6.6;IPv6:2400:3200::1、2400:3200:baba::1;特点——稳定、解析速度快、国内节点多、支持DoH/DoT(dns.alidns.com)、无劫持、阿里出品,是国内最常用的公共DNS之一。2.腾讯DNS(DNSPod Public DNS):119.29.29.29;备用:182.254.116.116;特点——DNSPod出品,国内解析稳定,支持DoH(doh.pub)、DoT(dot.pub),对国内域名解析准确。3.114DNS:114.114.114.114、114.114.115.115;特点——国内较早的公共DNS,节点多,兼容性好,有家长控制版(114.114.114.119屏蔽不良网站),但部分用户反映解析偶尔不稳定。4.百度DNS:180.76.76.76;特点——百度出品,对百度系服务解析优化,国内节点。5.360 DNS:101.226.4.6、218.30.118.6;特点——360出品,安全防护,国内节点。6.天翼DNS(中国电信):101.226.4.6(部分地区)、180.184.1.1;特点——电信运营商DNS,对电信用户友好。国外公共DNS(适合国外用户或有特殊需求,国内访问可能慢/不稳定):1.Google DNS:8.8.8.8、8.8.4.4;特点——全球知名,稳定,支持DoH/DoT,但国内访问可能慢或被干扰,对国内域名解析可能走国外节点。2.Cloudflare DNS:1.1.1.1、1.0.0.1;特点——速度快(全球Anycast)、隐私保护好(不记录用户数据)、支持DoH/DoT,国内部分地区访问不稳定。3.OpenDNS(Cisco):208.67.222.222、208.67.220.220;特点——老牌DNS,有家长控制和安全过滤,国内访问一般。4.Quad9:9.9.9.9;特点——安全DNS,屏蔽恶意网站,隐私保护。选择建议——国内用户首选阿里DNS(223.5.5.5)或腾讯DNS(119.29.29.29),稳定快速;备用可以用114DNS;游戏玩家可以测试不同DNS的延迟选最低的;有安全/隐私需求用支持DoH/DoT的DNS;不要同时用国内和国外DNS混用(可能导致解析不稳定,主备都用国内或都用国外)。

Linux修改DNS。方法一:修改/etc/resolv.conf(传统方法,简单但可能被NetworkManager/systemd-resolved覆盖)。1.编辑resolv.conf:sudo nano /etc/resolv.conf。2.添加/修改nameserver行:nameserver 223.5.5.5 nameserver 223.6.6.6。3.保存退出(Ctrl+O回车,Ctrl+X)。4.测试:nslookup www.baidu.com。注意——如果系统用systemd-resolved(Ubuntu 18.04+默认),/etc/resolv.conf可能是个符号链接指向/run/systemd/resolve/stub-resolv.conf,直接修改会被覆盖,需要用方法二或三。方法二:systemd-resolved配置(Ubuntu 18.04+/Debian/Fedora等)。1.编辑resolved.conf:sudo nano /etc/systemd/resolved.conf。2.在[Resolve]段添加/修改:DNS=223.5.5.5 223.6.6.6 FallbackDNS=119.29.29.29(可选)。3.保存退出,重启resolved服务:sudo systemctl restart systemd-resolved。4.验证:resolvectl status(看DNS服务器)或nslookup。方法三:netplan配置(Ubuntu 18.04+服务器版默认用netplan)。1.查看netplan配置文件:ls /etc/netplan/(通常是01-netcfg.yaml或50-cloud-init.yaml)。2.编辑配置:sudo nano /etc/netplan/文件名.yaml。3.在网络接口配置下添加nameservers:ethernets: eth0: nameservers: addresses: [223.5.5.5, 223.6.6.6](注意YAML缩进,2空格)。4.应用配置:sudo netplan apply。5.验证:systemd-resolve --status或nslookup。方法四:NetworkManager图形界面(桌面版Linux如Ubuntu Desktop/Fedora Workstation)。1.点击右上角网络图标→「设置」→选中网络→齿轮图标→「IPv4」标签→DNS关闭「自动」→填入DNS地址(逗号分隔)→点击「应用」。2.重启网络或断开重连。3.测试。注意——Linux不同发行版网络管理方式不同(NetworkManager/systemd-networkd/netplan/ifupdown),根据自己的系统选择方法;修改DNS后通常立即生效,不需要重启;如果不生效,重启网络服务(sudo systemctl restart NetworkManager或sudo netplan apply)。

手机修改DNS(iOS和Android)。iOS(iPhone/iPad):1.打开「设置」→「无线局域网」(Wi-Fi)→点击已连接Wi-Fi右侧的「i」图标→「配置DNS」→选择「手动」→点击「添加服务器」→输入DNS地址(如223.5.5.5)→再添加备用DNS→点击「存储」。2.(iOS 14+支持加密DNS)设置→通用→VPN与设备管理→添加DNS配置(或用支持DoH的APP如Cloudflare 1.1.1.1 APP一键配置)。3.注意——iOS只能为每个Wi-Fi单独设置DNS,不能全局设置(蜂窝网络DNS由运营商分配,iOS不允许直接修改蜂窝DNS,除非用VPN/加密DNS APP)。4.测试:用Safari打开网页,或用网络工具APP(如Network Analyzer)测试DNS解析。Android(安卓,不同品牌界面略有差异,以原生Android/小米/华为为例):1.打开「设置」→「WLAN」/「Wi-Fi」→长按已连接的Wi-Fi→「修改网络」/「修改网络配置」→点击「高级选项」→「IP设置」选择「静态」(注意:选静态后IP地址也要手动设置,或者某些版本可以只改DNS不改IP,看系统)→在「域名1」/「DNS 1」填入主DNS,「域名2」/「DNS 2」填入备DNS→保存。2.(Android 9+支持私有DNS/DoT)设置→网络和互联网→「私有DNS」→选择「私有DNS提供商主机名」→填入DoT地址(如dns.alidns.com阿里DoT、1dot1dot1dot1.cloudflare-dns.com Cloudflare DoT)→保存。私有DNS是全局的(Wi-Fi和蜂窝都生效),比逐个Wi-Fi设置方便。3.注意——Android不同品牌(小米/华为/OPPO/vivo)设置路径不同,大致在「Wi-Fi设置→高级→静态IP/DNS」或「网络和互联网→私有DNS」;设置静态IP时要确保IP地址、网关、子网掩码正确(可以先用自动获取,记下IP/网关,再填静态),否则可能无法上网;如果改完无法上网,改回「DHCP」/「自动获取IP」恢复。4.测试:用浏览器打开网页,或用「网络调试助手」类APP测试。

技术评价:「DNS优选很重要,不同地区最快的DNS不一样,用DNSBench或dig测一下自己网络下哪个最快,我这边腾讯DNS比阿里快,一直用腾讯」「给客户解决网络问题,很多网页打不开其实是DNS的问题,换公共DNS就解决了,基础但有效。加密DNS(DoH/DoT)是趋势,能防劫持,新系统都支持了,建议开启」。

操作提示:改DNS前先截图/记下原来的设置,方便出问题恢复。国内用户推荐阿里DNS(223.5.5.5)或腾讯DNS(119.29.29.29),稳定快速;备用用同服务商的备DNS或另一个可靠DNS。改完后刷新DNS缓存(Windows ipconfig /flushdns,macOS sudo killall -HUP mDNSResponder)。家庭用户推荐在路由器改DNS(全局生效),安卓用户推荐私有DNS(DoT全局),iOS用户用Cloudflare APP或每个Wi-Fi单独设。改完无法上网先检查DNS地址是否输错,不行就改回自动获取恢复。

DNS劫持检测与处理_被篡改DNS恢复方法

标签:

更新时间:2026-08-27 10:19:30

上一篇:网站网站快照被劫持_安全加固

下一篇:网站崩溃应急处理流程:快速恢复与原因排查_500错误_网站故障_排查修复