目录
1、BIND(Berkeley Internet Name Domain)
2)区域配置文件/etc/named.rfc1912.zones
正向解析资源文件/var/named/named.localhost
反向解析资源文件/var/named/named.loopback
7、从服务端操作,修改区域配置文件,填写主服务器的 IP 地址与要抓取的区域信息,注意此时的服 务类型应该是 slave(从)
一、前述
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记录,不然新增的数据有时能更新有时无法更新