DNS域名解析服务

DNS系统的作用

正向解析:根据域名查找对应的IP地址

反向解析:根据IP地址查找对应的域名

DNS系统的分布式数据结构

DNS(Domain Name System)是域名系统的英文缩写,它作为将域名和IP地址互相映射的一个分布式数据库,能使人们更方便访问互联网。

例:开一个网站时,计算机需要知道该网站的IP地址以便与其建立连接并获取所需的内容。就是用于将网站的域名转换为IP地址的系统。

分布式网络存储技术是将数据分散地存储于多台独立的机器设备上。分布式存储系统采用可扩展的系统结构,利用多台存储服务器负担存储负荷。(负载均衡)


一级DNS服务器:专门负责一级域名的解析(一般代表一种类型的组织机构或国家地区)

.com(工商 企业)

.net(网络供应商)

.edu(教育机构)

.cn (中国国家域名)

.org (团体组织)

.gov (政府部门)

二级DNS服务器:专门负责二级域名的解析

.net.cn

.edu.cn

.com.cn

子域名DNS服务器:专门负责子域名的解析

.sina.com.cn

,pku.edu.cn

主机站点

mail

www

DNS使用端口:使用TCP和UDP的53端口,TCP的53端口用于连接DNS服务器,UDP的153端口用于解析DNS。

DNS域名长度限制:每一级域名长度的限制是63个字符,域名总长度不超过253个字符。

迭代查询:从根找到二级找到三级。根不会提供结果,但会提供线索,让去二级服务器去找...(同时)

递归查询:从三级域找到结果,到缓存服务器返回用户(一个一个往下传)

(1)递归查询

递归查询是一种DNS 服务器的查询模式,在该模式下DNS 服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机。

如果DNS 服务器本地没有存储查询DNS 信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。

客户机和服务器之间的查询是递归查询

是递归查询告诉客户机IP

(2)迭代查询

DNS 服务器另外一种查询方式为迭代查询,DNS 服务器会向客户机提供其他能够解析查询请求的DNS 服务器地址。当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台DNS 服务器地址,客户机再向这台DNS 服务器提交请求,依次循环直到返回查询的结果为止。

服务器之间的查询是迭代查询

CDN(Content Delivery Network)的基本原理:

是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中。在用户访问网站时,利用全局负载技术,将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。

查询原理过程:

正向解析查询过程

1. 先查询本机的缓存记录

2. 查询hosts文件

3. 查询dns域名服务器,交给dns域名服务器处理以上过程称为递归查询:我要一个答案你直接会给我结果

4. 这个dns服务器可能是本地域名服务器,也有个缓存,如果有直接返回结果,如果没有则进行下一步。

5. 求助根域名服务器,根域服务器返回可能会知道结果的顶级服务器让他去找顶级域服务器

6. 求助顶级域服务器,顶级与服务器返回可能会知道结果的二级域服务器然后让他去找二级域服务器

7. 求助二级域服务器,二级域服务器查询发现是我的主机,把查询到的ip地址返回给本地域名服务器。

8. 本地域名服务器将结果记录到缓存,然后把域名和ip的对应关系返回给客户端。

构建DNS域名解析器的目的:

bind是开源软件,用于内网划分DNS,不同于外网,内网的DNS是不需要注册,是方便内部进行使用和访问的有效手段

本地主机有关DNS映射文件(hosts)hosts文件包含了ip地址与主机名之间的映射,还包括主机的别名。

默认情况下,系统首先从hosts文件查找解析记录

hosts 文件的优先级高于DNS服务器,这是由 /etc/nsswitch.conf 文件规定的

hosts 文件只对当前的主机有效

hosts 文件可减少DNS查询过程,从而加快访问速度

Linux中有关DNS的映射文件vim /etc/hosts

windos系统中有关DNS的映射文件c:Windows\System32\drivers\etc\hosts

构建DNS域名解析器的目的bind是开源软件,用于内网划分DNS,不同于外网,内网的DNS是不需要注册,是方便内部进行使用和访问的有效手段

正向解析:

安装bind软件包

[root@192 yum.repos.d]# yum -y install named

bind服务程序介绍

bind服务程序的区域配置文件(/etc/named.rfc1912.zones)用来保存域名和IP地址对应关系的所在位置。在这个文件中,定义了域名与IP地址解析规则保存的文件位置以及服务类型等内容,而没有包含具体的域名、IP地址对应关系等信息。

