Bootstrap

Linux-------------DNS域名解析:正反解析

DNS简介

域名管理系统DNS(Domain Name System)是域名解析服务器的意思,应用层协议,是互联网的一项服务。它在互联网的作用是:把域名转换成网络可以识别的ip地址,在通过IP地址访问主机。 这种由文字组成的名称,显而易见要更容易记忆。
鉴于互联网中的域名和ip地址对应关系数据库太过庞大,DNS域名解析服务采用了类似目录树的层次结构来记录域名与ip地址直接的关系,如下图
在这里插入图片描述
为了降低用户访问网络资源的门槛,DNS技术由此产生,这是一个用于管理和解析域名与ip地址对应关系的技术,简单来说就是能用接受用户输入的域名或ip地址,然后自动查询进行匹配(映射关系)的ip地址或域名,即将域名解析为ip地址(正向解析),或将ip地址解析为域名(反向解析),这样我们只需要在浏览器输入域名就能打开想要访问的网站了。

前期准备

首先需要先进行网卡的配置,网卡配置目录:/etc/sysconfig/netword-scripts目录中,由于每台设备的硬件架构不一样,需根据自己的网卡名称进行配置,这里我的网卡名称为:ens33,具体配置如下,复制时需将:

TYPE=Ethernet           //设备类型
BOOTPROTO=static        // 地址分配模式
NAME=ens33               //网卡名称
ONBOOT=yes               //是否启动
IPADDR=192.168.10.100    //ip地址
NETMASK=255.255.255.0    //子网掩码
GATEWAY=192.168.10.1     //网关地址
DNS1=192.168.10.100     //DNS地址,这里之所以和ip地址一样,是为了后续配置方便,不容易出错
                 

完成了网卡配置之后对网卡进行重启:systemctl restart network,重启完成之后没有报错即配置成功,最后可以用ifconfig查看一下
在这里插入图片描述
综上网卡已成功配置成功,接下来安装一下bind(域名解析服务程序),使用:yum install bind*进行安装,最后会提示安装成功,如若不能安装可能是yum没有正确的进行配置,可以查看之前发的apache文章。
在这里插入图片描述
成功安装bind之后就可以正式开始配置了,在这之前要知道的是在bind服务程序中有三个比较重要的文件:

主配置文件(/etc/named.conf):用于定义bind服务程序的运行。
区域配置文件(/etc/named.rfc1912.zones):用于保存域名和ip地址对应关系所在位置,对应着每个域和相应ip所在的具体位置,当需要查看或者修改时可以找到相关文件。
数据配置文件目录(/var/named):这个目录用来保存域名和ip地址真实对应关系的数据配置文件

接下里开始配置,首先我们需要进入主配置文件:/etc/named.conf,然后将11行和17行的地址都改成any,这两行分别表示服务器上的所有ip地址均可提供DNS域名解析服务,以及所有人都可以对本服务器发送DNS查询请求,如下图是修改后的
在这里插入图片描述
以上就已经完成了前期的准备工作,接下来正式进入正方解析的实验

正方解析实验

正向解析实验

首先第一步我们需要编辑区域配置文件,该文件默认有很多东西,这里可以选择将默认的东西全部删除只留下自己的参数,也可以选择将自己参数添加到配置文件的最下面
进入 vim /etc/named.rfc1912.zones 下,添加以下参数,

zone “hahaha.com” IN {
type master;
file"hahaha.com.zone"; //后续要创建的文件
allow-update { none; };
};

bind软件有自带的实例,我们直接将name.localhost复制一份即可,然后修改里面的参数
在这里插入图片描述
将复制的配置文件进行修改,如下:

$TTL 1D
@       IN SOA  hahaha.com. rname.invalid. (        //注意com后有一个点:.    
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      hahaha.com.             //这后面也有一个点:.
@       A       192.168.10.100           
mail    IN A    192.168.10.101      //正向解析,通过前面的网址解析后面的ip地址
www     IN A    192.168.10.102

修改完这些配置之后,需要重启一下named:systemctl restart named,不报错即成功运行,最后使用nslookup检验一下是否可以成功解析
在这里插入图片描述
如图所示,成功解析成功,以上就是正向解析的全部内容,反向解析也只需要稍微更改一下即可。

反向解析实验

进入 vim /etc/named.rfc1912.zones 下,添加反向解析的参数
反向解析是将ip地址解析成域名,因此在定义区域时应把ip地址反写,比如原来是192.168.10.0,反写之后就是10.168.192,只需要写出ip地址的网络位即可。

zone "10.168.192.in-addr.arpa" IN {         
        type master;
        file"hahaha.com.zone";         //这里的正向解析和方向解析放至同一个文件,也可以为反向解析重新创建一个
        allow-update { none; };
};

接下来进入你复制的文件内:hahah.com.zone内进行添加

$TTL 1D
@       IN SOA  hahaha.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      hahaha.com.
@       A       192.168.10.100 
mail    IN A    192.168.10.101             //正向解析
WWW     IN A    192.168.10.102             //正向解析
10      PTR     www.hahaha.com.             //这里是反向解析
10      PTR     mail.hahaha.com.            //前面的10是你输入的ip地址例如:192.168.100.10即可解析后面的网址
20      PTR     bbs.hahaha.com.            //输入192.168.100.20进行解析

最后使用nslookup进行解析
在这里插入图片描述
输入192.168.10.10时成功解析两个网址,如上图所示解析对应的网址,DNS方向解析实验完成

常见错误

修改resolv.conf

进入vim /etc/resolv.conf进行修改为自己的ip地址
在这里插入图片描述

修改hostname

进入:vim /etc/hostname 进行添加修改
在这里插入图片描述

检查DNS是否为ip地址

TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.10.100
NETMASK=255.255.255.0
GETWAY=192.168.10.1
DNS1=192.168.10.100     //这里和ip地址一致
NAME=ens33
ONBOOT=yes

归纳总结

以上就是DNS的全部内容,过程中可能会出现很多问题,需自己慢慢领会,在配置时需要细心,很多时候都是标点符号的问题,所有一定要认真认真认真,多进行几次配置即可熟练掌握。

;