本文主要介绍国内主流,2022-06亲测可用的 DNS,并粗浅的讲解一些筛选配置方案,适合不懂得小白按图索骥,大佬有更好意见也欢迎指正
- 注: 本文主要以WINDOWS 为主, 没有详细提及 LINUX 的DNS配置, 个人认为使用字符终端这些都是基础, 我就不现拙了
1.理解DNS
首先: Dns是由一个组织维护的 每个主机的Ip和主机名的对应关系
其次1: 如果新域名接入网络,将自身得域名 Ip 信息注册到数据库中
其次2: 每个计算机也都有Hosts文件, 可以自定义域名与Ip关系
最后: 用户访问域名时,计算机先在本地Hosts查找, 找不到继续通过网络自动查询Dns服务器,得到实际访问Ip
由此可见,配置一个自己能最快速访问的Dns可以一定程度优化自己的网络速度
2.网络访问使用DNS生效规则
- 最高优先级为本地hosts文件
- hosts找不到,使用本机网络的dns配置
- 如果本机未配置, 则从路由器继承dns
3.使用hosts文件, 手动为单个域名ip建立映射
如果自己没有单独域名ip 映射信息, 看本文为了找到高效的公网DNS, 跳过本单位
- windows hosts文件位置:
C:\Windows\System32\drivers\etc
文件中直接写入ip+空格+域名
即可,#
可以注释,但是不能实用通配符
4.在使用网络DNS前, 速度检测方式及说明
- windows 打开cmd命令窗:
Win + R 然后输入 cmd
输入ping 加空格 dnsip
来检测本地与dns服务器时延
关注平均值即可, 后面DNS选择都推荐平均值最小的
windows 可能问题:- 不会自动停止, 可以加 -c 6 表示检测6此数据包
可能报错ping权限不够, 则需要自己手动找程序, 用管理员身份运行,步骤如下
开始菜单 - 所有应用 - Windows系统 - 命令提示符 - 右键选择以管理员身份运行
这里的思路是 找到应用, 使用管理员权限打开, 其他任何权限问题都可以这么试着解决
- 不会自动停止, 可以加 -c 6 表示检测6此数据包
5.网络dns汇总(摘自网络,侵权可删)
国内外dns都有, 先打开, 参考后面步骤最佳实践挑选
- 2020 国内外免费公共 DNS 服务推荐
摘自知乎大佬 Tiry
详细罗列了 IPV4 IPV6 DNS - 国内运营商本地DNS
摘自ip.cn 查询网站 - 盘点国内外优秀公共DNS
摘自 知乎大佬 王小叹
国外dns比较详细
6.最佳实践
在上面的网站中选择自己需要的DNS ping 测试
因为dns虽然可以配置两个, 但是只有第一个不可用才启用第二个,场景极少,所以主要生效的应该还是第一个dns
根据自己的使用场景选择:
-
如果不访问国外网站 如 github之类, 2个dns都可以忽略国外dns部分, 直接测试国内
国内首推 5.2的DNS 中寻找离自己地域最近的dns ping测试, 选择一个最优的作为首选dns
其次找一个公网dns 如 阿里百度114 之类, ping测试选择一个最优, 作为第二个备用dns
当然如果本地dns不如公网dns, 那么都选公网dns也没问题 -
如果要访问外网,首选学习魔法, 也可以参考原则:
首个dns 建议 在 5.1 或 5.3 中 选择一个外网dns, ping 测试最优的应用
第二个dns 配置 遵循规则1 , 选择一个国内最快的
这样目的是更多的解析国外网站, 但是因为墙的存在,通过dns找到ip也不一定能访问,具体测试
国内更多就选方案1, 访问外网光靠dns解决并不乐观
7.配置DNS
经过上面第6部 ,测试获的自己需要的两个dns, 现在配置到本地网络中
具体步骤参考 : https://baijiahao.baidu.com/s?id=1662310430563805911