服务类型有三种,分别为hint(根区域)、master(主区域)、slave(辅助区域),其中常用的master和slave指的就是主服务器和从服务器。

配置:

正向解析:

[root@localhost ~]# vim /etc/named.conf

// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html

options {
        listen-on port 53 { 192.168.179.20; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };

        /* 

[root@localhost ~]# vim /etc/named.rfc1912.zones

zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone "xny.com" IN {
        type master;
        file "xny.com.zone";
        allow-update { none; };
};

zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip

指定区域类型:

[root@localhost named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@localhost named]# cp -p named.localhost xny.com.zone
[root@localhost named]# ls
data     named.ca     named.localhost  slaves
dynamic  named.empty  named.loopback   xny.com.zone
[root@localhost named]# 

继续修改配置文件:

[root@localhost named]# vim xny.com.zone

$TTL 1D
@       IN SOA  xny.com. admin.xny.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      xny.com.
        A       192.168.179.20
IN  MX  10      mail.xny.com.
www IN  A       192.168.179.31
mail IN A       192.168.179.30
~                                                                              

检查语法:

[root@localhost named]# named-checkzone gengcc.com /var/named/xny.com.zone 
/var/named/xny.com.zone:10: warning: '192.168.179.30': MX is an address
zone gengcc.com/IN: IN.gengcc.com/MX '192.168.179.30.gengcc.com' has no address records (A or AAAA)
zone gengcc.com/IN: loaded serial 0
OK
[root@localhost named]# 

修改DNS:

[root@localhost named]# vim /etc/resolv.conf

# Generated by NetworkManager
nameserver 192.168.179.20

解析:

[root@localhost ~]# nslookup www.xny.com
Server:        192.168.179.20
Address:    192.168.179.20#53

Name:    www.xny.com
Address: 192.168.179.31
[root@localhost ~]# nslookup mail.xny.com
Server:        192.168.179.20
Address:    192.168.179.20#53

Name:    mail.xny.com
Address: 192.168.179.30

反向解析

[root@localhost ~]# vim /etc/named.rfc1912.zones


zone "179.168.192.in-addr.arpa" IN {
        type master;
        file "xny1.com.zone";
        allow-update { none; };
};

指定区域类型:

[root@localhost named]# cp -p named.localhost xny1.com.zone
[root@localhost named]# vim xny1.com.zone 
$TTL 1D
@       IN SOA  xny.com. admin.xny.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      xny.com.
        A       192.168.179.20
31 IN PTR       www.xny.com
30 IN PTR       mail.xny.com
~                                                      

切换到root2测试:

[root@localhost ~]# nslookup 192.168.179.30
Server:        192.168.179.20
Address:    192.168.179.20#53

30.179.168.192.in-addr.arpa    name = mail.xny.com.

[root@localhost ~]# nslookup 192.168.179.31
Server:        192.168.179.20
Address:    192.168.179.20#53

31.179.168.192.in-addr.arpa    name = www.xny.com.

负载:

添加备用服务器:

[root@localhost named]# vim /etc/resolv.conf

# Generated by NetworkManager
nameserver 192.168.179.20
nameserver 192.168.179.21

改区域文件:

[root@localhost ~]# vim /etc/named.rfc1912.zones

zone "xny.com" IN {
        type master;
        file "xny.com.zone";
        allow-transfer { 192.168.179.21; };
};

zone "179.168.192.in-addr.arpa" IN {
        type master;
        file "xny1.com.zone";
        allow-transfer { 192.168.179.21; };
};

切换到root2:修改监听地址:

[root@localhost ~]# vim /etc/named.conf

options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };

修改root2区域文件:

[root@localhost ~]# vim /etc/named.rfc1912.zones

zone "xny.com" IN {
        type slave;
        file "slaves/xny.com.zone";
        masters { 192.168.179.20; };
};

zone "179.168.192.in-addr.arpa" IN {
        type slave;
        file "slaves/xny1.com.zone";
        masters{ 192.168.179.20; };
};

进 /var/named/slave

下面有两个文件

-rw-r--r--. 1 named named 303 Mar 8 17:05 xny.com.zone

-rw-r--r--. 1 named named 303 Mar 8 17:05 xny1.com.zone

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

R1chArd_TvT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值