Linux-DNS域名解析服务

一、DNS的定义

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

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

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

二、DNS系统的作用

  • 正向解析:根据域名查找对应的IP地址
  • 反向解析:根据IP地址查找对应的域名
  • DNS系统的分布分布式数据结构

  • 域名结构:

        http://主机名.子域.二级域.顶级域 根域/

根域位于域名空间最顶层,一般用一个 “.” 表示
顶级域一般代表一种类型的组织机构或国家地区
二级域用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理
子域二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名
主机主机位于域名空间最下层,就是一台具体的计算机
  • 根据域名查找出IP地址的流程

        先使用主机本地的hosts文件查找相关记录

        再使用DNS服务进行解析

三、DNS域名解析工作原理

        客户端会先将DNS解析请求发送给本地缓存域名服务器,如果本地缓存域名服务器有相关记录则直接返回给客户端,否则会将DNS解析请求发送给根域服务器进行解析,根域服务器会根据域名的顶级域再将DNS解析请求委派给相对应的顶级域服务器进行解析,顶级域服务器也会根据域名的二级域或子域再将DNS解析请求委派给相对应的二级域或子域服务器进行解析,最后子域服务器会根据域名的主机名解析出相对应的IP地址,再返回给本地缓存域名服务器和客户端

四、DNS域名解析查询方式

  • 递归查询(DNS解析请求一探到底,在逐层返回):

        本地域名服务器先将DNS解析请求发送给根域名服务器,根域名服务器再将解析请求转发给顶级域名服务器,顶级域名服务器再将解析请求转发给相对应的二级域名或子域名服务器,最后子域名服务器根据域名的主机名解析出相对应的IP地址后,再逐层返回给本地域名服务器

  • 迭代查询(DNS解析请求每次都会有相对应的响应):

        本地域名服务器先将DNS解析请求发送给根域名服务器,根域名服务器会返回响应消息给本地域名服务器并告知去找相对应的顶级域名服务器

        本地域名服务器再将DNS解析请求发送给相对应的顶级域名服务器,顶级域名服务器会返回响应消息给本地域名服务器并告知去找对应的二级域名或子域名服务器

        最后本地域名服务器将DNS解析请求发送给相对应的子域名服务器,子域名服务器会根据域名的主机名解析出相对应的IP地址后,直接返回给本地域名服务器

四、DNS系统类型

  • 缓存域名服务器

        也称为DNS高速缓存服务器

        通过向其他域名服务器查询获得域名→IP地址记录

        将域名查询结果缓存到本地,提高重复查询时的速度

  • 主域名服务器

        特定DNS区域的权威服务器,具有唯一性

        负责维护该区域所有域名→IP地址的映射记录

        需要自行建立所负责区域的地址数据文件

  • 从域名服务器

        也称为辅助域名服务器,是对主域名服务器的热备份

        其维护的域名→IP地址记录来源于主域名服务器

        需要从主域名服务器自动同步区域地址数据库

五、BIND服务

  • BIND服务器端程序

        主要执行程序:/usr/sbin/named

        默认监听口:53

        主配置文件

                /etc/named.conf

        保存DNS解析记录的数据文件位于

                /var/named/

  • BIND服务控制

systemctl [status|start|stop|restart] named.service

六、搭建本地DNS服务器

  • 初始化系统

vim /etc/selinux/config

  • 安装bind软件包

  • 修改主配置 /etc/named.conf
listen-on port 53 { any; };        #设置监听IP地址和端口
allow-query     { any; };        #设置允许访问DNS服务器的客户端

  • 修改区域配置文件 /etc/named.rfc1912.zones

zone "xy101.com" IN {                #正向解析配置
        type master;
        file "xy101.com.zone";                #设置区域数据文件名称
};

zone "80.168.192.in-addr.arpa" IN {                #反向解析配置,地址倒写
        type master;
        file "xy101.com.zone.local";
};

  • 修改区域数据文件 /var/named/xy101.com.zone和/var/named/xy101.com.zone.local
cd /var/named
cp -p named.localhost xy101.com.zone        #保持原属性复制(反向解析相同,仅需目的文件)
vim xy101.com.zone
....
        NS      xy101.com.            #设置当前区域名称
        A       192.168.80.20         #设置DNS服务器IP地址
www  IN A       192.168.80.30         #设置正向解析的主机名与IP地址的映射记录
xxx  IN CNAME   www                   #设置主机名 xxx 是 www 的别名

vim xy101.com.zone.local
....
30  IN PTR    www.xy101.com.         #设置IP地址与域名的反向解析记录

  • 重启named服务
systemctl restart named

若重启出错则

tail -f /var/log/messages

  • 客户端设置DNS服务器地址 /etc/resolv.conf ,并验证
vi /etc/resolv.conf

nslookup
或host
或dig

若为Windows

七、搭建主从域名服务器

  • 两台主机初始化系统
  • 安装bind软件包
  • 修改主配置 /etc/named.conf

  • 修改区域配置文件 /etc/named.rfc1912.zones

主服务器的正向

反向

  • 修改区域数据文件 /var/named/xy101.com.zone和/var/named/xy101.com.zone.local

主服务器的正向解析

反向

从服务器得正反向解析

  • 重启named服务
systemctl restart named

        遵照先主后从的顺序

  • 客户端设置DNS服务器地址 /etc/resolv.conf,并验证

        

nslookup
或host
或dig
  • 19
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值