Linux 私房菜————Linux系统基本操作命令(十六)|DNS域名 | 正向解析 | 反向解析 | 主从服务器 | 分离解析|详细内容

一、DNS—域名系统

DNS的概述

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

DNS使用端口

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

DNS域名长度限制

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

DNS作用

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

二、DNS的域名结构

www.baidu.com.cn.
主机名 | 子域 | 二级域名 | 顶级域名 | 根域

  • DNS系统的结构为分布式数据结构
  • 每一级的域名长度限制是63个字符
  • 域名总长度则不能超过253个字符

根域

  • 位于树状结构最顶层,用"."表示

顶级域

  • 一般代表一种类型的组织机构或国家地区;
  • 如.net(网络供应商)、.com(工商企业)、.org(团体组织)、.edu(教育结构)、.gov(政府部门)、.cn(中国国家域名)

二级域

  • 用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家部门统一管理

子域

  • 二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名

主机

  • 主机位于域名空间最下层,就是一台具体的计算机

域名与IP地址之间是多对一的关系,一个IP地址不一定只对应一个域名,且一个域名只可以对应一个IP地址

三、DNS服务器类型

主域名服务器

  负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。

从域名服务器

  当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。

缓存域名服务器

  只提供域名解析结果的缓存功能 目的在于提高查询速度和效率,但没有域名数据库。
  它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。

转发域名服务器

  负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。

四、配置DNS域名解析服务器步骤

1.Bind安装

//通过YUM安装

yum -y install bind

在这里插入图片描述

2.查看配置文件

查看需要修改的配置文件所在路径

rpm -qc bind                   #查询bind软件配置文件所在路径
  • 执行程序/usr/sbin/named
  • 配置文件/etc/named.conf
  • 解析记录/var/named/
  • 模板文件[功能:拷贝参考]var/named/named.localhost
  • 区域配置文件/var/named.rfc1912.zones
    在这里插入图片描述

3.修改主配置文件

