关于路由器和DNS解析的一些新理解

其实我本人对于交换机和路由器这些网络硬件是比较感兴趣的,也在一点一点的学习相关知识,每次解决一个问题,就让我对一些事情有新的思考。。

今天前台同事,的机器突然上不了网,,和领导一起去看了一波,首先ping了一下网关,,然后发现,可以ping通的,然后ping了下baidu,就不通了,,,我好奇了半天。怎么回事,,,然后瞟了一眼ip,突然发现怎么是192.168.1.144.。。。不对啊,之前在总的锐捷路由器上设置的都是192.168.10.X网段的,然后顺藤摸瓜发现,发现上层还有个路由器,原来这个路由器给做了路由,,,想进后台看看,发现忘记了密码,,,,然后就想那一定是这个路由器配置有问题,,,感觉看起来像是解析不了这个域名的感觉,然后手动设置了一下dns,就好了。。。。

然后我就觉得是这个路由器没给自动分配dns然后导致的。。
但是路由器有设置分配dns这个内容的吗?好像从来没听说过。

上网搜索了一番,才终于明白

首先,你要知道二级路由器的网段是不可以和上一级路由器的网段一样的,
比如你上一级路由器的网段是192.168.1.0/24,
那么二级路由器的网段就要改成192.168.X.0/24,
也就是说这个X除了1在0-254之间的数字都可以,这样就是把两个路由器的网段给岔开了,

第二点,你要知道上一级路由器的设置信息,比如是否开启了DHCP或者其他的,比如上一级的路由器的信息是192.168.0.1/24,DHCP是开着的,从192.168.1.100-192.168.1.199,那么我们就知道了,上一级路由器的IP地址从100-199之间是可以自动获取的,其他的只能手动设置,那么我们在二级路由器设置页面中找到WAN设置,里面可以用两种方法来设置:

一种是动态获取,还有一种是静态获取,选择动态获取这个二级路由器就会自动获取到上一级路由器DHCP分配区间中的一个IP,使用静态获取,我们可以手动设置一下IP 子网掩码 网关,DNS等等,比如我们可以把IP地址设置成为除了上一级路由器DHCP自动分配以外的IP,但是不可以设置网关,比如我们可以设置2-99或者200-254之间,随便找个IP,子网掩码用C类的255.255.255.0,网关为192.168.1.1。

DNS根据你当地的要求网上查一下或者你可以直接设置成为上一级路由器的网关也可以。这样,只要保证上一级路由器和2级路由之间网段不同,而且获取方式遵循上一级路由器的信息(你的电脑将自动跟随猫或路由器的DNS设置),这样就没问题。

还有一种就是把这个二级无线路由路由器作为AP来使用,也就是说把这个路由器变成一个无线交换机。只要把二级路由器和上一级路由器的网段岔开,然后把二级路由器的DHCP服务关掉,把上一级路由器的LAN口连接在二级路由器的LAN口上,二级路由器的WAN口什么都不连,这样这个二级路由器就变成了个AP交换机了

那我刚刚也说了,,电脑如果不是手动设置是自动跟随猫或者路由器的DNS设置的,,那这个过程又是怎么样子的

DNS的查找顺序是什么样的

是一级一级往上查找的,大概顺序是:
本机缓存表Q->本机指定的DNS地址
当本机指定的DNS地址是路由器地址时,会通过路由器缓存或直接往上通过运营商默认的dns进行查找,
当本机指定的DNS是其他地址时,比如223.5.5.5 (阿里DNS),那么就直接连接到阿里的dns进行查找。
可以在本机的ip地址界面单独修改dns%地址,也可以在手机上网络连接只里面自定义修改。
如果,想要光猫自动分配自定义的DNS地址给电脑或手机,就必须进入光猫后台,更改lan口dns设置。否则,手动设置电脑或手机。
但是,如果光猫下有接一层路由器,那么可以直接在该路由器中设置要分配的自定义DNS地址,所有电脑和手机均连接这个路由器即可自动分配到自定义的dns地址。

其实你说我们本地有dns那个对应关系吗?没有,其实这个内容都是存储在一些官方的DNS服务器上的,不过我们本地有一些dns的缓存表
可以使用命令查看
ipconfig/displaydns

在这里插入图片描述
记录名称仅仅是简称,而真正的名称是CNAME后面的名称。百度真正的域名名称是四级。
生存时间就是这条记录在计算机中所存在的时间,单位是秒。也就是说218秒后这条记录就会自动删除。
如何清空这些缓存呢?

可以使用ipconfig/flushdns,如图:
这样就彻底的清空缓存了,当然我们也可以继续打开某一个网址,让电脑自动缓存。。

那我又开始好奇,,电脑为什么要有这个DNS缓存这个东西呢?这个有啥用

