公云存储
  • 前言
  • 简介
  • 开始
    • 注册&登录
    • 网盘页面
    • 用户面板
    • 超额封禁
    • 注销&删号
  • 使用&操作
    • 侧边栏
      • 我的文件
      • 与我共享
      • 回收站
      • 我的分享
      • 连接与挂载
      • 后台任务队列
      • 离线下载
    • 文件操作
      • 在线解压缩
      • 上传文件
      • 下载文件
      • 转移存储空间
    • 存储空间
    • 分享文件&文件夹
    • 文件详细讯息
  • 进阶使用&操作
    • 版本控制&权限
    • 在线浏览&编辑
    • 转存、迁移其他平台文件
  • 付费&会员
    • 支付方式
    • 积分
    • 会员&容量包
    • 自定义与客制化
  • 其他
    • 主旨
    • 防御&人机验证
    • 官方社交账号&联系方式
    • 服务器拓扑&架构
  • 用户条款
    • 服务条款
    • 隐私条款
    • 付费用户合约(不含积分)
    • 未成年儿童保护条款(反儿童性虐待政策)
    • 合法版权内容侵权政策
  • 提问的智慧
    • 提问的智慧
    • 简体中文
    • 繁体中文
    • 英文(原文)——How To Ask Questions The Smart Way
  • Q&A(常见问题)
    • 提问之前
    • 无法通过人机验证
    • 下载速度过慢
    • 无法正常下载
    • 积分获取
    • 积分分享
  • 部分教程
    • 因自身网络环境因素导致独立存储池访问问题解决方法
    • 解决DNS污染导致无法访问部分网站问题
由 GitBook 提供支持
在本页
  • 原因
  • 运营商DNS污染
  • DNS劫持
  • 排查
  • 解决方法
  • 其他

这有帮助吗?

  1. 部分教程

解决DNS污染导致无法访问部分网站问题

上一页因自身网络环境因素导致独立存储池访问问题解决方法

这有帮助吗?

原因

运营商DNS污染

是运营商阻断其当地管辖范围内用户访问特定网络或为了不为人知目的而做的一种缺德做法。

DNS劫持

是一些恶意分子通过莫些不为人知(对于小白来讲...)的技术手段进行不限于恶意篡改、中间人劫持使用者所使用设备DNS的一种行为。

排查

以常用图形操作系统Windows为例,打开CMD或Powershell,输入nslookup(查询域名对应解析)后空格加上需要查询的域名例如 www.baidu.com

将会返回如下讯息:

  • DNS域名服务器讯息

    • 服务器:本次DNS域名查询系统hostname

    • Address:本次DNS域名查询是通过哪个进行查询

  • 通过相关DNS域名服务器查询后的结果

    • 应答权威性:本次返回的查询结果是通过权威DNS域名查询服务器所返回结果还是非权威DNS域名查询服务器所返回

    • 名称:直接查询返回的域名 [与查询域名一致说明没有设置cname解析]

    • Addresses:返回所查询域名后面对应的IPv4、IPv6地址 [有此结果说明域名有设置正向解析A、AAAA]

    • Aliases:返回所查询域名后面IPv4、IPv6地址对应的域名 [有此结果说明域名有设置反向解析A、AAAA]

    上述所查询结果中如果Addresses与实际并不一致就证明你设备所使用DNS存在污染或劫持,这里举一个查询网址:www.tkxdl1.com 的例子:

左图是另一个地区的Linux服务器通过nslookup查询后得出的结果,右图是在中国地区内的一台Windows上通过nslookup查询后得出的结果。

我们可以看到两边返回的结果并不一致说明左侧可能出现了DNS污染或就是出现了DNS污染,当然在本机上进行nslookup进行DNS域名解析记录查询并不能完全断定是否就是出现了DNS污染。

不过我们可以肯定的是当向一个公网DNS域名查询系统查询域名对应IP地址时,其不应该返回如下所列IP:

  • 127.0.0.1或127.0.0.1~127.255.255.255范围内

  • 192.168.1.1或192.168.1.1~192.168.255范围内

  • 10.0.0.1~10.255.255.255范围内

上述IP全部都属于局域网IP或本地环回IP,一个部署在公网进行对全球服务的网站是不可能通过一个局域网IP或一个本地环回IP使全球用户对其进行访问的!

在进行完初步判断后我们需要进一步确定是否是DNS污染造成无法访问对方网站,我们可以使用例如“站长之家Ping”对其进行ping查询或直接使用其DNS域名查询服务直接查询域名后面的IP也可以。

我们可以从上图看到其网站是对部分地区做了阻断访问处理,在其域名解析服务商上做了相关设置而导致。

上述例子虽然并不是污染导致,但与DNS污染或劫持后结果类似,都是DNS返回了错误IP所致无法访问,唯一不一样的地方在于例子中的网址域名在部分地区返回错误IP是网站运营者所设置,而DNS污染绝大多数情况是运营商或访问者网络服务提供商所致。

解决方法

想要根绝DNS污染的方法之一就是不使用运营商分发的DNS进行上网服务,或者以更加安全的DNS查询方式进行上网服务,这里所提到的“更安全的DNS查询方式”指Doh。

  • DNS污染与DNS劫持

    • 方法一:有部分中国大陆地区的运营商会做出此举侵犯当地用户权益的行为,这种请自行切换DNS为119.29.29.29(腾讯云公共DNS)或223.5.5.5(阿里云公共DNS)

    • :做完 方法一 后以管理員方式打开Powershell输入如下命令添加Doh

Add-DnsClientDohServerAddress -ServerAddress '223.5.5.5' -DohTemplate 'https://dns.alidns.com/dns-query' -AllowFallbackToUdp $False -AutoUpgrade $True
Add-DnsClientDohServerAddress -ServerAddress '119.29.29.29' -DohTemplate 'https://doh.pub/dns-query' -AllowFallbackToUdp $False -AutoUpgrade $True

打开 windows设置 -> 网络和Internet -> WLAN 或者 以太网 (取决于你的网络类型)-> 硬件属性 -> DNS

配置下列dns设置,dns加密方式下列两种皆可

其他

除开上述普通方法外还有其他更加根绝的方法。

首先第一个就是自建私有DNS域名查询系统,你可以选择一台允许开放UDP 53端口且处于公网环境下的服务器进行搭建,也可以在自己所处内部局域网进行搭建,无论你选择什么方式进行搭建自己私有的DNS域名查询系统,都意味着你需要一定的知识技能储备以及相关维护技能等。

第二个方法是在自己局域网内处于最边界或自己进行上网设备网关所处路由器内进行DNS劫持,相当于在局域网内就提前将域名重定向至目的地IP而不是向公共DNS域名解析服务器进行域名解析查询,此类做法也能在一定程度上完全根绝公共域名DNS解析服务或运营商DNS域名解析服务被污染、劫持的危险,不过此类方法并不一定适用于所有家用路由器,例如Xioami home router的绝大部分产品基本上都支持路由器内写死hosts表或进行DNS重定向等操作。

Drawing
Drawing