一 DNS 简介

1 DNS来源:

由于人们对于4组32bit的数字的记忆能力有限,不能记住过多的IP地址,因此便产生了/etc/hosts这个文件用于解析IP地址和对应的域名,可惜的是,其不能自动在所有的计算机内更新,且要将主机名加入该档案仅能向 INTERNIC 注册,若 IP 数量太多时,该档案会大到不象话,也就更不利于其他主机同步化了。从 90 年代后期,便产生了另外一套阶层式管理主机名对应 IP 的系统,我们称它为 Berkeley Internet Name Domain, BIND,DNS 利用类似树状目录的架构,将主机名的管理分配在不同层级的 DNS 服务器当中,经由分层管理, 所以每一部 DNS 服务器记忆的信息就不会很多,而且若有 IP 异动时也容易修改。

2 DNS架构:

在整个 DNS 系统的最上方一定是 . (小数点) 这个 DNS 服务器 (称为 root),最早以前它底下管理的就只有 com, edu, gov, mil, org, .net 这种特殊领域以及以国家为分类的第二层的主机名了!这两者称为 Top Level Domains (TLDs) 喔! 一般最上层领域名 (Generic TLDs, gTLD):例如 .com, .org, .gov 等等 国码最上层领域名 (Country code TLDs, ccTLD):例如 .tw, .uk, .jp, .cn等 最早 root 仅管理六大领域名,分别如下: 名称 代表意义 com 公司、行号、企业 org 组织、机构net.qiang@hotmail.com edu 教育单位 gov 政府单位 net 网络、通讯 mil 军事单位 为了让某些国家也能够有自己的最上层领域名,因此, 就有所谓的 ccTLD 了。这样做有什么好处呢?因为自己的国家内有最上层 ccTLD ,所以如果有 domain name 的需求,则只要向自己的国家申请即可,不需要再到最上层去申请!

3 DNS 数据库的类型:

hint, master/slave 架构 如果有两部以上的 DNS 服务器 . (root) 这个 hint 类型的数据库档案外,还有两种基本类型,分别是 Master (主人、主要) 数据库与 Slave (奴隶、次要) 数据库类型。这个 Master/Slave 就是要用来解决不同 DNS 服务器上面的数据同步问题的。 Master: 这种类型的 DNS 数据库中,里面所有的主机名相关信息等,通通要管理员自己手 动去修改与设定, 设定完毕还得要重新启动 DNS 服务去读取正确的数据库内容,才算完成数据库更新。一般来说,我们说的 DNS 架设,就是指设定这种数据库的类型。同时,这种类型的数据库,还能够提供数据库内容给 slave 的 DNS 服务器喔! Slave: 使用 Master 数据库类型,当有用户向我要求要修改或者新增、删除数据时,使用 Slave 类型的数据库取得方式就很有用,Slave 必须要与 Master 相互搭配。

二 DNS 的安装配置

1 安装与启动

yum -y install bind systemctl start named systemctl enabled named

2 配置文件情况

主配置文件:/etc/named.conf 子配置文件:/etc/name.rfc1912.zones 数据目录: /var/named

3 配置

1 配置访问范围

其默认的配置为本地可以访问

修改配置文件为所有主机均可访问

2 配置惟高速域名服务器

其会将之前的域名解析保存在高速缓存中,以确保下一次查询的速度会更快

3 权威正向解析

1 修改子配置文件(添加正向声明) 其与在主配置文件中效果相同,为便于排错,因此在子配置文件中配置 vim /etc/named.rfc1912.zones 2 添加其正向解析的解析文件

cp -p X Y 表示连同权限一起复制给Y文件

$TTL 1D @ IN SOA dns.abcd.com. root.abcd.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns.abcd.com. # 设置域名服务记录 MS 5 linux.cao.net. 设置邮件交换记录 dns A 192.168.3.53 设置地址记录 www A 192.168.3.100 设置别名记录 -A : 域名至IPV4地址 -AAAA: 域名至IPV6地址 -CNAME: 名称至规范名称 -PTR: ipv4/ipv6地址到名称 -MX: 用于名称的邮件交换器(向何处发送电子邮件) -NS: 域名的名称服务器 -SOA: “授权起始” NDS 区域信息(管理信息)

3 可以进行访问

相关参数解析: QUESTION SECTION: 提出实际的DNS 信息 ANSWER SECTION: 响应如果有 AUTHORITY SECTION: 负责域/区域的名称服务器 ADDITIONAL SECTION: 提供其他信息,通常是关于名称服务器的

4 反向域名解析

1 配置vim /etc/named.rfc1912.zones文件 2 配置反向解析文件

$TTL 1D @ IN SOA dns.abcd.com. root.abcd.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS dns.abcd.com. dns A 192.168.3.53 设置域名服务记录 53 PTR www.abcd.com. 设置反向指针记录

3 验证结果$TTL 1D

5 使用内网和外网分别访问不同的地址解析

1 创建外网访问的地址解析文件 2 修改主配置文件 vim /etc/named.conf

上述表示当使用ip为192.168.31.148 访问时将进入named.rfc1912.zones.inter 对应的配置文件,及/var/named/abcd.com.inter 访问配置下,而其他则直接使用/etc/named.rfc1912.zones中对应的配置文件的配置。

3 复制并修改子配置文件 ![](http://i2.51cto.com/images/blog/201712/04/bec92fa214cd4efc06bd1d1c50081a12.png?x-oss- process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 4 关闭防火墙并重启

5 在 192.168.31.200 设备上进行测试

4 DNS 的主从架构

1 实验环境

主DNS : IP 192.168.31.148 从DNS : IP 192.168.31.200 实验目的: 实现DNS的主设置,从更新

2 主DNS 配置

在以上配置成立的前提下进行配置 1 修改主配置文件 vim /etc/named.conf 2 修改子配置文件

从DNS 配置

1 安装bind 服务

2 启动并设置开机自启动 systemctl start named systemctl enabled named

3 修改主配置文件

4 修改子配置文件 vim /etc/named.rfc1912.zones

5 重启服务

systemctl restart named

6 配置其为本地解析

7 在从服务器端进行测试

8 通过修改主服务器端的地址解析来进行至从服务器端的同步工作 修改主配置文件的域名解析 重启主服务器 重启从服务器 进行域名解析

5 远程修改主DNS文件

1 主服务器端配置

1 先将其解析文件进行备份 2 修改自子配置文件内容 3 给主DNS进行对/var/named授权 4 重启服务器

2 客户端

进行增加域名解析

服务器端进行重启并查看

从服务器进行删除域名解析 主服务器重启并查看

6 基于key的远程主机更新

1 主服务器端配置

1 必须进行恢复操作(域名解析文件) 2 复制bind在安装时产生的key /etc/rndc.key 名称为westos.key 3 生成密钥 4 将其修改与之前生成的密钥相同 5 进行配置主配置文件 6 进行配置子配置文件,使其更新方式为密钥更新 7 将其密钥传入从服务器中 8 主服务器重启

2 从服务器端进行更新增加操作

3 主服务器重启并查看

从服务器端进行删除操作 主服务器进行重启删除操作

7 DDNS 动态DNS 服务

1 主服务器端配置

1 安装dhcp 服务器 2 复制主配置文件文件实例

3 查找与DHCP DNS相关的文件 4 配置DHCP主配置文件

5 复制其密钥

6 重启DHCP服务器

2 从服务端

从服务器端重启DHCP并配置网卡为自动获取IP地址结果为

从服务器端进行DNS的域名写入工作

主服务器重启并查询