其实域名的解析服务要严格按照从根域名服务器、顶级域名服务器再到权威域名服务器的一级级查询过程

但是实际中,其实DNS解析过程并不总是严格遵循以上的流程,其实从我的小格局来看就是为了减少对那些DNS服务器的访问嘛,然后做个本地缓存,这个缓存还有时限,这样既能更新,又减少了DNS服务器的压力,,

那我又想这样有什么害处呢?

首先,DNS缓存只会保存查询结果,而不会检查该结果是否有效,这就导致如果域名与IP地址的映射关系发生变化,DNS缓存中仍记录原有过期的信息。在这种情况下,用户请求网站,从DNS缓存中读取的信息就是错误的,就可能导致网站不可达或者被导向一个错误的网站,当然,我们经常访问的一些百度,腾讯,肯定不会随便去变化的,所以一般也很少出现,但是要是自己的服务完全可能出现这种情况。比如说你要更换一个域名这种情况

其次,DNS缓存容易被恶意攻击者利用,对DNS发动缓存投毒攻击造成DNS劫持,将访客诱导至受攻击者控制的网站。DNS缓存投毒攻击是指攻击者利用DNS缓存的原理,在权威解析服务之前将伪造的数据包发送到DNS服务器中,当访客请求到DNS服务器时,就会将错误的数据发送给访客,从而达到DNS缓存攻击的效果。

此外,DNS缓存也会导致DNS服务器负载的增加,如果DNS查询的响应时间过长,或者缓存中保存的查询结果过多,都可能会导致DNS服务器的负载增加,从而影响网站的访问速度。

查找DNS缓存的顺序

(1)浏览器DNS缓存:浏览器会根据一定频率缓存DNS记录;

(2)本地DNS缓存:如果浏览器缓存中找不到解析记录,就会去询问操作系统中的缓存;

(3)本地HOSTS文件:HOSTS是记录域名与IP地址一一映射关系的本地文件,Windows系统中位于C:\Windows\System32\drivers\etc;

(4)路由器DNS缓存:我们常用的路由器也带有自动缓存功能,路由器DNS被篡改会造成域名劫持,将访问网址定位到另外一个服务器;

(5)递归服务器缓存:递归服务器在将解析结果告知客户端的同时,将记录缓存下来,当下次请求同一个域名时,直接会将记录返回,而无需再进行全球查询。

通过这次又仔细的了解了一波dns的原理,希望下次能更精进

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/49827.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jmeter CSV 数据文件设置

创建一个CSV数据文件:使用任何文本编辑器创建一个CSV文件,将测试数据按照逗号分隔的格式写入文件中。例如: room_id,arrival_date,depature_date,bussiness_date,order_status,order_child_room_id,guest_name,room_price 20032,2023-8-9 14:…

C++--动态规划两个数组的dp问题

1.最长公共子序列 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串…

Unity 之NavMeshAgent 组件(导航和路径寻找的组件)

文章目录 **作用**:**属性和方法**:**用途**:**注意事项**: NavMeshAgent 是Unity引擎中用于导航和路径寻找的组件。它可以使游戏对象在场景中自动找到可行走的路径,并在避免障碍物的情况下移动到目标位置。 以下是关于…

在当今信息化社会中的安全大文件传输

随着科技的不断进步,数据已经成为各个领域和行业的宝贵财富。然而,随之而来的数据传输和交换问题也成为一个日益突出的挑战。在这篇文章中,我们将探讨在当今信息化社会中的安全大文件传输的重要性,以及如何应对传统传输方式所面临…

穿起“新架构”的舞鞋,跳一支金融数字化转型的华尔兹

华尔兹,是男女两位舞者,通过形体的控制,舞步技巧的发挥,完美配合呈现而出的一种舞蹈形式。华尔兹舞姿,如行云流水、潇洒自如、飘逸优美,素有“舞中皇后”的美称。 在跳华尔兹的时候,如果舞者双…

SQL 盲注

问题描述&#xff1a; 解决方案&#xff1a; 通过建立过滤器方法 添加拦截器&#xff1a; web.xml 文件配置拦截器 <filter><filter-name>sqlFilter</filter-name><filter-class>com.fh.filter.SqlFilter</filter-class></filter> pack…

Python将网络文件下载到本地

Python将网络文件下载到本地 前言相关介绍Python将网络文件下载到本地 前言 由于本人水平有限&#xff0c;难免出现错漏&#xff0c;敬请批评改正。更多精彩内容&#xff0c;可点击进入Python日常小操作专栏、YOLO系列专栏、自然语言处理专栏或我的个人主页查看基于DETR的人脸伪…

【Git版本控制工具使用---讲解一】

