摘要:不管你的域名怎么解析,最终我还是会用IP和别人交流。域名只是你的皮囊,IP才是你的灵魂。
本文分享自华为云社区《跟唐老师学云网》–DNS电话簿-云社区-华为云,作者tsjsdbd。
因为TCP/IP网络协议在通信中,双方都使用IP地址。所以整个消息里没有DNS什么的来回。只要两个IP都知道,系统中有没有DNS就无所谓了。
DNS最大的作用就是把“名称”= =翻译成= =“IP地址”。
***通讯录
DNS相当于一个大版本的“通讯录”。就像用定位器打电话,最后一定要拨出定位器号码。
而你找联系人只是为了得到对方的定位器号码。如果你已经把号码记在脑子里了,可以直接拨号,不需要先开"或联系地址簿"是的。
DNS域名解析是我们在网络中很容易接触到的一个通信过程。有时候网络不通,不是联系不上对方,而是跟不上名字"翻译"作为对方的实际IP地址,不要被主次问题搞混了。很多时候,如果可以找到实际的IP,实际的网络是连接的。(当然,如果你知道IP,网络还是不行,可以复习一下唐老师之前的网络课程)。
域名的来源
两台计算机通信时,使用前面介绍的网络协议栈(TCP/IP)。
但是,有时候,IP地址真的很难记。别说IPV4了,后面的IPV6地址根本就不让人记住。就像一个电话号码,太多了就很难记住。你必须把这个数字和一个"人名"上,用来背的。
因此,“域名”这个词在这个世界上被用来帮助记忆IP地址。你认为:github.com比20.205.243.166更容易记住,对吗?所以大家都喜欢记名字,然后在通信前翻译。
如何把名字改成IP就是DNS解析过程了。这时候你得有一个“特殊记录名称= >: IP”服务器。
域名系统
制定协议的人,为了解决name = = IP的问题。引入了一种叫做域名服务器的东西。
这个DNS服务器是一个大的键值映射表。大概是:
key[name]–& gt值(IP地址)
因此,DNS服务器相当小。其复杂性在于DNS服务器可以级联,后面会详细介绍。简而言之,它是一个小型的键值服务器。
局部快速分辨率
有时候在局域网中,你要自己设置一个DNS服务器,相当麻烦。有没有一种简单的方法可以先写键值,然后先使用它?
答案是肯定的,它是我们的/etc/hosts文件。(Windows是c:\ Windows \ system32 \ driver \ etc \ hosts文件)
它的内容看起来像这样:
# value(IP) key(域名)192 . 168 . 1 . 11 ***.google.com你可以试试加一行,然后在浏览器里看看这个网站的访问量有没有变化。
我直接在这里ping这个网站。
# pinggoogle.com平google.com(192 . 168 . 1 . 11)56(84)字节的数据。看,地址变成了文件中指定的IP。
DNS查询的命令行
我一般用两个,nslookup和dig。
安装apt-get install dnsutils后,这两个命令行就可用了。
Nslookup命令
这个用的最多。格式是:
Nslookup目标域名,例如:
以上服务器地址指的是“哪个DNS服务器”。而下面红线标注的IP就是它给你的回复:“google.com的IP是93.46.8.90”
如果域名找不到IP,情况是这样的:
Dig命令行
dig比nslookup更好的地方在于,它可以指定一个DNS服务器来帮助您解析域名。
格式:
Dig目标域名dig @特定DNS服务器的目标域名中间的@参数是可选的。
能解决吗?看红圈的答案。如果是0,说明你不能解析这个域名。
最后,尝试指定一个DNS服务器来解析域名。
上图指定了应该使用DNS服务器10.129.54.132来帮助我们解析域名。
DNS协议
这个DNS协议很简单,就是一个问答的格式,没有握手过程。
客户问:“请问zz的ip是什么?”
答:“哦,是xx.xx.xx”。或者“不知道”。
默认协议端口是53。因此,当定位问题时,您可以尝试捕获端口53上的消息,看看您和DNS服务器之间是否仍然和谐。
大部分时间使用UDP协议,但也可以使用TCP(很少)。
指定DNS服务器
系统默认的DNS服务器(也就是默认要用哪个DNS服务器查询IP)一般是管理员给我们配置的。
但是我们也可以在/etc/resolv.conf文件中自己修改它。
行cat/etc/resolv . confnameserver 10 . 129 . 2 . 34 name server可以***多行。当第一个DNS服务器不可用时,它会自动询问第二个DNS服务器。
比如:
cat/etc/resolv . conf名称服务器10.129.2.34名称服务器100.79.1.250名称服务器100.79.1.46配置了三台DNS服务器。
高级配置参数
在这个/etc/resolv.conf文件中,您还可以配置一些高级参数。
搜索:当您查询DNS域名时,您将在您查询的域名末尾添加附加内容。Ndots:控制完成的最大长度。
这将用于Kubernetes的服务功能。必要的时候可以自己研究一下。
通常不使用这些高级参数。
DNS级联
DNS有一个级联机制,就是当我这里的(DNS服务器)key找不到值的时候,我可以问我的上级。如果不知道怎么问上级,世界上有几个顶级的根域名服务器。
所以,如果你想拥有一个世界知名的网站(域名),全部都会有收获。因为冠名权,他们垄断了。想一个大家都知道的名字太贵了。除非我们没有联网,在局域网里自己玩,我们喜欢什么名字就用什么名字。
当您回到本地机器并查询DNS域名时,整个过程大致如下:
如果四处打听也找不到,就会被告知这个域名无法解析(要么这个域名根本不存在,要么你的DNS服务器里没有记录,得不到上级的答复)。
Ps,不管你的域名怎么解析,最终我还是要用IP和别人交流。域名只是你的皮囊,IP才是你的灵魂。
点击下方,第一时间了解华为云鲜技术~
华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云
本文来自一纸枕书投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/640890.html