关于路由器和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的原理,希望下次能更精进
相关文章:
关于路由器和DNS解析的一些新理解
其实我本人对于交换机和路由器这些网络硬件是比较感兴趣的,也在一点一点的学习相关知识,每次解决一个问题,就让我对一些事情有新的思考。。 今天前台同事,的机器突然上不了网,,和领导一起去看了一波&#…...
vscode 与 C++
序 具体流程的话,官方文档里都有的:C programming with Visual Studio Code 浏览器下载一个mingw64,解压,配置环境变量vscode里安装c相关的插件没了 第一步只看文字,可能有点抽象,相关视频: …...
水果flstudio好用吗?中文版FL21最新版本如何下载
FL Studio21版是一款功能强大的音乐制作软件,广泛应用于电子音乐、流行音乐、电影配乐等领域。它提供了丰富多样的音频合成和编辑工具,使音乐制作变得更加灵活多样。无论是初学者还是专业音乐制作人,都可以通过直观的界面和丰富的音频特效来实…...
PHP is_array()函数详解,PHP判断是否为数组
「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 is_array 一、基本使用二、空数组三、同时判断多个…...
面试题-React(三):什么是JSX?它与常规JavaScript有什么不同?
在React的世界中,JSX是一项引人注目的技术,它允许开发者在JavaScript中嵌套类似HTML的标签,用于描述UI组件的结构。本篇博客将通过丰富的代码示例,深入探索JSX语法,解析其在React中的用法和优势。 一、JSX基础语法 在…...
纯前端实现图片上传七牛云
首先安装下依赖: npm install qiniu-js crypto-js 然后封装一下 uploaderHelper.ts import * as qiniu from qiniu-js; // ts-ignore import CryptoJS from crypto-js// 请求接口上传图片 export function uploadFile(file: File) {const uptoken getToken(你的…...
win10+wsl2+Ubuntu20.2+Pycharm+WSL解释器
目的:创建一个ubuntu系统下的python解释器,作为win平台下的pycharm的解释器。 这样做的好处是可以直接在win系统里操作文件,相比于linux方便一点,而且也不用对wsl的子系统进行迁移。 一、安装前准备 1. 设置-Windows更新-window…...
EL与JSTL
目录 EL EL语法 EL运算符 JSTL JSTL标签分类 JSP脚本:代码结构混乱、脚本与HTML 混合易出错、代码不易维护。 EL表达式:优化程序代码,增加程序可读性。 EL EL语法 EL表达式 ${ EL 表达式 } EL操作符 操作符“ . ” 获取对象的属性&a…...
【Linux】动态库和静态库
动态库和静态库 软链接硬链接硬链接要注意 自定义实现一个静态库(.a)解决、使用方法静态库的内部加载过程 自定义实现一个动态库(.so)动态库加载过程 静态库和动态库的特点 软链接 命令:ln -s 源文件名 目标文件名 软链接是独立连接文件的,他…...
R语言:联合多指标的ROC曲线
# 加载数据和包rm(list=ls())library(pROC)library(ggplot2)setwd("C:/Users/syy/Desktop/MRI_lab/")data<- read.csv("test1.csv", header = T)data$Groups...
将一个树形结构的数据平铺成一个一维数组(vue3)
一、需求描述 由于自带组件库没有具体完善,无法实现像element-ui这种可以多选选择任意一级的选项,也就是说,选择父级的时候不会联动选择子级的全部 例如: 所以,才会出现【二、案例场景】类似的场景,可以用来多选 ,并可以实现单选父级而不关联子级,选择了将树状数据进…...
OSCS开源安全周报第 56 期:Apache Airflow Spark Provider 任意文件读取漏洞
本周安全态势综述 OSCS 社区共收录安全漏洞 3 个,公开漏洞值得关注的是 Apache NiFi 连接 URL 验证绕过漏洞(CVE-2023-40037)、PowerJob 未授权访问漏洞(CVE-2023-36106)、Apache Airflow Spark Provider 任意文件读取漏洞(CVE-2023-40272)。 针对 NPM 、PyPI 仓库…...
CleanMyMac2024永久版Mac清理工具
Mac电脑作为相对封闭的一个系统,它会中毒吗?如果有一天Mac电脑产生了疑似中毒或者遭到恶意不知名攻击的现象,那又应该如何从容应对呢?这些问题都是小编使用Mac系统一段时间后产生的疑惑,通过一番搜索研究,小…...
软考高级系统架构设计师(一)计算机硬件
【原文链接】软考高级系统架构设计师(一)计算机硬件 1.1 计算机硬件组成 1.1.1 计算机的基本硬件组成 运算器控制器存储器输入设备输出设备 1.1.2 中央处理单元(CPU) 中央处理单元(CPU)的组成 运算器…...
bat文件中自定义cmd命令;执行完退出命令提示符窗口
1. bat中启动cmd命令 start cmd /k " cmd中命令行里自定义的命令 " 2.编写规则 start cmd /k "命令1 & 命令2 & 命令3" (无论前面命令是否成功, 后面都会执行start cmd /k "命令1 && 命令2 && 命令3 " (仅…...
深度学习的经典算法的论文、解读和代码实现
文章目录 CNN网络的经典算法LeNet-5AlexNetVGGInceptionInception-v1(GoogLeNet)BN-Inception ResNetR-CNNR-CNNFast R-CNNFaster R-CNN YOLOYOLO v1YOLO v2YOLO v3YOLO v4 RNN的经典算法RNNGRULSTMEncoder-DecoderAttentionTransformer CNN网络的经典算法 LeNet-5 来源论文&…...
开源TTS+gtx1080+cuda11.7+conda+python3.9吊打百度TTS
一、简介 开源项目,文本提示的生成音频模型 https://github.com/suno-ai/bark Bark是由Suno创建的基于变换器的文本到音频模型。Bark可以生成极为逼真的多语种演讲以及其他音频 - 包括音乐、背景噪音和简单的声音效果。该模型还可以产生非言语沟通,如…...
【私有GPT】CHATGLM-6B部署教程
【私有GPT】CHATGLM-6B部署教程 CHATGLM-6B是什么? ChatGLM-6B是清华大学知识工程和数据挖掘小组(Knowledge Engineering Group (KEG) & Data Mining at Tsinghua University)发布的一个开源的对话机器人。根据官方介绍,这是…...
基于“R语言+遥感“水环境综合评价方法教程
详情点击链接:基于"R语言遥感"水环境综合评价方法教程 一:R语言 1.1 R语言特点(R语言) 1.2 安装R(R语言) 1.3 安装RStudio(R语言) (1)下载地址…...
To_Heart—题解——P6234 [eJOI2019] T形覆盖
link. 突然很想写这篇题解。虽然题目不算难。 考场只有30分是为什么呢?看来是我没有完全理解这道题目吧! 首先很明显的转换是,把 T 型覆盖看成十字形,再考虑最后减去某一块的贡献。 然后然后直接往原图上面放十字形!对于每一个…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
