用户访问一个网站原理(从根服务器获取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.31
和220.181.33.32
。在解析别名的过程中,可以发现shifen.com
和baidu.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