DNS 定义
DNS 是域名系统 (Domain Name System) 的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。DNS 命名用于 Internet 等 TCP/IP 网络中,通过用户友好的名称查找计算机和服务。当用户在应用程序中输入 DNS 名称时,DNS 服务可以将此名称解析为与之相关的其他信息,如 IP 地址。
例如,多数用户喜欢使用友好的名称(如 example.microsoft.com)来查找计算机,如网络上的邮件服务器或 Web 服务器。友好名称更容易了解和记住。但是,计算机使用数字地址在网络上进行通讯。为更容易地使用网络资源,DNS 等命名系统提供了一种方法,将计算机或服务的用户友好名称映射为数字地址。
下图显示了 DNS 的基本用途,即根据计算机名称查找其 IP 地址。
DNS在应用中的工作方式:
DNS服务配置
主服务器(centos.zqy):192.168.100.9
从服务器:192.168.100.7
授权子域服务器(evil.centos.zqy):192.168.100.5
1,安装bind
# yum install -y bind
2,配置主配置文件
# vim named.conf
3,配置区域数据库文件
配置正解
# vim /var/named/centos.zqy.zone
配置反解
# vim /var/named/100.168.192.zone
改权限
# chown root:named 100.168.192.zone
# chown root:named centos.zqy.zone
# chmod 640 100.168.192.zone
# chmod 640 centos.zqy.zone
4,启动服务
# service named restart
5,配置主从
5.1(在从服务器上完成)
在另外一台从机器上(slave)
# yum install bind
配置主配置文件
# vim /etc/named.conf
-----------------
5.2(在主服务器完成)
改master服务器主配置文件允许slave服务器同步数据
把 : allow-transfer { none; };
改为: allow-transfer { 192.168.100.7; };
5.2
改数据库文件为从服务器添加NS记录
每一次修改数据库文件序列号加1.(上次是12,这次就是13)
正解文件:
重启服务
把默认DNS指向自己的服务器
# vim /etc/resolv.conf
测试正解
# dig www.centos.zqy
-------------------------------
子域授权
把evil.centos.zqy授权给下一级(192.168.100.5)
1,修改主服务器正解文件
加入这两行
evil IN NS dns.evil.centos.zqy.
dns.evil IN A 192.168.100.5
如果有从服务器也要写,
正解文件
2,在192.168.100.5上安装bind
# yum install bind -y
配置主配置文件
正解文件
-----------------------------
配置转发:
什么是转发:当dns服务器收到一个不属于自己解析的名字时
不去找根服务器,而是直接转发给指定的服务器
1,配置子域服务器转发,能解析centos.zqy域的主机
修改子域服务器主配置文件,在options中加入下面两行
写在options是总转发
forward only;
forwarders { 192.168.100.9; };
如果要转发特定的区域,就定义一个域。
zone "特定区域" IN {
type forward;
forwarders { IP; }
forward first;
}
重启服务就好了
测试
# dig www.centos.zqy @192.168.100.5
@192.168.100.5表示指定用这个DNS查询
----------------------------
DNS的view功能
view可以实现不同的主机来解析同一个主机名时返回不同的IP地址
1,编辑主服务器配置文件
2,编辑区域文件
# vim /var/named/192centos.zqy.zone
# vim /var/named/172centos.zqy.zone
3,测试
当192.168.100.9访问www.centos.zqy时
当192.168.100.5访问www.centos.zqy时