基础知识
我相信有部分同学肯定碰到过这样的情况,那就是QQ明明上的去,而网页打不开,通常这个情况你去搜索解决方法,大家就会告诉你改DNS。
360工具修复dns
还有一些人办理宽带的时候,有些人会提到这个宽带有DNS劫持的情况,不要用这家的宽带,包括买路由器的时候也有人会提到DNS劫持,这里的DNS劫持你知道是什么意思吗?今天这个文章我们就来详细解读一下什么是DNS,DNS劫持是什么。
那么今天我们就来学习DNS,这里我们还得回顾下什么是IP。

ip是什么
"IP" 可以是许多不同上下文中的缩写。在计算机科学和网络领域中,通常 "IP" 是指 "Internet Protocol"(互联网协议)的缩写。
这是一种用于在网络上发送和接收数据的通信协议。互联网协议定义了数据的格式,以及数据在网络中的传输方式。
另外,"IP" 还可以指代 "IP 地址",即用于标识网络上设备的唯一数字标识符。每个连接到网络的设备都被分配一个IP地址,以便在网络上进行通信。
从运维角度去理解ip
如何查看,管理ip地址
192.168.3.33
ip addr show
ifconfig
ip作用,简单了解,更多网络概念,网络书籍,运维角度理解基本网络概念,ip,dns,域名
公网
公网ip地址,快递,收件人地址,互联网中独一无二的地址
北京市朝阳区天通苑于超老师家3号楼404
北京电信宽带,运营商给我一个ip地址,作为访问互联网的主机地址信息
局域网
小范围内的ip地址划分
https://www.sojson.com/convert/subnetmask.html
路由器划分的一个私有地址,只有路由器范围内的设备,才能互相通信
于超老师家,路由器 划分可用网段
192.168.3.33/24
子网掩码是24,换算为十进制就是255.255.255.0
网络地址 192.168.3.0
客户端,设备可用地址是
192.186.3.1 ~ 192.168.3.254
广播地址 192.186.3.255
王哥家的路由器,也可以分配私网地址,
192.168.3.33/24
同上
IP地址的作用包括但不限于以下几个方面:
- 唯一标识网络中的设备: 每个连接到网络的设备都被分配一个唯一的IP地址,使得设备在网络上能够被准确地识别和定位。
- 路由和转发数据包: IP地址允许数据包在网络中被正确地路由和转发,确保数据能够从发送方到达目标设备,即使在复杂的网络结构中也能保持通信的连通性。
- 寻址和定位: IP地址用于寻址和定位网络上的设备和服务。通过IP地址,数据包能够被发送到指定的目标设备或服务,实现网络通信。
- 网络管理和监控: IP地址提供了网络管理和监控的基础。管理员可以通过IP地址追踪设备的活动、监视网络流量和配置网络设备。
- 访问控制: IP地址可用于实现访问控制策略。例如,通过IP地址过滤可以限制特定IP地址的设备访问网络资源或服务。
总之,IP地址是网络通信的基础,它使得设备能够在Internet上相互连接和通信,并且是实现各种网络功能的关键要素。
IP地址
IP地址(Internet Protocol Address)是分配给计算机网络中设备的数字标识符,用于在Internet Protocol(IP)网络中唯一标识和定位设备。它是在TCP/IP协议族中定义的网络层地址。IP地址允许计算机在网络上相互通信,类似于现实生活中的邮政地址,用于确定信息的发送和接收者。
IP地址通常由32位或128位二进制数字表示。IPv4(Internet Protocol version 4)采用32位地址,通常用点分十进制表示,例如:192.0.2.1。而IPv6(Internet Protocol version 6)采用128位地址,通常表示为一系列十六进制数,例如:2001:0db8:85a3:0000:0000:8a2e:0370:7334。
IP地址有两个主要目的:
- 主机标识: IP地址标识了计算机网络中的特定设备或主机。它使数据包能够从发送方正确路由到目标设备。
- 位置定位: IP地址也用于确定设备的位置,虽然在IPv4中这种位置精度有限,但是IPv6有助于提高位置信息的准确性。
IP地址分为公共IP地址和私有IP地址。公共IP地址是互联网上全局唯一的地址,用于直接访问互联网。私有IP地址是在私有网络中使用的地址,通常被路由器分配给局域网中的设备,不直接暴露在互联网上,而是通过网络地址转换(NAT)来实现与互联网的通信。
在网络不发达的时候,电脑数据是独立不共享的,两台机器传输数据可以通过数据线传输。

如果是三台,或者更多的机器,要怎么插网线?

那现在满世界的N台电脑,怎么进行数据交互呢,你怎么看到淘宝网的商品呢。
所有的机器都能够接入互联网,通过互联网互相转发数据。

