DNS
v DNS的安装与测试
v DNS主从(Master/Slave)功能的实现
v DNS子域授权
v DNS转发
一.DNS的安装与测试
1.DNS安装所需要的软件有
bind
bind-libs
bind-utils
bind-chroot
主程序为named
# yum install bind bind-libs bind-utils bind-chroot
# rpm -qa bind*(查询bind软件包的安装成功与否)
#rpm -qc bind(查看安装好bind后的配置文件)
2.DNS的配置文件分别有
/etc/named.conf(主配置文件,包括了named.rfc1912.zones)
/etc/named.rfc1912.zones(辅助的区域配置文件,区域相关的配置写在此文件中)
/etc/rndc.key
/var/named/named.ca(根节点的配置文件,默认由centos直接提供,也可以用dig命令生成)
/etc/sysconfig/named(主程序的脚本配置文件)
/var/log/named.log(日志文件)
3.配置/etc/named.conf(只保留directory选项即可启动named)
listen-on port 53 { 127.0.0.1; 192.168. 0.99; }; #配置端口,后边必须带IP地址,否则会报错,表示监听在指定的地址上
#127.0.0.1表示与本机通信的地址
#192.168.0.99表示与外部主机进行通信的地址,如果有多个,都可以添加进来,每个地址以分号结尾
#也可以把此行注释掉,也表示监听本机所有地址
directory “/var/named” #配置区域解析库文件的位置,即工作目录
allow-query { any; } #配置谁可以进行查询,此行也可以注释掉,any表示都可以,localhost表示只允许本机
recursion yes; #(允许递归查询)
注意:每一句结束必须带上分号(;),大括号中前后位置必须带上空格,注释某一行用双斜线(//)
4.配置/etc/named.rfc1912.zones(正向和反向的)
5.在/var/named/目录下新增liuzw.com.zone和192.168.0.zone两个文件
a.vim /var/named/iuzw.com.zone 添加正向解析记录,也可以添加CNAME MX
$TTL 设定缓存时间,设定此项后,下面的资源记录将不用再设置TTL
$ORIGIN 设定自动补全的域名,设定此项后,下面的NS,MX等不用再写完整的域名
例:$ORIGIN liuzw.com.
master.liuzw.com.zone 写成master即可
b.vim /var/named/192.168.0.zone 添加反向解析记录PTR
6.进行语法检查
# named-checkconf(主配置文件语法检查,无任何提示表示配置无错误,即没有消息就是最好的消息)
#named-checkzone(区域配置文件的语法检查)
#named-checkzone “liuzw.com” /var/named/liuzw.com.zone
7.修改新增文件的权限及属主或者属组,与原有的文件保持一致
#ps aux | grep named(可以看到启动named进程的用户为named)
#ll /var/named/ (可以看到自己新增文件其它用户也拥有可读权限,并且属组为root,要改的和其它的文件一样)
# chmod 640 liuzw.com.zone
# chown :named liuzw.com.zone
# ll liuzw.com.zone
8.重启named服务,可以看到启动成功
# systemctl status named(查看named启动状态)
#ss -tunlp | grep :53
#rndc status (查看DNS服务器当前的状态)
9.用本机测试正向解析结果
#dig -t A www.liuzw.com @192.168.0.99
10.用本机测试反向解析结果
#dig -x 192.168.0.99 @192.168.0.99
11.修改配置文件后,不要随意重启服务器,最好能重载
#systemctl reload named
#rndc reload
12.添加不存在的域名到指定的IP(泛域名解析)
#dig -t A liu.liuzw.com @192.168.0.99(此记录不存在,所以无法解析)
#vim /var/named/liuzw.com.zone 修改此文件添加记录,看到解析一个不存的记录,也可以解析成功
二.DNS主从(Master/Slave)功能的实现
1.新增一台从DNS服务器192.168.50.164
2.配置主服务器192.168.50.163,原来的数据不变,新增一些内容即可
#vim /etc/named.rfc1912.zones 在自定义的区域上分别新增一条内容
allow-transfer { 192.168.50.164; };
3.配置主服务器的自定义区域文件,添加从服务器的资源记录
#vim /var/named/liuzw.com.zone 添加正向从服务器记录
#vim /var/named/192.168.50.zone 添加反向从服务器记录
4.重启named,并查看日志,看是否传输成功
#systemctl restart named
#tail -10 /var/log/messages
5.配置从服务器,从DNS服务器也需要安装bind,bind-libs,bind-utils,bind-chroot
a.配置主配置文件,即开启端口,开启查询功能
b.配置区域文件,类型为slave,file文件都放在/var/named/slaves目录下,一定要指定masters
c.重启从服务器named,查看/var/named/slaves目录下是否有数据文件
#systemctl restart named
#ll /var/named/slaves,可以看到已经传输成功
d.查看日志文件
#tail -30 /var/log/messages,可以看到已经传输成功
6.主DNS修改序列号并进行验证是否传输成功
#vim /var/named/liuzw.com.zone
#vim /var/named/192.168.50.zone
#tail /var/log/messsages 查看日志,看到修改后传输成功
7.从DNS查看日志
#tail /var/log/messages
三.DNS子域授权,新增子域192.168.50.165,假设需要子域解析的域为nihao.liuzw.com
1.子域授权的配置非常简单,在主DNS上的配置只需要设置一条资源记录
#vim /var/named/liuzw.com.zone 添加一条NS,一条A记录
2.子域的配置,需要完整的zone file
#vim /var/named/nihao.liuzw.com 新建并配置此zone file
3.子域修改区域配置文件/etc/named.rfc1912.zones,新赠下面的内容
#vim /etc/named.rfc1912.zones
4.子域修改主配置文件/etc/named.conf,allow-query要设置好,否则可能解析不到
#vim /etc/named.conf
5.重启主DNS,从DNS,在主DNS进行解析
#dig -t A www.nihao.liuzw.com @192.168.50.163
可以看到解析成功,父域可以找到子域,子域不能看到父域的,除非从根开始查找才能看到,测试场景下我们的搭建的
DNS并不合法的DNS,所以子域是无法找到父域的
四.DNS转发;如果要让子域看到父域的内容,就要设置转发功能
1.在没做转发之前,子域是解析不到父域的
# dig -t A www.liuzw.com @192.168.50.165
2.设置子域进行转发
#vim /etc/named.rfc1912.zones 把对父域的请求转发到主DNS上面