DNS 基本概念
名字解析:
一、hosts文件
作用: 实现名字解析,主要为本地主机名、集群节点提供快速解析
二、域名服务DNS
作用: 实现名字解析(例如将主机名解析为IP)
命名空间name space: 用于给互联网上的主机命名的一种机制
权威名称服务器: 存储并提供某个区域的实际数据,例如126.com的DNS服务器,记录了126.com域中所有主机的记录如:
www.126.com. x.x.x.x
ftp.126.com. y.y.y.y
权威名称服务器类型包括:
Master: 主DNS服务器,包含原始区域的数据
Slave: 备份DNS服务器,通过(区域传输)从Master服务器获得区域数据的副本
非权威名称服务器: 不存储某个区域的实际数据,仅缓存DNS服务器,虽然可以提供查询,但查询的内容不具有权威性
DNS解析流程
例如客户端解析 www.126.com
1. 客户端查询自己的缓存(hosts中的记录),如果没有将查询发送/etc/resolv.conf中的DNS服务器
2. 如果本地DNS服务器对于请求的信息具有权威性,会将(权威答案)发送到客户端。
3. 否则,如果DNS服务器在其缓存中有请求信息,则将(非权威答案)发送到客户端
4. 如果缓存中没有该查询信息,DNS服务器将搜索权威DNS服务器以查找信息:
a. 从根区域开始,按照DNS层次结构向下搜索,直至对于信息具有权威的名称服务器,为客户端获答案
DNS服务器将信息传递给客户端 ,并在自己的缓存中保留一份,以备以后查找。
环境:
DNS服务器:
主机名称:wing.zhengzhou.com
ip地址:192.168.245.130
客户端服务器:
ip地址:192.168.245.131
DNS服务器:
安装软件:
bind 主包
bind-utils 客户端测试工具(host 、dig 、nslookup)
启动服务:
# systemctl start named
工作目录:
/etc 存放主配置文件(指定区域配置文件的作用)
/var/named 区域配置文件(用来作解析,域名对应ip)
主配置文件:
[root@wing ~]# mv /etc/named.conf /etc/named.conf.bak
[root@wing etc]# cd /etc/
[root@wing etc]# cat named.conf
options {
directory "/var/named";
};
zone "zhengzhou.com." IN {
type master;
file "zhengzhou.com.zone";
};
zone "sina.com." IN {
type master;
file "sina.com.zone";
};
zone "fanhua.com." IN {
type master;
file "fanhua.com.zone";
};
正向区域配置文件:
[root@wing etc]# cd /var/named/
[root@wing named]# cat zhengzhou.com.zone
$TTL 86400 ;缓存时间
@ IN SOA wing.zhengzhou.com. root.zhengzhou.com (
100000000
3H
15M
1W
1D)
IN NS wing.zhengzhou.com.
wing IN A 192.168.245.130 //第一行先定义本主机
www.zhengzhou.com. IN A 192.168.245.222
ftp.zhengzhou.com. IN CNAME www.zhengzhou.com.
[root@wing named]# cat fanhua.com.zone
$TTL 86400
@ IN SOA www.fanhua.com. root.fanhua.com (
100000000
3H
15M
1W
1D)
IN NS www.fanhua.com.
www IN A 192.168.62.136 //第一行先定义本主机
www.fanhua.com. IN A 192.168.62.136
ftp.fanhua.com. IN CNAME www.fanhua.com.
配置详解:
@ 表示当前域名
SOA 起始授权记录
100000000 序列号主从DNS用到的,每次更新一次主配置文件序列号,从服务器检查自己的序列号,如果序列号不同,则会更新配置文件
3H 更新时间(多久进行一次从主从序列号检查,默认3个小时)
15M 如果更新失败,15分钟再次尝试
1W 如果一直失败,一周之后放弃
1D 缓存时间
;NS记录(指定管理某个域的服务器)
A记录(正向解析)把域名解析为ip
;别名
客户端:
[root@localhost ~]# vim /etc/resolv.conf
[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager
#search localdomain
#nameserver 192.168.62.2
nameserver 192.168.62.247 #更改DNS服务器的地址
[root@localhost ~]# ping www.zhengzhou.com
PING www.zhengzhou.com (192.168.62.231) 56(84) bytes of data.
64 bytes from localhost.localdomain (192.168.62.231): icmp_seq=1 ttl=64 time=0.029 ms