Linux下DNS域名解析及案例

一、DNS系统

作用:将域名解析成IP地址
原因:我们对数字不敏感,记不住这个IP,所以才有域名解析服务
解析方式:
正向解析:域名解析IP
反向解析:IP解析出域名
DNS服务器中存储着大量的IP和域名映射记录,它的记录文件也分为正向解析文件和反向解析文件,正向解析文件中存储的记录成为A记录,A记录记录着域名和IP的映射关系,反向解析文件中存储的记录称为PTR指针,PTR记录着IP和域名的映射关系
DNS服务既属于TCP协议有属于UDP协议,端口号为53号

二、DNS系统的分布式数据结构

.根域
国家域:cn 中国,hk 香港,uk 英国,au 澳大利亚
顶级域(领域):com 商业用途,net 网络组织,edu教育
二级域:个性化的名称,每个域的二级域都不一样
主机名(用途):www(网页),mail(邮件)
例如,百度的域名为www.baidu.com,代表的是根域下有com子域,com子域下面有baidu子域,baidu子域下有主机www

三、DNS系统类型

缓存域名服务器
也成为DNS高速缓存服务器
通过向其他域名服务器查询获得域名===>IP地址记录
​ 将域名查询结果存到本地,提高重复查询时的速度

四、DNS的解析过程

DNS的解析过程是分层解析的,一般客户机将解析的请求发送给它的DNS服务器,DNS服务器首先是从根DNS服务器(.)开始发送域名解析请求,根将com域的IP反馈给客户机的本地DNS服务器,本地DNS服务器访问com域服务器,com域服务器反馈baidu域的IP给本地DNS服务器,本地DNS服务器访问baidu域服务器询问www域服务器的IP,baidu域服务器给dns服务器反馈www域的IP,这时本地DNS服务器得到www.baidu.com的精确IP后,直接将这个映射记录反馈给客户机,客户机直接访问百度服务器,服务器反馈相应的数据。

五、DNS缓存及配置

其中一台DNS服务器可以上网去获取DNS映射记录,客户机将DNS服务器地址指向这台可以上网的DNS服务器,从而获取到相应的映射记录
在这里插入图片描述

[root@localhost ~]#yum -y install bind*          #安装DNS服务
[root@localhost ~]#vi /etc/named.conf         #修改配置文件
listen-on port 53 { 192.168.100.101; };         #监听
...
allow-query {192.168.1001.0/24; };        #允许网段
[root@localhost ~]#systemctl start named         #开启DNS服务
[root@localhost ~]#vi /etc/sysctl.conf    #永久开启路由
net.ipv4.ip_forward=1
[root@localhost ~]#sysctl -p           #加载配置
[root@localhost ~]#echo "1" > /proc/sys/net/ipv4/ip_forward    #l临时开启路由

六、DNS主从复制案例配置

环境
两台CentOS 7.6

需求分析
一台作为主DNS服务器 ===>IP 192.168.10.10

另一台作为备份服务器===>IP192.168.10.20

网关都设为192.168.10.2

实验环境
主DNS服务器

[root@localhost ~]# yum -y install bind*   #安装bind软件包
[root@localhost named]# setenforce 0  #关闭核心防护
[root@localhost named]# systemctl stop firewalld  #关闭防火墙
[root@localhost named]# systemctl start named  #开启服务
[root@localhost ~]# vi /etc/named.conf  #修改主配置文件
options {
        listen-on port 53 { 192.168.10.10; };
        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";
        allow-query     { any; };
        recursion yes;
        } 
[root@localhost ~]# vi /etc/named.rfc1912.zones  #修改区域配置文件
zone "qiezi.com" IN {
        type master;
        file "qiezi.com.zone";
        allow-transfer { 192.168.10.20; }; 
        also-notify {192.168.10.20; }; 
};
zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "qiezi.com.local";
        allow-transfer { 192.168.10.20; }; 
};
[root@localhost ~]# cd /var/named/  #进入区域数据配置文件的目录下
[root@localhost ~]#chown root:named qiezi.com.zone
[root@localhost ~]#chown root:named qiezi.com.local
[root@localhost ~]#vi qiezi.com.local     #反向区域文件
......
   NS            qiezi.com
   A            192.168.10.10
119 IN PTR     www.qiezi.com
120 IN PTR     ftp.qiezi.com
[root@localhost ~]#vi qiezi.com.zone     #正向区域文件
......
         NS            @
         A      192.168.10.10
www  IN  A      192.168.10.10
ftp  IN  A      192.168.10.20
mail IN CNAME        www
[root@localhost named]# systemctl start named    #开启服务
[root@localhost named]# nslookup www.qiezi.com    #检测本地服务

从DNS服务器

[root@localhost ~]# yum -y install bind*   #安装bind软件包
[root@localhost named]# setenforce 0  #关闭核心防护
[root@localhost named]# systemctl stop firewalld  #关闭防火墙
[root@localhost named]# systemctl start named  #开启服务
[root@localhost ~]# vi /etc/named.conf  #修改主配置文件
options {
        listen-on port 53 { 192.168.10.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";
        allow-query     { any; };
        recursion yes;
        } 
[root@localhost ~]# vi /etc/named.rfc1912.zones  #修改区域配置文件
zone "qiezi.com" IN {
        type slave;
        file "slaves/qiezi.com.zone";
        masters { 192.168.10.10; }; 
        also-notify {192.168.10.10; }; 
};
zone "1.168.192.in-addr.arpa" IN {
        type slave;
        file "slaves/qiezi.com.local";
        masters { 192.168.10.10; };
        allow-nitify { 192.168.10.10; }; 
};
[root@localhost named]# systemctl start named    #开启服务
[root@localhost named]# nslookup www.qiezi.com    #检测本地服务
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值