那这里就要明确,每台机器的地址,否则数据发给别人可咋办,为了准确发送数据,就要给每台电脑添加门牌号与地址信息。
因此IP地址,就是用于标记机器在网络中的地址信息,保证数据不会发错给别的人。
比如向192.168.1.100机器发数据,肯定不会发送到192.168.1.105上
公网ip与局域网ip
IP地址好比寄快递,需要明确省、市、县、小区、门牌号等。
局域网
局域网的ip好比是某一个小区的门牌号,用于某一个群体内部交互数据使用的ip地址,离开这个群体,也就失效了。

公网
- 公网ip,例如,123.206.16.61、123.206.16.62
- 局域网ip,例如192.168.10.11,例如192.168.5.44

- 如果大楼A公司内部员工要发送数据资料,192.168.10.12只需发给192.168.10.11即可
- 如果大楼A公司某一个机器,要给大楼B公司的一个机器发数据,就得

什么是DNS
www.taobao.com
www.yuchaoit.cn
名字----
期望访问域名,能找到目标服务器
http://www.yuchaoit.cn/
yuchaoit.cn
# 电话簿,
# 表弟 152xxxx
# 媳妇 131xxx
# 兄弟 171xxx
root@yu1-ubuntu:~# ping yuchaoit.cn
PING yuchaoit.cn (101.201.33.176) 56(84) bytes of data.
64 bytes from yuchaoit.cn (101.201.33.176): icmp_seq=1 ttl=52 time=24.9 ms
64 bytes from yuchaoit.cn (101.201.33.176): icmp_seq=2 ttl=52 time=24.1 ms
^C
--- yuchaoit.cn ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 24.116/24.524/24.933/0.408 ms
# 没有dns直接让你记住 101.201.33.176 (于超老师 服务器ip)
# 早期没有域名,大家记忆ip太费劲,因此,域名系统出来。
# 为什么高速计算机 yuchaoit.cn 但是计算机自动找到 101.201.33.176
# 你的机器,访问了dns系统(记录对应关系,好比114电话查询系统)
DNS(Domain Name System)是一种用于将域名(例如example.com)映射到与之关联的IP地址的分布式命名系统。
DNS充当了互联网的“电话簿”,它将易于记忆的域名转换为数字格式的IP地址,从而使计算机能够识别和定位目标设备或服务。
DNS的主要功能包括:
- 域名解析: DNS将用户输入的域名翻译成相应的IP地址。当您在浏览器中输入网址时,浏览器会通过DNS解析器查询DNS服务器以获取目标网站的IP地址,然后才能建立连接。
- 逆向解析: DNS也支持逆向解析,即将IP地址解析为对应的域名。这在某些情况下很有用,比如确定特定IP地址背后的域名。
- 负载均衡: DNS可以配置为执行负载均衡,将请求分发到多个服务器上。这有助于提高网站的性能和可用性。
- 缓存: DNS可以在本地缓存查询结果,以减少对远程DNS服务器的请求次数,加快域名解析速度,并减轻DNS服务器的负载。
- 分级命名空间: DNS支持层级命名空间,使得域名可以被组织成一个分层结构。这种结构方便管理和维护大量的域名。
DNS采用分布式架构,由许多DNS服务器组成,彼此相互连接并共享信息。当客户端发起域名查询时,DNS解析器会向其所在网络中的本地DNS服务器发送查询请求,如果本地DNS服务器无法解析,则会依次向更高层级的DNS服务器发送查询,直至找到域名对应的IP地址。DNS的分布式设计使得互联网上的域名解析能够高效地进行,并且具有一定的容错性。
dns作用
DNS(Domain Name System)的作用主要包括以下几个方面:
- 域名解析: DNS的最基本作用是将易于记忆的域名(如example.com)解析为相应的IP地址(如192.0.2.1),以便计算机能够识别和定位目标设备或服务。
- 网站访问: DNS允许用户通过输入域名来访问网站,而不需要记住复杂的IP地址。当用户在浏览器中输入域名时,浏览器会自动向DNS服务器发送查询,以获取相应的IP地址,并建立与目标网站的连接。
- 电子邮件传递: DNS也用于将电子邮件地址中的域名解析为邮件服务器的IP地址。这样,电子邮件系统就能够将邮件正确地发送到目标邮件服务器。
- 网络应用和服务访问: 许多网络应用和服务,如在线游戏、视频流媒体和社交媒体平台,都依赖于DNS来解析域名并建立连接。
- 负载均衡和容错: DNS可以配置为执行负载均衡,将用户请求分发到多个服务器上,以提高网站的性能和可用性。它还可以实现容错机制,当某个服务器不可用时,自动将请求重定向到其他可用的服务器。
- 安全性和访问控制: DNS也可以用于实现安全性和访问控制。例如,通过DNS黑名单可以屏蔽恶意网站,而DNS白名单则可以限制特定域名的访问。
总之,DNS在互联网中起着至关重要的作用,它是实现域名解析、网站访问和网络通信的关键技术之一。
浏览网页原理
大家日常上网的时候,打开的网页本质上就是你从对方服务器上获取的文件,比如说你现在正在看的这篇文章,就存储在在一台服务器上,你通过浏览器,获取到了这些数据,再把他们显示到屏幕上。
浏览网页的本质,就是下载文件,并将下载下来的网页文件变成你所能看到的图像。网页文件一般是.html结尾的,不相信的话你可以用电脑浏览器,随便打开一个网址,右键空白处,网页另存为,然后你就会发现你存储下来了一个.html结尾的网页文件,这时候你就算断网,双击这个网页文件你依旧可以用浏览器浏览,因为这个html文件被你保存到电脑上了。
所以浏览网页的原理就是,在互联网上找到了对方的电脑,然后从对方的电脑里拷贝出来html网页文件到你的电脑上,并将其转化成了文字和图片显示到显示器或手机上。

