在日常上网的时候我们会通过类似www.baidu.com来访问百度,但实际上却是访问的百度的ip地址202.108.22.5。出现这种情况是因为DNS在作祟。DNS可以把我们访问的域名解析成ip地址,还可以进行类似导航的工作,精准定位需要访问的网站。
dns又名缓存域名服务器,主要由运营商负责,日常使用都是从运营商的缓存服务器调用缓存记录,直接访问
dns可以进行正向解析与反向解析,正向解析是将域名解析为ip地址,反向解析则是将ip地址解析成域名。
网站域名的分析:以www.baidu.com.为例:
从右向左看。最后一个.是根域。Ipv4根域一共13个,美国10个,英国一个,瑞典一个,日本一个。国内有两个根域的镜像服务器。Ipv6根域服务器全球25个,中国1主3从,美国1主2从
.cn 一级域,也叫顶级域:表示国家组织
.com 二级域:一般表示组织或机构,com表示商业组织,edu表示教育机构,org表示非盈利组织,.net表示运营商
Baidu 子域,域名
www 主机站点,mail 邮箱
同时,DNS还有另一个名字,是缓存域名服务器,主要由运营商负责,日常使用都是从运营商的缓存服务器调用缓存记录并直接访问。DNS服务器可以设置主从服务器:
用户访问过程:
用户访问,先查本地hosts,如果本地hosts没有就到dns域名服务器,到根域名服务器查询,根域名服务器知道结果但是会指引去二级服务器去查。二级域名服务器知道结果但是指引去子域名服务器找。子域名服务器提供域名和ip地址的映射关系。消息先到缓存服务器(运营商,记录域名和ip地址的映射关系),再到hosts,最后反馈给用户。
下面的使用都需要安装bind
小实验1:配置正向解析:
需要用到三个配置文件:
/etc/named.conf主配置文件
/etc/named.rfc1912.zones 区域配置文件,保存域名和ip地址对应关系的位置,这里只定义了域名与ip地址解析规则保存的文件位置以及服务类型。没有具体的ip,域名之间的关系。
/var/named/named.locathost 区域的数据配置文件这里保存的的是具体的ip地址和域名之间的关系
配置named.conf:
listen-on port 53 { 提供服务的主机ip(这个实验中是本机); };
allow-query { 使用服务的主机; };
配置named.rfc1912.zones,套用现有模板并自定义区域配置文件
复制并重命名区域配置文件
图中:
$TTL:引用全局变量,缓存解析结果的有效时间。1D表示一天
@:当前dns的区域名
IN:表示使用internet协议
SDA:解析协议,表示起始的解析
NS:记录当前区域的dns服务器名称,必不可少
A:记录主机的ip地址,必不可少(IPV4地址)
AAAA:ipv6
PTR:反向解析
我们需要做的是:
第二行固定格式,
第八号声明域名名称
第九行是域名解析服务器
最后两行是两个域名的地址
切换另外一台主机
先修改dns解析地址为上面主机的ip
vim /etc/resolv.conf
修改完解析
成功!
小实验2:反向解析
修改named.rfc1912.zones
复制并修改模板,第三行文件名不能和正向的重复
复制并修改配置文件
重启服务,另一条主机进行测试
成功!
实验3:配置主从服务器
主从:
修改resolv.conf,写入服务器的地址
主:
修改named.rfc1912.zones,在正向解析和反向解析上写入传输服务器地址
重启服务
从:
修改named.conf
修改named.rfc1912.zones
重启服务后去/var/named/下查看slaves内容
测试:
停掉主机后测试:
成功!