有思俱乐部学习园地

在Ubuntu里搭建DNS



   DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明
在没有DNS服务前,我们将/etc/hosts文件比成一个DNS配置文件,因为/etc/hosts实现后与DNS类似。之所以会独立出DNS服务,是因为因特网主机多,如果每个主机都靠/etc/hosts文件来维护主机名到ip的映射,那么工作量非常大,对本地更新、网络资源占用都很浪费,所以出现了DNS。(以上出自百度与http://blog.csdn.net/Jammg/article/details/51027219)
/etc/resolv.conf用来指定DNS服务的地址,在没有自定义DNS地址时发现DNS指定是本机。

1.DNS理论:
DNS(domain name system)及域名系统,万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。
2.DNS使用的端口:UDP53
3.DNS记录类型
(1)A记录         正向解析,通过域名解析成IP地址
(2)CNAME记录 别名记录,给域名一个别名
(3)PTR记录  反向解析,通过IP地址去解析成域名
(4)MX记录     邮件记录,寻找局域网内的邮件服务器
4.智能DNS理论:
智能DNS也就是DNS服务器根据网段自动选择较近的DNS服务器进行DNS解析

新建一个DNS正向解析域,并且进行正向解析

实验环境:两台Debian

dns server 192.168.10.1

clinet 192.168.10.2

首先在DNS服务器上安装bind9服务

apt-get install bind9 -y

然后去bind9的配置文件内添加一个正向解析域

vi /etc/bind/named.conf

下一步我们去复制一个记录文件

复制完成后,我们去这个记录文件内添加一下记录

填写完记录后,保存并退出

接下来重启一下bind9这个服务

重启完成后,查看一下bind9服务的状态,查看其是否出现故障

若无问题后,我们可以使用客户端对其进行测试

测试结果为成功

(2)新建一个反向作用域 然后进行反向解析 环境还是和正向解析域的环境一样,首先我们需要在bind9配置文件内,添加一个反向解析域

vi /etc/bind/named.conf

保存退出,然后去复制一下记录文件

在记录文件内添加记录

保存重启bind9服务

然后客户端测试

(3)智能DNS DNS服务器(debian 8.7 )(IP:eth0 10.3.15.20 eth0:1 10.3.16.33) 客户端 (debian 8.7)(IP:10.3.16.35)

首先我们先搭建一个DNS服务器

1.apt-get install bind9         #首先我们安装一下BIND9
2. vi /etc/bind/named.conf   #修改主配置文件
3. 我们在主配置文件中添加一个ACL,VIEW 如下图所示
参数详解:
ACL{};  #设置一个ACL(访问控制列表)  用于设定内外网
VIEW{};    #定义网段的区域文件
在VIEW中我们首先需要让他与我们的ACL匹配 故我们使用match-clients 这个参数 让其制定我们的客户端区域
然后我们再在这个VIEW中写一个ZONE    #当我们在使用VIEW的时候所有的ZONE都需要写到VIEW中 故我们需要将上面的include defalut-zones 那一行给注释掉
recursion yes;        #是否允许递归查询

上面的是内网的VIEW 然后我们再定义一个外网的ZONE

修改完主配置文件后 我们去建立一个DB

cp db.empty db.skills
cp db.empty db.linux

建立完DB后 我们进入DB添加A记录、

我们在这两个DB中分别写两条A记录

内网的DB指向10.3.15.20这个网卡 外网的DB指向10.3.16.33这个网卡

修改完以上的东西后我们重启一下bind9 然后进行测试

首先我们在内网进行测试

我们发现其使用10.3.15.20这个IP进行解析的这个没错

然后我们在外网进行测试

外网测试结果也为成功

DNS泛解析

DNS泛解析其实非常的简单 我们只需要在在正向区域中加入这样一个记录就好了

我们在我们需要使用泛解析的域名前面加个*号即可 然后我们进行测试

测试结果为成功

工作人员

 
作者:林志灿
信息录入:林志灿