Git版本控制工具使用 安装设置用户名签名和邮箱Git常用的命令 初始化本地库查看本地状态Git 命令添加暂存区提交本地库查看版本信息修改文件版本穿梭 安装 首先根据自身电脑的配置选择性的安装是32位的还是64位的Git版本控制工具 我这边安装的是64位的 以下是我安装的时候的过…

springboot2+redis 订阅发布,解决接收消息累计线程到内存溢出,使用自定义线程池接收消息

pom 添加redis <!-- redis 缓存操作 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency> 发布消息 import lombok.extern.slf4j.Slf4j; import o…

python 连接Redis 数据库

pip install redis python代码 import redis# 连接数据库 r redis.Redis(host192.168.56.15, port6379, db0)# 存储数据 #r.set(key, value) r.set(name, zaraNet)# 获取数据 value r.get(name) print(value)# 关闭连接&#xff08;可选&#xff09; r.close()

C# 工厂模式

一、概述 工厂模式&#xff08;Factory Pattern&#xff09;是一种创建型设计模式&#xff0c;它提供了一种创建对象的最佳方式。在C#中&#xff0c;工厂模式通过定义一个公共接口或抽象类来创建对象&#xff0c;而具体的对象创建则由工厂类来实现。 工厂模式主要包含三个角色…

【C++数据结构】二叉搜索树

【C数据结构】二叉搜索树 目录 【C数据结构】二叉搜索树二叉搜索树概念二叉搜索树操作二叉搜索树的查找二叉搜索树的插入二叉搜索树的删除二叉搜索树的实现二叉搜索树的应用二叉搜索树的性能分析 作者&#xff1a;爱写代码的刚子 时间&#xff1a;2023.8.22 前言&#xff1a;二…

无涯教程-PHP - preg_split()函数

preg_split() - 语法 array preg_split (string pattern, string string [, int limit [, int flags]]); preg_split()函数的操作与split()完全相同&#xff0c;只不过正则表达式被接受为pattern的输入参数。 如果指定了可选的输入参数limit&#xff0c;则仅返回子字符串的限…

WebGL 变量uniform、gl.getUniformLocation、gl.uniform4f及其同族函数相关

目录 uniform变量命名规范 获取 uniform 变量的存储地址 gl.getUniformLocation 向uniform变量赋值 gl.uniform4f ​编辑 gl.uniform4f()的同族函数 demo&#xff1a;点击webgl坐标系的四个象限绘制各自不同颜色的点 uniform变量命名规范 var FSHADER_SOURCE uniform vec4…

小程序-基于vant的Picker组件实现省市区选择

一、原因 因vant/area-data部分的市/区数据跟后台使用的高德/腾讯省市区有所出入&#xff0c;故须保持跟后台用同一份数据&#xff0c;所以考虑以下几个组件 1、Area 2、Cascader 3、Picker 因为使用的是高德地图的省市区json文件&#xff0c;用area的话修改结构代价太大&…

AVL——平衡搜索树

✅<1>主页&#xff1a;我的代码爱吃辣&#x1f4c3;<2>知识讲解&#xff1a;数据结构——AVL树☂️<3>开发环境&#xff1a;Visual Studio 2022&#x1f4ac;<4>前言&#xff1a;AVL树是对二叉搜索树的严格高度控制&#xff0c;所以AVL树的搜索效率很高…

xargs 的用法 在1个文件夹中批量删除文件,这些删除的文件名是另一个文件夹中的文件名。

xargs 的用法 在1个文件夹中批量删除文件&#xff0c;这些删除的文件名是另一个文件夹中的文件名。 1、问题背景 应用场景 1、问题背景 应用场景 在二进制部署docker时&#xff0c;会把docker的所有可执行文件复制到/usr/bin下。 如果说复制过去后&#xff0c;想要反悔&#x…

VB.NET通过VB6 ActiveX DLL调用PowerBasic及FreeBasic动态库

前面说的Delphi通过Activex DLL同时调用PowerBasic和FreeBasic写的DLL&#xff0c;是在WINDOWS基础平台上完成的。 而 .NET平台是架在WINDOWS基础平台之上的&#xff0c;它的上面VB.NET或C#等开发的APP程序&#xff0c;下面写一下用VB.NET&#xff0c;通过VB6注册的Activex DLL…

一文速学-让神经网络不再神秘,一天速学神经网络基础(一)

前言 思索了很久到底要不要出深度学习内容&#xff0c;毕竟在数学建模专栏里边的机器学习内容还有一大半算法没有更新&#xff0c;很多坑都没有填满&#xff0c;而且现在深度学习的文章和学习课程都十分的多&#xff0c;我考虑了很久决定还是得出神经网络系列文章&#xff0c;…