网页浏览的基本原理涉及多个步骤和多个组件,以下是一个简要的描述:
输入URL: 用户在浏览器地址栏中输入网页的URL(统一资源定位符)。
nginxhttp://sre.yuchaoit.cn:80/2024-linux/4.jpeg
域名解析: 浏览器通过DNS(Domain Name System)将输入的域名解析为对应的IP地址。DNS查询可由浏览器本身或操作系统执行。
- ```
- linux服务器,win mac自己查询 root@yu1-ubuntu:~# ping sre.yuchaoit.cn PING sre.yuchaoit.cn (101.201.33.176) 56(84) bytes of data. 64 bytes from www.yuchaoit.cn (101.201.33.176): icmp_seq=1 ttl=52 time=23.4 ms
- ```
2.找找linux机器,怎么通过dns系统,查询到ip地址
# 此文件中填入 dns服务器的地址,我们就可以把域名查询的请求发给这个地址,自动解析,查询,找到域名对应的ip,找不到就是不存在。
root@yu1-ubuntu:~# cat /etc/resolv.conf
nameserver 114.114.114.114
nameserver 119.29.29.29
3.域名查询命令 nslookup. nameserver look up
root@yu1-ubuntu:~# nslookup yuchaoit.cn
Server: 114.114.114.114
Address: 114.114.114.114#53
# 正确域名解析情况
Non-authoritative answer:
Name: yuchaoit.cn
Address: 101.201.33.176
root@yu1-ubuntu:~#
# 找不到的情况,域名输入错误,根本没注册到互联网里,域名备案
root@yu1-ubuntu:~# nslookup yuchaoit.cnnnnnn
Server: 114.114.114.114
Address: 114.114.114.114#53
** server can't find yuchaoit.cnnnnnn: NXDOMAIN
# dns服务器出问题
root@yu1-ubuntu:~# tail -2 /etc/resolv.conf
#nameserver 114.114.114.114
#nameserver 119.29.29.29
root@yu1-ubuntu:~#
# 机器,已经无法进行域名解析查找,客户端指定的dns服务器出问题了
root@yu1-ubuntu:~# ping yuchaoit.cn
ping: yuchaoit.cn: Temporary failure in name resolution
root@yu1-ubuntu:~# ping 49.232.220.205
PING 49.232.220.205 (49.232.220.205) 56(84) bytes of data.
64 bytes from 49.232.220.205: icmp_seq=1 ttl=53 time=26.3 ms
64 bytes from 49.232.220.205: icmp_seq=2 ttl=53 time=25.7 ms
root@yu1-ubuntu:~# tail -1 /etc/resolv.conf
nameserver 119.29.29.29
root@yu1-ubuntu:~#
root@yu1-ubuntu:~#
root@yu1-ubuntu:~# nslookup yuchaoit.cn
Server: 119.29.29.29
Address: 119.29.29.29#53
Non-authoritative answer:
Name: yuchaoit.cn
Address: 101.201.33.176
root@yu1-ubuntu:~#
```
- 建立连接: 浏览器使用HTTP(Hypertext Transfer Protocol)或HTTPS(HTTP Secure)与服务器建立TCP(Transmission Control Protocol)连接。在建立连接之前,还可能涉及到TLS/SSL握手,确保安全通信。
``` netstat ss 查看机器 网络套接字链接情况 ssh
root@yu1-ubuntu:~# netstat -tan |grep 22 tcp 0 0 0.0.0.0:22 0.0.0.0: LISTEN
tcp 0 0 192.168.3.33:22 192.168.3.7:54165 ESTABLISHED tcp6 0 0 :::22 ::: LISTEN
tcp6 0 0 :::42281 :::* LISTEN
root@yu1-ubuntu:~#
```
- 发送请求: 浏览器向服务器发送HTTP请求,请求特定网页的内容。请求中可能包含各种信息,如请求的资源(网页文件、图像、CSS样式表、JavaScript代码等)以及其他的HTTP头部信息。
root@yu1-ubuntu:~# curl https://docs.dnspod.cn/ -I HTTP/1.1 200 OK Content-Type: text/html; charset=utf-8 X-Powered-By: Express Set-Cookie: language=zh; Domain=dnspod.cn; Path=/; Expires=Thu, 01 Apr 2038 06:52:03 GMT; HttpOnly ETag: W/"6862-KXpklKY6NKVsO1z48aNAn11tPNY" Vary: Accept-Encoding Server: TencentEdgeOne Cache-Control: public, max-age=0 Content-Length: 26722 Accept-Ranges: bytes Connection: keep-alive Date: Fri, 12 Apr 2024 09:55:25 GMT EO-LOG-UUID: 12555997786312989996 EO-Cache-Status: MISS
服务器处理请求: 服务器收到浏览器发送的请求后,会根据请求的内容和服务器上的配置进行处理。这可能涉及到从服务器上的文件系统中读取网页文件、执行服务器端脚本、查询数据库等操作。
发送响应: 服务器将处理结果打包成HTTP响应,并发送回浏览器。
view-source:http://www.yuchaoit.cn/
接收响应: 浏览器接收服务器发送的HTTP响应,并根据响应的内容开始渲染网页。
- 渲染网页: 浏览器解析HTML(Hypertext Markup Language)文档,构建文档对象模型(DOM),解析CSS(Cascading Style Sheets)样式表,执行JavaScript代码,然后将这些内容结合起来进行页面布局和渲染,最终在用户界面中显示出完整的网页。
- 用户交互: 用户可以与网页进行交互,如点击链接、填写表单、滚动页面等。这些交互会触发浏览器执行相应的操作,可能包括发送新的HTTP请求、修改页面内容或执行JavaScript代码等。
- 页面加载完成: 当网页中的所有资源都被加载完成并且页面渲染完成后,浏览器会触发页面加载完成事件,用户可以开始浏览和操作页面。
这只是网页浏览过程的一个简单描述,实际上还涉及到许多细节和优化措施,如缓存机制、HTTP/2、WebAssembly等技术,以提高页面加载速度和用户体验。
前端
后端
数据库
服务器
域名与IP的关系
既然你要浏览网页需要在整个互联网上找到对方的电脑,那你就需要输入对方的IP才可以访问
比如大家可以在浏览器里输入这个IP地址123.206.16.61你们可以看看打开的是不是超哥的网站。
是不是很有意思,你靠着IP地址可以访问网站。
你也可以输入https://yuchaoit.cn/也可以访问到超哥的网站,这是什么原理呢?
域名与IP地址之间存在着映射关系。域名是人类容易理解和记忆的网站地址,而IP地址是计算机在网络中的唯一标识符。当您在浏览器中输入一个域名时,浏览器需要将该域名解析成相应的IP地址,以便能够建立与目标网站服务器的连接,这就是域名与IP地址之间的关系。
具体来说,域名与IP地址之间的映射关系是通过DNS(Domain Name System,域名系统)来实现的。DNS是一个分布式的命名系统,它将域名映射到相应的IP地址。当您输入一个域名时,您的计算机首先会向本地DNS服务器发送查询请求,本地DNS服务器会根据自身的缓存记录或向其他上级DNS服务器发送请求,以获取该域名对应的IP地址。
一旦本地DNS服务器获取到了域名对应的IP地址,它就会将这个IP地址返回给您的计算机。随后,您的计算机就可以使用这个IP地址与目标网站服务器建立连接,获取网页内容并在浏览器中显示出来。
因此,域名与IP地址之间的关系是通过DNS来建立和维护的,DNS扮演着将人类可读的域名转换成计算机可识别的IP地址的重要角色。
域名怎么和IP对应的
域名与IP地址之间的对应是通过DNS(Domain Name System,域名系统)来实现的。DNS是一种分布式的命名系统,它允许将域名解析为相应的IP地址,以便计算机能够在互联网上定位和访问特定的服务器或服务。
当您在浏览器中输入一个域名时,例如 "www.example.com",浏览器会向本地计算机的DNS解析器发出查询请求。如果本地解析器已经缓存了该域名的解析结果,则会直接返回对应的IP地址;否则,它会向递归DNS服务器发送查询请求。
递归DNS服务器会根据自身的缓存和配置,尝试从根域名服务器开始逐级查询,直到找到负责管理该域名的权威DNS服务器。权威DNS服务器会返回该域名对应的IP地址给递归DNS服务器,然后递归DNS服务器将结果返回给本地解析器,最终返回给浏览器。
在这个过程中,DNS系统实际上是通过一系列的查询和响应来建立域名与IP地址之间的对应关系。这种对应关系也可以被称为域名解析,它使得我们可以使用易记的域名来访问互联网上的各种服务和资源,而不必直接记忆复杂的IP地址。
hosts文件是什么
hosts文件是计算机操作系统中的一个文本文件,用于将主机名与其对应的IP地址进行关联。它在计算机上执行域名解析时起着重要作用。当计算机尝试访问网络上的资源时,它首先检查hosts文件以查找与所需域名相关联的IP地址,如果找到了匹配项,则会直接使用该IP地址进行连接,而不会向DNS服务器发送查询请求。
hosts文件通常位于操作系统的系统目录中(在Windows系统中是C:\Windows\System32\drivers\etc\hosts,在Linux和Unix系统中是/etc/hosts)。这个文件可以被文本编辑器打开并进行编辑,允许用户手动添加或修改域名与IP地址的映射关系。
hosts文件的典型用途包括:
- 本地域名解析: 可以将特定域名映射到本地主机的IP地址,用于测试、开发或阻止特定网站访问等目的。
- 屏蔽广告和恶意网站: 可以将广告服务器或已知的恶意网站的域名映射到本地主机的无效IP地址,以阻止其加载或访问。
- 局域网内部网络解析: 在局域网内部,可以使用hosts文件为局域网内的主机分配静态IP地址,以便局域网内的计算机能够直接访问特定主机或服务。
需要注意的是,对hosts文件的修改可能需要管理员权限(特别是在Windows系统中),并且在某些情况下修改hosts文件可能会影响到计算机的正常功能。因此,在修改hosts文件之前应该谨慎对待,并了解其潜在影响。
这个东西就是hosts文件,hosts文件就在你的C:\windows\system32\drivers\etc文件夹下,linux就是/etc/hosts。
他相当于电脑的电话本,他记录着每一个域名对应的IP地址,当你输入域名而不是IP的时候,他就会在这个电话本里找到对应的域名,然后把他转化成IP地址。

什么时候用到hosts
hosts文件通常在以下几种情况下被用到:
- 本地开发和测试: 在本地开发或测试网站时,可以通过修改hosts文件来模拟特定域名与本地主机的IP地址之间的映射关系。这样可以避免访问线上服务器,加快开发和调试的速度。
- 阻止访问特定网站: 可以通过将特定域名映射到无效的IP地址来阻止访问某些网站或广告服务器。这种方法对于屏蔽广告或防止访问恶意网站非常有效。
- 加速访问常用网站: 可以将经常访问的网站域名映射到靠近自己地理位置的服务器IP地址,从而加速访问速度。
- 内部网络解析: 在局域网内部,可以使用hosts文件为内部主机分配静态IP地址,以便局域网内的计算机能够直接访问特定主机或服务,而不必通过DNS服务器。
- 临时解决DNS问题: 有时候DNS服务器可能出现问题或无法解析特定域名,这时可以通过修改hosts文件手动指定域名与IP地址的映射关系,临时解决访问问题。
总的来说,hosts文件是一个方便且灵活的工具,可以用于在本地计算机上管理域名解析和控制网络访问。然而,在使用hosts文件时需要谨慎,确保不会对计算机的正常功能造成影响。
公共dns服务器是什么
但是这样也有问题,那就是Hosts文件是有限的,就和你不可能拥有这个世界上所有人的电话号码一样。
既然我们自己不可能拥有全世界所有人的电话号码,但是我们可以将收集电话号码这个任务交给一个专门来干这个活的人,然后大家想要问电话的时候去他那查一下就可以了。
这就是DNS服务器,DNS服务器有着相当全的域名和IP,当你输入一串网站的时候,这串网站并不会直接访问,而是先将这个网站发送给DNS服务器,DNS服务器帮你把这串网站变成了IP地址,然后返回给你的电脑,你再访问这个IP地址,这样就解决了IP难记,而域名不能直接访问的问题了。

公共DNS服务器是由互联网服务提供商或其他组织提供的,可供公众免费使用的DNS服务器。它们用于解析互联网上的域名,并将域名转换为与之关联的IP地址,从而允许用户访问网站和其他网络资源。
公共DNS服务器的作用包括但不限于以下几个方面:
- 域名解析: 公共DNS服务器用于将用户输入的域名解析为相应的IP地址,以便计算机能够正确定位和访问目标网站或服务。
- 加速域名解析: 一些公共DNS服务器可能使用高效的DNS解析算法和优化的网络架构,以加快域名解析的速度,从而提高用户访问互联网的体验。
- 安全过滤: 一些公共DNS服务器提供安全过滤功能,可以阻止用户访问已知的恶意网站或不安全的网站,从而提高网络安全性。
- 绕过地理限制: 一些公共DNS服务器可能允许用户绕过地理限制,访问被封锁或受限制的网站或服务,从而提供更自由的互联网访问体验。
一些知名的公共DNS服务器包括:
- Google Public DNS:由谷歌提供的公共DNS服务器,其IP地址为8.8.8.8和8.8.4.4。
- OpenDNS:由Cisco旗下的OpenDNS公司提供的公共DNS服务器,提供了一系列的安全和家长控制功能。
- Cloudflare DNS:由Cloudflare提供的公共DNS服务器,旨在提供更快速、更安全的域名解析服务。
公共DNS服务器通常是免费提供的,任何人都可以在其计算机或路由器上配置使用。它们为用户提供了一个选择,使得用户可以根据自己的需求和偏好选择合适的DNS服务器。
怎么理解dns服务器
DNS服务器(Domain Name System Server)是一种提供域名解析服务的网络服务器。它的主要功能是将人类易于记忆的域名(如example.com)解析成与之对应的IP地址(如192.0.2.1),以便计算机能够在互联网上定位和访问特定的服务器或服务。
要理解DNS服务器,可以从以下几个方面来考虑:
- 域名解析功能: DNS服务器的核心功能是域名解析。它接收来自客户端的域名查询请求,并根据域名的层次结构(例如顶级域名、二级域名等)进行递归查询,最终将域名解析为相应的IP地址。
- 分布式架构: DNS系统是一个分布式的系统,由许多DNS服务器组成,彼此相互连接并共享信息。这种分布式架构使得DNS系统更加稳健和可靠,即使某些DNS服务器出现故障,整个系统仍然能够正常运行。
- 缓存功能: DNS服务器通常具有缓存功能,可以暂存先前解析过的域名与IP地址的映射关系。这样可以加快域名解析速度,并减轻DNS服务器的负载。
- 权威性和递归性: DNS服务器根据其在域名解析过程中的角色可以分为权威DNS服务器和递归DNS服务器。权威DNS服务器负责管理特定域名的解析信息,而递归DNS服务器则负责向客户端提供域名解析服务,它会向其他DNS服务器发送查询请求,直到找到所需的解析信息。
- 安全性和性能优化: 一些高级DNS服务器可能具有安全性和性能优化功能,如防止DNS劫持、抵御DDoS攻击、加速域名解析等。
综上所述,DNS服务器是互联网中不可或缺的基础设施之一,它扮演着将人类可读的域名转换成计算机可识别的IP地址的重要角色,为用户提供了可靠、高效的域名解析服务。
怎么使用dns服务器
使用DNS服务器通常是由您的计算机或路由器自动完成的,但也可以手动配置。以下是一些常见的方式来使用DNS服务器:
- 自动配置: 大多数计算机和路由器都会自动配置DNS服务器,以便在您访问网站时解析域名。这通常由您的Internet服务提供商(ISP)或网络管理员在网络设置中完成。
- 手动配置: 您可以手动配置计算机或路由器上的DNS服务器,以选择您希望使用的特定DNS服务器。在Windows、macOS、Linux等操作系统中,您可以在网络设置中手动添加DNS服务器的IP地址。同样,在路由器的设置界面中也可以找到DNS服务器的配置选项。
- 更改操作系统的默认DNS服务器: 如果您希望更改您计算机上所有网络连接的默认DNS服务器,可以在操作系统的网络设置中更改首选DNS服务器的地址。
- 使用第三方DNS服务提供商: 您可以选择使用第三方提供的公共DNS服务器,例如Google Public DNS、OpenDNS或Cloudflare DNS。这些公共DNS服务器通常提供更快速、更安全的域名解析服务。
- 移动设备上的配置: 对于智能手机和平板电脑等移动设备,您通常可以在网络设置中找到DNS服务器的配置选项,允许您手动配置或选择使用默认的DNS服务器。
无论您是在家庭网络还是企业网络中,了解如何使用DNS服务器都是很重要的。正确配置DNS服务器可以帮助提高网络性能、安全性和可靠性,从而提供更好的互联网体验。
dns客户端
DNS客户端是指需要进行域名解析的计算机或设备。当您在计算机或设备上访问一个网站或服务时,该设备就会充当DNS客户端,向DNS服务器发送查询请求,以获取目标域名对应的IP地址。
DNS客户端的工作流程通常如下:
- 查询发起: 当您在浏览器中输入一个域名时(例如www.example.com),您的计算机或设备会发起一个DNS查询请求,以获取该域名对应的IP地址。
- 本地解析器: 查询请求首先发送到本地网络连接上的DNS解析器(也称为本地DNS缓存),它通常由您的Internet服务提供商(ISP)或局域网中的路由器提供。如果本地解析器已经缓存了该域名的解析结果,则会直接返回给DNS客户端;否则,它会向上级DNS服务器发送查询请求。
- 递归查询: 如果本地解析器无法解析域名,它会向递归DNS服务器发送查询请求。递归DNS服务器负责从根域名服务器开始逐级查询,直到找到负责管理目标域名的权威DNS服务器。
- 权威查询: 一旦递归DNS服务器找到了目标域名的权威DNS服务器,它会向权威DNS服务器发送查询请求,获取该域名对应的IP地址。
- 返回结果: 权威DNS服务器返回域名对应的IP地址给递归DNS服务器,递归DNS服务器再将结果返回给本地解析器,最终返回给DNS客户端。
- 建立连接: 一旦DNS客户端获取到了目标域名的IP地址,它就可以使用该IP地址与目标服务器建立连接,从而访问网站或服务。
DNS客户端在互联网通信中扮演着重要角色,它负责将人类可读的域名转换成计算机可识别的IP地址,从而实现互联网资源的访问和通信。
dns结构

DNS(Domain Name System,域名系统)是互联网中的一种分布式数据库系统,用于将域名(例如example.com)映射到与之关联的IP地址(例如192.0.2.1),以便计算机能够在网络上定位和访问特定的服务器或服务。DNS的结构可以分为以下几个层次:
- 根域(Root Domain):
- 根域是DNS的顶层,它位于DNS层次结构的最顶部。
- 根域由13个根域服务器组成,分布在全球各地,并负责管理顶级域名服务器的地址。
- 根域的域名表示为一个单个句点(.)。
- 顶级域名(Top-Level Domain,TLD):
- 顶级域名是紧接在根域下的一级域名,例如.com、.net、.org等。
- 顶级域名可以是通用顶级域名(gTLDs)或国家代码顶级域名(ccTLDs),用于表示不同类型的组织或地理位置。
- 二级域名(Second-Level Domain):
- 二级域名位于顶级域名之下,通常用于表示特定的组织、公司或服务。
- 例如,在域名example.com中,"example"就是二级域名。
- 子域名(Subdomain):
- 子域名是在二级域名之下创建的更具体的子区域。
- 例如,在域名blog.example.com中,"blog"就是一个子域名。
- 主机名(Hostname):
- 主机名是一个特定设备或服务的名称,位于子域名或二级域名之后。
- 例如,在完整的域名www.example.com中,"www"就是主机名。
整个DNS层次结构是一个树状结构,从根域开始逐级向下分支,形成了一个层级化的命名系统。每个域名可以有一个或多个记录(例如A记录、CNAME记录等),这些记录存储了域名与IP地址之间的映射关系或其他相关信息。
通过这种层次结构,DNS系统能够高效地进行域名解析,并为互联网上的各种服务和资源提供准确的访问路径。
域名理解
- 顶级域名示例:
- .com
- .net
- .org
- 一级域名示例:
- example.com
- google.com
- amazon.com
- 二级域名示例:
- mail.example.com
- maps.google.com
- books.amazon.com
- 三级域名示例:
- www.mail.example.com
- images.maps.google.com
- deals.books.amazon.com
这些示例演示了域名的层次结构。顶级域名是最高级别的域名,一级域名是直接位于顶级域名下的域名,二级域名是位于一级域名下的域名,依此类推。在实际使用中,域名可以有多个子域名,形成更复杂的层次结构。
图解dns解析

如何购买域名
收费、新网https://www.xinnet.com/、万网https://www.hichina.com/
购买域名通常可以通过以下步骤完成:
- 选择域名注册商: 首先,您需要选择一个可信赖的域名注册商,注册商是提供域名注册服务的公司。一些知名的域名注册商包括GoDaddy、Namecheap、Google Domains等。
- 搜索域名可用性: 在注册商的网站上,使用域名搜索工具来检查您感兴趣的域名是否可用。输入您想要购买的域名,并查看搜索结果,如果域名已被注册,您可能需要尝试其他域名或变体。
- 选择域名和注册选项: 一旦确认了要购买的域名可用,您可以选择注册期限(通常以年为单位)、隐私保护选项等。隐私保护选项可以保护您的个人信息不被公开在WHOIS数据库中。
- 添加到购物车并结账: 将所选的域名添加到购物车中,并按照注册商网站上的指引完成结账流程。您可能需要提供一些个人信息,如姓名、地址、电子邮件地址等。
- 完成支付: 选择合适的支付方式,并完成支付流程。常见的支付方式包括信用卡、借记卡、PayPal等。
- 设置DNS信息(可选): 一旦购买完成,您可以在注册商的控制面板中设置域名的DNS(域名系统)信息,以将域名指向您的主机或网站。
- 确认注册信息: 在购买域名时,请务必确认注册信息的准确性,特别是联系信息和电子邮件地址,以确保您能够及时接收到与域名相关的通知。
完成以上步骤后,您就成功购买了域名。通常,域名注册商会向您发送确认电子邮件,确认您的购买信息并提供域名的相关详细信息。
轻量级dns服务器
dnsmasq 是一个轻量级的 DNS 服务器和 DHCP 服务器软件,设计简单、易于配置,并且非常适合用于家庭网络或小型网络环境中。下面是对 dnsmasq 的详细解释:
1. DNS 功能:
- 域名解析:dnsmasq 可以将域名解析为 IP 地址。它可以通过本地配置文件或者其他上游 DNS 服务器来提供域名解析服务。
- 本地解析:dnsmasq 可以管理局域网内部的域名解析,这样可以避免每次域名解析请求都要向公共 DNS 服务器发起请求,提高解析速度并减轻网络负载。
- 域名缓存:dnsmasq 可以缓存域名解析结果,这样对于重复的域名解析请求,可以直接从缓存中获取结果,提高响应速度。
2. DHCP 功能:
- IP 地址分配:dnsmasq 可以充当 DHCP 服务器,为局域网内的设备分配 IP 地址、子网掩码、网关等网络配置信息。
- 动态分配:dnsmasq 可以根据配置为新加入网络的设备动态分配 IP 地址,并且可以配置 IP 地址的范围和租约时间等选项。
3. 安全性:
- 黑白名单:dnsmasq 支持设置域名和 IP 地址的黑白名单,以过滤恶意网站或者限制特定网站的访问。
4. 简单易用:
- 简单配置:dnsmasq 的配置文件相对简单,易于理解和管理。
- 灵活性:dnsmasq 提供了丰富的配置选项,可以根据实际需求进行灵活配置。
5. 高性能:
- 轻量级:由于 dnsmasq 是一个轻量级的软件,它的内存和 CPU 占用都很低,适合在资源有限的设备上运行。
- 快速响应:通过本地缓存和快速解析,dnsmasq 可以提供快速响应的 DNS 解析服务。
6. 可靠性:
- 稳定性:dnsmasq 是一个成熟稳定的软件,已经被广泛应用于各种网络环境中。
- 持续更新:dnsmasq 由于是开源软件,拥有活跃的开发者社区,持续更新和维护。
总的来说,dnsmasq 是一个功能强大、易于配置和使用的轻量级 DNS 和 DHCP 服务器软件,适用于家庭网络、小型企业网络以及嵌入式系统等环境。
安装
安装 dnsmasq:
在 Ubuntu 上,可以使用以下命令安装 dnsmasq:
sudo apt update sudo apt install dnsmasq -y配置 dnsmasq:
dnsmasq 的主要配置文件为
/etc/dnsmasq.conf。你可以根据需要进行编辑,但是通常情况下,使用默认配置即可。你可以添加自定义的域名解析配置到
/etc/dnsmasq.d/目录下的单独文件中,以便更好地管理配置。例如:sudo nano /etc/dnsmasq.d/my_custom_config.conf在该文件中添加你的自定义配置,例如:
address=/yuchaoit.cc/192.168.1.10这个配置将所有来自
example.com域名的请求都解析到192.168.1.10这个 IP 地址。启动 dnsmasq 服务:
完成配置后,启动 dnsmasq 服务:
```
sudo systemctl start dnsmasq
root@yu:~# ss -tunlp|grep 53 udp UNCONN 0 0 0.0.0.0:53 0.0.0.0: users:(("dnsmasq",pid=3414,fd=4))
udp UNCONN 0 0 [::]:53 [::]: users:(("dnsmasq",pid=3414,fd=6))
tcp LISTEN 0 32 0.0.0.0:53 0.0.0.0: users:(("dnsmasq",pid=3414,fd=5))
tcp LISTEN 0 32 [::]:53 [::]: users:(("dnsmasq",pid=3414,fd=7))
root@yu:~#
root@yu:~# tail -1 /etc/resolv.conf nameserver 192.168.234.129 root@yu:~#
你也可以设置 dnsmasq 为开机启动:
sudo systemctl enable dnsmasq
4. **验证配置**:
你可以在客户端设备上测试 DNS 解析是否正常工作,例如使用 `nslookup` 或者 `dig` 命令:
root@yu:~# nslookup yuchaoit.cc Server: 192.168.234.129 Address: 192.168.234.129#53
Name: yuchaoit.cc Address: 192.168.1.10 ** server can't find yuchaoit.cc: REFUSED
root@yu:~#
```
确保返回的 IP 地址与你配置的一致。
其他配置选项:
- DHCP 功能:dnsmasq 也可以作为 DHCP 服务器使用,如果需要,你可以在
/etc/dnsmasq.conf中配置 DHCP 选项,以为网络设备提供 IP 地址分配功能。 - 缓存设置:你可以配置 dnsmasq 作为本地 DNS 缓存服务器,以提高域名解析的速度和效率。
- DHCP 功能:dnsmasq 也可以作为 DHCP 服务器使用,如果需要,你可以在
请记住,这里提供的是基本的配置,你可以根据具体的需求进行更深入的配置,例如添加其他解析规则、设置缓存大小等。确保在每次修改配置后重新加载 dnsmasq 服务以使更改生效。