本文主要介绍国内主流,2022-06亲测可用的 DNS,并粗浅的讲解一些筛选配置方案,适合不懂得小白按图索骥,大佬有更好意见也欢迎指正

  • 注: 本文主要以WINDOWS 为主, 没有详细提及 LINUX 的DNS配置, 个人认为使用字符终端这些都是基础, 我就不现拙了

1.理解DNS

首先: Dns是由一个组织维护的 每个主机的Ip和主机名的对应关系
其次1: 如果新域名接入网络,将自身得域名 Ip 信息注册到数据库中
其次2: 每个计算机也都有Hosts文件, 可以自定义域名与Ip关系
最后: 用户访问域名时,计算机先在本地Hosts查找, 找不到继续通过网络自动查询Dns服务器,得到实际访问Ip

由此可见,配置一个自己能最快速访问的Dns可以一定程度优化自己的网络速度

2.网络访问使用DNS生效规则

  1. 最高优先级为本地hosts文件
  2. hosts找不到,使用本机网络的dns配置
  3. 如果本机未配置, 则从路由器继承dns

3.使用hosts文件, 手动为单个域名ip建立映射

如果自己没有单独域名ip 映射信息, 看本文为了找到高效的公网DNS, 跳过本单位

  • windows hosts文件位置:
    C:\Windows\System32\drivers\etc
    文件中直接写入 ip+空格+域名 即可,#可以注释,但是不能实用通配符

4.在使用网络DNS前, 速度检测方式及说明

  • windows 打开cmd命令窗: Win + R 然后输入 cmd
    输入ping 加空格 dnsip 来检测本地与dns服务器时延
    image
    关注平均值即可, 后面DNS选择都推荐平均值最小的
    windows 可能问题:
    1. 不会自动停止, 可以加 -c 6 表示检测6此数据包
      可能报错ping权限不够, 则需要自己手动找程序, 用管理员身份运行,步骤如下
      开始菜单 - 所有应用 - Windows系统 - 命令提示符 - 右键选择以管理员身份运行
      这里的思路是 找到应用, 使用管理员权限打开, 其他任何权限问题都可以这么试着解决

5.网络dns汇总(摘自网络,侵权可删)

国内外dns都有, 先打开, 参考后面步骤最佳实践挑选

  1. 2020 国内外免费公共 DNS 服务推荐
    摘自知乎大佬 Tiry
    详细罗列了 IPV4 IPV6 DNS
  2. 国内运营商本地DNS
    摘自ip.cn 查询网站
  3. 盘点国内外优秀公共DNS
    摘自 知乎大佬 王小叹
    国外dns比较详细

6.最佳实践

在上面的网站中选择自己需要的DNS ping 测试
因为dns虽然可以配置两个, 但是只有第一个不可用才启用第二个,场景极少,所以主要生效的应该还是第一个dns
根据自己的使用场景选择:

  1. 如果不访问国外网站 如 github之类, 2个dns都可以忽略国外dns部分, 直接测试国内
    国内首推 5.2的DNS 中寻找离自己地域最近的dns ping测试, 选择一个最优的作为首选dns
    其次找一个公网dns 如 阿里百度114 之类, ping测试选择一个最优, 作为第二个备用dns
    当然如果本地dns不如公网dns, 那么都选公网dns也没问题

  2. 如果要访问外网,首选学习魔法, 也可以参考原则:
    首个dns 建议 在 5.1 或 5.3 中 选择一个外网dns, ping 测试最优的应用
    第二个dns 配置 遵循规则1 , 选择一个国内最快的
    这样目的是更多的解析国外网站, 但是因为墙的存在,通过dns找到ip也不一定能访问,具体测试
    国内更多就选方案1, 访问外网光靠dns解决并不乐观

7.配置DNS

经过上面第6部 ,测试获的自己需要的两个dns, 现在配置到本地网络中
具体步骤参考 : https://baijiahao.baidu.com/s?id=1662310430563805911

以上是自己配置调优DNS 的流程梳理, 尽量照顾小白, 说的很标签, 但是如果还是看到哪里不懂, 可以提问, 大家看到了也可以讨论, 我也可以帮忙检查