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