其他分享
首页 > 其他分享> > 用户访问一个网站原理(从根服务器获取DNS)

用户访问一个网站原理(从根服务器获取DNS)

作者:互联网

图解用户访问网站原理

dig查看 www.baidu.com 解析过程

总的过程记录

第一步:根DNS 服务器获取

从本地DNS域名解析服务器获取到13个根DNS域名服务器(.)对应的主机名。

第二步:一级(或者顶级)DNS 服务器获取

13个根域名服务器中的其中一个(这里是k.root-servers.net)获取到顶级com.的服务器IP(未显示)和名称。

第三步:二级(或者顶级)DNS 服务器获取

com.域的一台服务器192.41.162.30(l.gtld-servers.net)请求解析,它返回了baidu.com域的服务器IP(未显示)和名称,百度有四台顶级域的服务器。

第四步:三级(或者顶级)DNS 服务器获取

向百度的顶级域服务器220.181.33.31(ns2.baidu.com)请求www.baidu.com,它发现这个www有个别名,而不是一台主机,别名是www.a.shifen.com

一般情况下,DNS解析到别名就停止了,返回了具体的IP地址

解析别名www.a.shifen.com

如果想看到具体的IP地址,可以进一步对别名进行解析,解析结果如下:

这时候看到最后的解析结果是220.181.33.31220.181.33.32。在解析别名的过程中,可以发现shifen.combaidu.com都是指定了相同的域名解析服务器。以上是一个域名的解析过程,最后的解析结果和一开始的使用nslookup的结果一致

自建DNS服务器(bind服务)

1、下载bind软件
yum install bind bind-utils -y
2、检查防火墙
[root@master-61 ~]#getenforce
Disabled
[root@master-61 ~]#
[root@master-61 ~]#
[root@master-61 ~]#iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  
3、创建DNS配置文件,操作主配置文件,然后修改子配置文件
修改主配置   [root@master-61 ~]#vim /etc/named.conf

在子配置文件中加入域名
[root@master-61 ~]#tail -5  /etc/named.rfc1912.zones
zone "afeixx.cn" IN {
        type master;
        file "afeixx.cn.zone";
        allow-update { none; };
};

};
4、创建zone区域文件 afeixx.com.zone,先去复制一个模板,区域文件放在了/var/named
[root@master-61 ~]#cp -p /var/named/named.localhost /var/named/afeixx.cn.zone
5.修改区域文件
[root@master-61 ~]#cat /var/named/afeixx.cn.zone 
$TTL 1D
@	IN SOA	@ rname.invalid. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
	NS	@
	A	127.0.0.1
	AAAA	::1
www A 172.16.1.61
xx A 172.16.1.61
6、修改zone文件权限
[root@master-61 ~]#chmod 640 /var/named/afeixx.cn.zone 
[root@master-61 ~]#ll  /var/named/afeixx.cn.zone 
-rw-r----- 1 root named 190 May 15 17:40 /var/named/afeixx.cn.zone
7、检查配置文件语法,不要有任何错误
[root@master-61 ~]# named-checkconf /etc/named.conf
[root@master-61 ~]#named-checkconf /etc/named.rfc1912.zones
[root@master-61 ~]#

8、启动named域名解析服务。
[root@master-61 ~]#netstat -tnlp|grep named
[root@master-61 ~]#systemctl start named
[root@master-61 ~]#netstat -tnlp|grep named

9、服务端
[root@master-61 ~]#cat /etc/resolv.conf 
# Generated by NetworkManager
#nameserver 223.5.5.5
nameserver 172.16.1.61


10、客户端配置我们的dns服务器 写入配置文件
[root@nfs-31 ~]#cat  /etc/resolv.conf 
# Generated by NetworkManager
#nameserver 223.5.5.5
nameserver 172.16.1.61
11、下载bind软件
yum install bind bind-utils -y
12、检查解析
[root@nfs-31 ~]#nslookup www.afeixx.cn
Server:		172.16.1.61
Address:	172.16.1.61#53

Name:	www.afeixx.cn
Address: 172.16.1.61

部署轻量级dnsmasq服务

1、下载安装
yum install dnsmasq -y
2、修改配置文件
[root@master-61 ~]#vim /etc/dnsmasq.conf 
[root@master-61 ~]#grep -Ev '^($|#)'  /etc/dnsmasq.conf 
resolv-file=/etc/resolv.dnsmasq.conf
listen-address=172.16.1.61
addn-hosts=/etc/hosts.dnsmasq.conf
conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig
3、创建对应的数据文件
[root@master-61 ~]#cat /etc/hosts.dnsmasq.conf 
172.16.1.61 master-61
172.16.1.5 slb-5
172.16.1.6 slb-6
172.16.1.7 web-7
172.16.1.8 web-8
172.16.1.9 web-9
172.16.1.31 nfs-31
172.16.1.41 rsync-41
172.16.1.51 db-51
[root@master-61 ~]#cat /etc/resolv.dnsmasq.conf 
nameserver 223.5.5.5
4、启动dnsmasq服务
systemctl start dnsmasq 
5、修改客户端
[root@nfs-31 ~]#cat /etc/resolv.conf 
# Generated by NetworkManager
#nameserver 223.5.5.5
nameserver 172.16.1.61
[root@rsync-41 ~]#cat /etc/resolv.conf 
# Generated by NetworkManager
#nameserver 223.5.5.5
nameserver 172.16.1.61

6、
[root@nfs-31 ~]#nslookup nfs-31 223.5.5.5
Server:		223.5.5.5
Address:	223.5.5.5#53

** server can't find nfs-31: NXDOMAIN

[root@nfs-31 ~]#nslookup nfs-31 
Server:		172.16.1.61
Address:	172.16.1.61#53

Name:	nfs-31
Address: 172.16.1.31

[root@nfs-31 ~]#cat /etc/resolv.conf 
# Generated by NetworkManager
#nameserver 223.5.5.5
nameserver 172.16.1.61

[root@rsync-41 ~]#nslookup rsync-41 223.5.5.5
Server:		223.5.5.5
Address:	223.5.5.5#53

** server can't find rsync-41: NXDOMAIN

[root@rsync-41 ~]#nslookup rsync-41
Server:		172.16.1.61
Address:	172.16.1.61#53

Name:	rsync-41
Address: 172.16.1.41

标签:named,61,etc,从根,master,DNS,172.16,服务器,root
来源: https://www.cnblogs.com/Xafei/p/16471840.html