options{
  @ listen-on port 53 {any 或者 IP地址;};
    #监听53端口
    directory
    #区域数据文件默认存储位置
    dump-file
    #域名缓存数据库文件的位置
    statistics-file
    #状态统计文件的位置
    memstatistics-file
    #内存统计文件的位置
  @ allow-query {IP网段;IP网段;};
    #允许使用本DNS解析服务的网段[可用any]

在这里插入图片描述
修改之后,保存并退出:wq
在这里插入图片描述

五、正向解析

1.修改区域配置文件,添加正向区域配置

vim /etc/ named. rfc1912. zone                //可在文件里有模版,可复制粘贴后修改

zone "gtt. com" IN {                            //正向解析gtt.com区域
type master;                                     //类型为主区域
 file "gtt. com. zone";                          //指定区域数据文件为gtt. com. zone
allow-update { none; };
};

在这里插入图片描述

2.配置正向区域数据文件

cd /var/named/
cp -p named.localhost gtt.com.zone                 //保留源文件的权限和属主的属性复制
vim /var/named/gtt.com.zone
$TTL 1D                                            //设置缓存解析结果的有效时间
@       IN SOA gtt.com. admin.gtt.com. (
                                         0 ; serial 	//更新序列号
										1D ; retry 		//刷新时间
										1H ; refresh	//重试延时
										1W ; expire 	//失效时间
										3H) ; minimum	//无效解析记录的生存周期
         NS    gtt.com.                             //记录当前区域的DNS服务器的名称
         A     192.168.148.12                       //记录主机IP地址
www  IN  A     192.168.148.12                        //记录正向解析
mail IN  A     192.168.148.20
ftp  IN CNAME  www                                   //CNAME使用别名,ftp是www的别名
*    IN   A    192.168.148.100                      //泛域名解析,“*"代表任意主机名

在这里插入图片描述

3.启动服务,关闭防火墙

systemctl start named
systemctl stop firewalld
setenforce 0        
tail -f /var/log/ messages                       //如果服务启动失败,可以查看日志文件来排查错误
netstat -anpu | grep named

在这里插入图片描述

4.配置正向区域数据文件

vi /etc/resolv.conf                                      //修改完后立即生效
nameserver 192.168.148.12


vi /etc/ sysconfig/network- scripts/ ifcfg-ens33         //修改完后需要重启网卡
DNS1=192.168.148.12
systemctl restart network

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5.进行测试,同局域网Win7虚拟机访问

将DNS地址设置为192.168.148.12
在这里插入图片描述

打开cmd命令提示符进行域名访问

在这里插入图片描述

六、反向解析

1.准备工作请见上文第四章,然后修改区域配置文件,添加反向区域配置

vim /etc/named. rfc1912. zone               //文件里有模版,可复制粘贴后修改
zone "148.168.192. in-addr.arpa" IN {       //反向解析的地址倒过来写,代表解析192.168.80段的地址
         type master;
         file "gtt.com.zone.local";    //指定区域数据文件为gtt.com.zone.local
         allow-update { none; } ;

在这里插入图片描述

2.配置反向区域数据文件

cd /var/named/
cp -p named.localhost gtt.com.zone.local                 //保留源文件的权限和属主的属性复制
vim /var/named/gtt.com.zone.local
$TTL 1D                                            //设置缓存解析结果的有效时间
@       IN SOA gtt.com. admin.gtt.com. (
                                         0 ; serial 	//更新序列号
										1D ; retry 		//刷新时间
										1H ; refresh	//重试延时
										1W ; expire 	//失效时间
										3H) ; minimum	//无效解析记录的生存周期
         NS    gtt.com.                             //记录当前区域的DNS服务器的名称
         A     192.168.148.12                       //记录主机IP地址
100 IN PTR    WWW.gtt.com. 
110 IN PTR    ftp.gtt.com.     

在这里插入图片描述

3.启动服务,关闭防火墙

systemctl restart named
host 192.168.148.100
// 将会反向解析出域名www.gtt.com.

在这里插入图片描述

4.进行测试,同局域网Win7虚拟机访问

使用nslookup IP地址来反向解析出域名
在这里插入图片描述

七、主从服务器

从服务器的作用是同步主服务器的解析文件[热备]

1.修改配置文件

  • allow-transfer 允许转让
  • allow-updata 允许动态更新
vim/etc/named.rfc1912.zone
zone "gtt.com" IN {
        type master;
        file "gtt.com.zone"; 
        #allow-update { none; };
        allow-transfer { 192.168.148.112; };
        #将allow-updata改为transfer
        #allow-transfer为允许转让
        #{}的值为从服务器的DNS
};


zone "148.168.192.in-addr.arpa" IN {
        type master;
        file "gtt.com.zone.local";
        #allow-update { none; };
        allow-transfer { 192.168.148.112; };
};

在这里插入图片描述
在这里插入图片描述

2.添加从服务器DNS地址

以客户机的身份设置从服务器DNS

vim /etc/resolv.conf
nameserver 192.168.148.12                 //主服务器
nameserver 192.168.148.112				  //从服务器

在这里插入图片描述

3.从服务器宿主机配置

vim /etc/named.conf
listen-on port 53{} 		//值为any
allow-query{}				//值改为any

在这里插入图片描述

vim /etc/named.rfc1912.zone
zone "gtt.com" IN {
type slave;                           #类型为从区域
masters { 192.168.148.12; } ;          #指定主服务器的IP地址
file "slaves/gtt. com. zone";       #下载的区域数据文件保存到slaves/目录下
};

zone "148.168.192. in-addr.arpa" IN {
type slave;
masters { 192.168.148.12; } ;
file "slaves/gtt.com.zone.local" ;
};

在这里插入图片描述

4.验证从服务器是否已经将主服务器的区域数据配置文件备份

systemctl restart named   #此时会在目录中生成一个slave

在这里插入图片描述
使用主服务器了,重启dns域名解析服务,然后进行dns测试,我们是在主服务器上,但是是以客户机身份进行访问,可以看到下图,当主服务器没有任何问题时,首选主服务器,当我们将主服务器的dns服务关闭时,则通过从服务器来进行访问
在这里插入图片描述

5.实现主从实时更新

进入主服务器主配置文件
正向反向解析中添加also-notify { 从IP; };

vim /etc/named.rfc1912.zones
zone "gtt.com" IN {
        type master;
        file "gtt.com.zone";
        also-notify { 192.168.148.12; };
        allow-transfer { 192.168.148.12; };
};

进入主服务器解析配置文件
serial 值大于从服务器的即可

$TTL 1D
@       IN SOA  xx.xx. admin.xx.xx. (
                                        12345678    ; serial
                                        //默认为0修改它
                                        //不要大于10位数
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      xx.xx.
        A       192.168.148.12
www IN  A       192.168.148.12

八、DNS服务器分离解析

根据不同的客户都安提供不同的域名解析记录

内网用户提供内网IP地址
外网用户提供外网IP地址
在网关服务器提供DNS分离服务
在这里插入图片描述

1.修改配置文件

配置环境需要双网卡,这边网卡配置就不具体说明了
在这里插入图片描述

2.修改主配置文件

options{
  @ listen-on port 53 {any 或者 IP地址;};
    #监听53端口
    directory
    #区域数据文件默认存储位置
    dump-file
    #域名缓存数据库文件的位置
    statistics-file
    #状态统计文件的位置
    memstatistics-file
    #内存统计文件的位置
  @ allow-query {IP网段;IP网段;};
    #允许使用本DNS解析服务的网段[可用any]

在这里插入图片描述
修改之后,保存并退出:wq

3.修改区域配置文件

vim /etc/named.rfc1912.zones
view "lan" {								//定义内网view,view代表容器分割
match-clients { 192.168.148.0/24; };    //匹配内网网段
zone "gtt.com" IN {    				//设置要解析的区域
	type master;   				 
	file "gtt.com.zone.lan";   	 	//数据配置文件
};      
zone "." IN {							//可将根域配置从主配置文件
	type hint;							//hint是根区域类型
	file "named.ca";
};      
};

view "wan" {     							//定义外网view
match-clients { any; };					//匹配除了内网网段以外的任意地址
zone "gtt.com" IN {
    type master;
    file " gtt.com.zone.wan";
};
};

在这里插入图片描述

4.创建内网外网解析文件

cp -p named.localhost gttt.com.zone.lan

$TTL 1D
@       IN SOA  gtt.com. admin.gtt.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      gtt.com.
        A       192.168.148.12
www IN  A       192.168.148.1

cp -p named.localhost gtt.com.zone.wan

$TTL 1D
@       IN SOA  gtt.com. admin.gtt.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum       NS      @
        NS      gtt.com.
        A       12.0.0.1
www IN  A       12.0.0.1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.进行测试,并用虚拟机访问

进入内网客户机的Linux中

在这里插入图片描述

进入外网客户机Win7虚拟机
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值