目录
一、前述
1、BIND(Berkeley Internet Name Domain)
2、bind服务中三个关键文件
1)主配置文件/etc/named.conf
2)区域配置文件/etc/named.rfc1912.zones
正向解析
反向解析
3)数据配置文件目录/var/named/
正向解析资源文件/var/named/named.localhost
反向解析资源文件/var/named/named.loopback
3、部署DNS从服务器
二、实验
实验一 正向解析DNS配置
1、服务端操作,编辑bind主配置文件
2、服务端操作,编辑区域配置文件
3、服务端操作,编辑数据配置文件
4、服务端重启服务
5、测试
实验二 反向解析DNS配置
1、服务端操作,编辑bind主配置文件
2、服务端操作,编辑区域配置文件
3、服务端操作,编辑数据配置文件
4、服务端重启服务
5、测试
实验三 部署DNS主从服务器
1、准备工作(预处理)
2、主服务端操作,编辑主配置文件设置监听IP
3、主服务端操作打开区域配置文件
4、主服务端操作,设置正反向解析数据配置文件
5、主服务端操作,重启服务
6、从服务端操作,修改主配置文件
7、从服务端操作,修改区域配置文件,填写主服务器的 IP 地址与要抓取的区域信息,注意此时的服 务类型应该是 slave(从)
8、从服务端操作,重启服务
9、从服务端操作,测试
实验三拓展:增量区域传送
1、主服务端操作,修改数据配置文件
2、主从服务端操作,重启服务
3、从服务端操作,测试
一、前述
1、BIND(Berkeley Internet Name Domain)
——是一种全球使用最广泛的、最高效的、最安全的域名解析服务程序
2、bind服务中三个关键文件
/etc/named.conf : 主配置文件,用于设置bind服 务程序的运行
/etc/named.rfc1912.zones: 区域配置文件(zone),用于保存域名和IP地址对应关系文件的所在位置,类似于图书目录,当需要修改域名与IP映射关系时需要在此文件中查找相关文件位置
/var/named 目录:数据配置文件目录,该目录存储保存域名和IP地址映射关系的数据文件
1)主配置文件/etc/named.conf
options{} 全局参数设置
logging{} 指定日志记录的分类及其存储目录
zone{} 设置DNS根服务器的相关内容
include
include "/etc/named.rfc1912.zones"; # 表示当前DNS服务器的区域配置文件位置 include "/etc/named.root.key"; # 密钥存储文件位置
一般需要修改三部分:
listen-on port 53 { 127.0.0.1; }; 即监听ip及端口
allow-query { localhost; }; 允许那些客户端访问
recursion yes; 是否开启递归查询
2)区域配置文件/etc/named.rfc1912.zones
正向解析
zone "localhost.localdomain" IN { # 正向解析域名
type master; # 服务类型:master表示主服务器,slave表示从服务器,hint根服务器
file "named.localhost"; # 域名与IP地址规则文件存储位置
allow-update { none; }; # 允许那些客户端动态更新本机域名解析
};
# allow-update:允许更新解析库内容,一般关闭
# allow-query: 允许查询的主机,白名单
# allow-tranfter : 允许同步的主机,白名单,常用
# allow-recursion: 允许递归的主机
反向解析
zone "1.0.0.127.in-addr.arpa" IN {
# 表示127.0.0.1的反向解析配置,IP地址需要倒置书写,只需书写网段即可
type master;
file "named.loopback"; # 反向解析的规则文件保存位置
allow-update { none; };
};
3)数据配置文件目录/var/named/
正向解析资源文件/var/named/named.localhost
$TTL 1D # 设置生存周期时间,为1天,$表示宏定义
@ IN SOA @ rname.invalid. (
# @ :表示zone域,现在表示域名,如baidu.com
# IN SOA : 授权信息开始
# rname.invalid. : 域名管理员的邮箱(不能使用@,使用点替代邮件分隔符@)
0 ; serial # 序列号,10位以内的整数
1D ; refresh # 更新频率为1天
1H ; retry # 失败重试时间为1小时
1W ; expire # 失效时间1周
3H ) ; minimum # 缓存时间为3小时
IN NS ns.域名.
ns IN A 域名解析服务器IP地址
www IN A 域名解析服务器IP地址
bbs IN A 域名解析服务器IP地址
mail IN A 域名解析服务器IP地址
# A:表示IPv4地址, AAAA表示IPv6地址
A记录:A 代表 Address,用来指定域名对应的 IP 地址,如将 item.taobao.com 指定到 115.238.23.xxx,将 switch.taobao.com 指定到 121.14.24.xxx
MX记录:Mail Exchange,就是可以将某个域名下的邮件服务器指向自己的 Mail Server
NS记录:为某个域名指定 DNS 解析服务器,也就是这个域名由指定的 IP 地址的 DNS 服务器取解析
CNAME 记录:Canonical Name,即别名解析。
TXT 记录:为某个主机名或域名设置说明
反向解析资源文件/var/named/named.loopback
[root@server ~]# vim /var/named/named.loopback
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.域名. # 域名服务器记录,注意结尾的点
A 域名解析服务器的IP地址
IP地址 PTR 域名. # PTR 指针记录,用于反向解析
3、部署DNS从服务器
DNS 域名解析服务中,从服务器可以从主服务器上获取指定的区域数据文件,从而起到备份解析记录与负 载均衡的作用,因此通过部署从服务器可以减轻主服务器的负载压力,还可以提升用户的查询效率
二、实验
服务端IP 客户端IP 网址
192.168.30.132 192.168.30.133 www.openlab.com
[root@server ~]# setenforce 0
[root@server ~]# systemctl stop firewalld
[root@server ~]# yum install bind -y
[root@server ~]# nmcli c modify ens33 ipv4.method manual ipv4.addresses 192.168.30.132/24 ipv4.gateway 192.168.30.2 ipv4.dns 114.114.114.114
[root@server ~]# nmcli c reload
[root@server ~]# nmcli c up ens33
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/2)
# 客户端设置静态IP
[root@server_node ~]# nmcli c modify ens33 ipv4.method manual ipv4.addresses 192.168.30.133/24 ipv4.gateway 192.168.30.2 ipv4.dns 114.114.114.114
[root@server_node ~]# nmcli c reload
[root@server_node ~]# nmcli c up ens33
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/Act
[root@server_node ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 查看网卡文件配置
实验一 正向解析DNS配置
1、服务端操作,编辑bind主配置文件
[root@server ~]# vim /etc/named.conf
# 需改2行
listen-on port 53 { 192.168.30.132; }; # 本机IP
allow-query { any; }; # any为允许所有主机
2、服务端操作,编辑区域配置文件
[root@server ~]# vim /etc/named.rfc1912.zones
zone "openlab.com" IN { # 双引号中输入,表示管理那个区域
type master;
file "openlab.com.zone"; # 双引号中输入,表示数据配置文件的名称,注意:不写路径
allow-update { none; };
};
3、服务端操作,编辑数据配置文件
使用拷贝命令将模版文件(/var/named/named.localhost)复制 一份在修改局部
拷贝时需要加-a参数,即拷贝内容及文件属性保证文件内容一致、权限等信息不变
[root@server ~]# cd /var/named/
[root@server named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@server named]#
[root@server named]# cp -a named.localhost openlab.com.zone
[root@server named]# ls
data dynamic named.ca named.empty named.localhost named.loopback openlab.com.zone slaves
[root@server named]# vim openlab.com.zone
4、服务端重启服务
[root@server named]# systemctl restart named
5、测试
定义客户端,将客户端的dns修改为服务端的IP地址
[root@server_node ~]# nslookup www.openlab.com
Server: 192.168.30.132
Address: 192.168.30.132#53
Name: www.openlab.com
Address: 192.168.30.132
实验二 反向解析DNS配置
1、服务端操作,编辑bind主配置文件
[root@server ~]# vim /etc/named.conf
# 需改2行
listen-on port 53 { any; }; # any为允许所有主机
allow-query { 192.168.30.133; }; # 此处也可以写为IP地址
2、服务端操作,编辑区域配置文件
[root@server named]# vim /etc/named.rfc1912.zones
zone "30.168.192.in-addr.arpa" IN {
type master;
file "192.168.30.arpa";
allow-transfer { 192.168.30.133; };
};
3、服务端操作,编辑数据配置文件
[root@server ~]# cd /var/named
[root@server named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@server named]# cp -a named.loopback 192.168.30.arpa
[root@server named]# vim 192.168.30.arpa
4、服务端重启服务
[root@server named]# systemctl restart named
5、测试
实验三 部署DNS主从服务器
设备 IP
主服务器 192.168.30.132
从服务器 192.168.30.133
1、准备工作(预处理)
[root@server ~]# setenforce 0
setenforce: SELinux is disabled
[root@server ~]# systemctl stop firewalld
[root@server ~]# yum install bind -y
[root@server ~]# nmcli c modify ens33 ipv4.method manual ipv4.addresses '192.168.30.132/24' ipv4.gateway '192.168.30.2' ipv4.dns '192.168.30.132'
[root@server ~]# nmcli c reload
[root@server ~]# nmcli c up ens33
[root@server ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 # 查看网卡配置
[root@server_node ~]# setenforce 0
[root@server_node ~]# systemctl stop firewalld
[root@server_node ~]# yum install bind -y
[root@server_node ~]# nmcli c modify ens33 ipv4.method manual ipv4.addresses
192.168.30.133/24' ipv4.gateway '192.168.30.2' ipv4.dns '192.168.30.133'
[root@server_node ~]# nmcli c reload
[root@server_node ~]# nmcli c up ens33
[root@server_node ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 # 查看网卡配置
2、主服务端操作,编辑主配置文件设置监听IP
[root@server ~]# vim /etc/named.conf
3、主服务端操作打开区域配置文件
[root@server ~]# vim /etc/named.rfc1912.zones
4、主服务端操作,设置正反向解析数据配置文件
# 正向解析
[root@server ~]# cd /var/named
[root@server named]# cp -a named.localhost openlab.com.zone
[root@server named]# vim openlab.com.zone
# 反向解析
[root@server ~]# cd /var/named
[root@server named]# cp -a named.loopback 192.168.30.arpa
[root@server named]# vim 192.168.30.arpa
5、主服务端操作,重启服务
[root@server ~]# systemctl restart named
6、从服务端操作,修改主配置文件
[root@server_node ~]# vim /etc/named.conf
7、从服务端操作,修改区域配置文件,填写主服务器的 IP 地址与要抓取的区域信息,注意此时的服 务类型应该是 slave(从)
[root@server_node ~]# vim /etc/named.rfc1912.zones
8、从服务端操作,重启服务
[root@server_node ~]# cd /var/named/slaves
[root@server_node slaves]# ls # 启动服务前查看解析配置文件为空
[root@server_node slaves]# systemctl start named # 启动服务后自动拉取
[root@server_node slaves]# ls
9、从服务端操作,测试
确认从服务端的网卡DNS地址修改为自己的IP:192.168.30.133,使从服务器自身也能提供的 DNS 域名解析服务,再进行测试
实验三拓展:增量区域传送
————仅复制区域里变化的文件
1、主服务端操作,修改数据配置文件
[root@server ~]# vim /var/named/openlab.com.zone
2、主从服务端操作,重启服务
[root@server ~]# systemctl restart named
[root@server_node ~]# systemctl restart named
3、从服务端操作,测试
注意:
序号需要比原序号大
更新频率可以改小一点,这样比较快看到实验结果
需要写一条关于从服务器的NS和A记录,不然新增的数据有时能更新有时无法更新