*全球总共13台根域名服务器
一、实验目的
二、实验环境
三、实验过程(如下)
一、安装BIND
[root@pakho ~]# yum clean all #清除一下yum源的缓存
[root@pakho ~]# yum repolist #重新加载yum源
[root@pakho ~]# yum list | grep '^bind\.' #查询yum仓库是否有bind安装包
[root@pakho ~]# yum -y install bind* #安装bind服务
BIND 服务器端程序
二、配置主配置文件
[root@pakho ~]# cp /etc/named.conf /etc/named.conf.backup #主配置文件备份
[root@pakho ~]# vim /etc/named.conf #进入主配置文件
options {
#全局配置
listen-on port 53 {
192.168.100.20; }; #监听53号端口,ip地址使用提供服务的本地IP,也可以设置any表示所有
listen-on-v6 port 53 {
::1; }; #ipv6 如果不使用可以注释或删除
directory "/var/named"; #区域数据文件的默认存放位置
dump-file "/var/named/data/cache_dump.db"; #域名缓存数据库文件的位置
statistics-file "/var/named/data/named_stats.txt"; #状态统计文件的位置
memstatistics-file "/var/name/data/named_mem_stats.txt";#内存统计文件的位置
allow-query {
any; }; #允许使用本解析服务的网段,可以使用any允许所有
zone "." IN {
#正向解析“.”根区域
type hint; #类型为根区域
file "named.ca"; #区域数据文件为named.ca,记录13台根域服务器的域名和IP地址等信息
};
include "/etc/named.rfc1912.zones"; #包含区域配置文件里的所有配置
include "/etc/named.root.key";
查看A记录映射关系表
[root@pakho ~]# cat /var/named/named.ca
[root@pakho ~]# vim /etc/named.rfc1912.zones #进入配置文件
文件有模板 可以复制粘贴后进行修改
在文件中添加如下几行
zone "pakho.com" IN {
#正向解析为“pakho.com”
type master; #类型:主缓存 master
file "pakho.zone" #指定区域数据文件为pakho.zone
};
1)复制主配置文件
[root@pakho ~]# cp -p /var/named/named.empty /var/named/pakho.zone
#保留源文件的权限和属主的属性复制
检查是否复制完成 拷贝文件是否具有属主属性
2)配置正向区域数据文件
[root@pakho ~]# vim /var/named/pakho.zone #进入配置文件
$TTL 3H #有效解析记录的生成周期
@ IN SOA pakho.com. admin.pakho.com. (
#@表示当前的DNS区域名表示这个域名 SOA表示授权信息开启 后面表示邮件地址因为@有特殊含义 所以使用.代替
0 ; serial #更新序列号,可以是10以内的整数
1D ; refresh #刷新时间,重新下载地址数据的间隔
1H ; retry #重试延迟,下载失败后的重试延迟
1W ; expire #失效时间,超过该时间仍无法下载则放弃
3H ) ; minimum #无效解析记录的生存周期
@ IN NS ns1.pakho.com. #记录当前区域DNS服务器的名称
IN MX 10 ns1.pakho.com. #MX为邮件服务器 10表示优先级 数字越大优先级越低
ns1 IN A 192.168.100.20 #记录正向解析域名对应的IP,即将域名与IP绑捆
ftp IN A 192.168.100.20
sam IN A 192.168.100.20
#"@"这里是一个变量,表示当前DNS区域
#SOA标记用于同步主从服务器的区域数据,如更新序列号相同则不会更新
#“pakho.com.”此为完全合格域名(FQDN),后面有个“.”不能漏掉
#“admin.pakho.com.”表示管理员邮箱,这里的@是变量,所以用“.”代替
[root@pakho ~]# hostnamectl set-hostname ns1.pakho.com. #修改主机名
常见域名解析类型:
3)配置文件语法检查工具
[root@pakho ~]# named-checkconf -z /etc/named.conf
仅检查语法不检查逻辑关系
当显示的全为0时表示没有语法错误
五、启动DNS服务器服务,关闭防火墙
[root@pakho ~]# rpm -ql bind #可以先查看一下BIND服务名称
[root@pakho ~]# systemctl start named #启动服务
[root@pakho ~]# systemctl enable named #设置为开机自启动
[root@pakho ~]# systemctl stop firewalld #关闭防火墙
六、测试DNS服务器
6.1) windows10测试
6.2) Linux测试
1、打开一台新的Linux作为测试机
2、网卡配置
[root@611 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32 #进入网卡配置
...
DNS1="192.168.100.20" #将DNS服务器修改为192.168.100.20 对应我们搭建的DNS服务器
...
#中间省略部分配置
[root@611 ~]# ifdown ens32;ifup ens32 #重启网卡
3、测试
ping一个A记录存在的地址
返回是192.168.100.20 表示本地DNS进行的解析
工作原理:
4、使用nslookup进行测试
1)安装nslookup
[root@611 ~]# yum clean all #防止出现乱码先清空yum缓存
[root@611 ~]# yum repolist #刷新yum仓库
[root@611 ~]# yum -y install bind-utils #下载nslookup
2)通过nslookup解析
[root@611 ~]# nslookup www.baidu.com
Server: 192.168.100.20 #DNS服务器
Address: 192.168.100.20#53 #地址加端口号
Non-authoritative answer: #发现本地没有这个地址于是解析到了公网
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 14.215.177.39
Name: www.a.shifen.com
Address: 14.215.177.38
[root@611 ~]# nslookup ftp.pakho.com
Server: 192.168.100.20
Address: 192.168.100.20#53
Name: ftp.pakho.com #发现本地缓存存在这个地址于是解析到了本地
Address: 192.168.100.20
基于刚才的配置进行反向解析配置
一、修改区域配置文件,添加反向解析配置
[root@pakho ~]# vim /etc/named.rfc1912.zones #进入配置文件
zone "100.168.192.in-addr.arpa" IN {
#添加反向解析配置
type master;
file "pakho.com.arpa"; #区域配置文件为pakho.com.arpa
};
1)复制主配置文件
[root@ns1 ~]# cp -p /var/named/named.localhost /var/named/pakho.com.arpa
#保留源文件的权限和属主的属性复制
检查是否复制完成 拷贝文件是否具有属主属性
2)配置反向区域数据文件
[root@ns1 ~]# vim /var/named/pakho.com.arpa #进入配置文件
$TTL 1D
@ IN SOA pakho.com. admin.pakho.com. (
0 ; serial #更新序列号,可以是10以内的整数
1D ; refresh #刷新时间,重新下载地址数据的间隔
1H ; retry #重试延迟,下载失败后的重试延迟
1W ; expire #失效时间,超过该时间仍无法下载则放弃
3H ) ; minimum #无效解析记录的生存周期
IN NS ns1.pakho.com.
20 IN PTR ns1.pakho.com.
20 IN PTR ftp.pakho.com.
20 IN PTR sam.pakho.com. #前面的数字需要改成你该服务器网段最后的IP地址
#我的是192.168.100.20 就改成了20
3)重启服务
[root@ns1 ~]# systemctl restart named #重启服务
4)验证
[root@611 ~]# nslookup 192.168.100.20 #使用nslookup验证 反向解析成功
20.100.168.192.in-addr.arpa name = sam.pakho.com.
20.100.168.192.in-addr.arpa name = ns1.pakho.com.
20.100.168.192.in-addr.arpa name = ftp.pakho.com.
一、安装BIND
[root@ns2 ~]# yum -y install bind*
二、配置主配置文件
1) 回到主服务器配置文件
添加标红一行 对应的是从服务器的IP地址
2)从服务器的主配置
[root@ns2 ~]# cp /etc/named.conf /etc/named.conf.backup #主配置文件备份
[root@ns2 ~]# vim /etc/named.conf #进入主配置文件
options {
listen-on port 53 {
192.168.100.21; }; #设置监听端口
listen-on-v6 port 53 {
::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query {
any; }; #所有者可访问,这里可以是网段也可以是IP
三、修改区域配置文件,添加正&反向解析配置
[root@ns2 ~]# vim /etc/named.rfc1912.zones #进入配置文件
zone "pakho.com" IN {
#正向解析文件
type slave; #类型为slave
file "slaves/pakho.zone";
masters {
192.168.100.20;}; #定义一个masters 为主服务器的ip地址
};
zone "100.168.192.in-addr.arpa" IN {
#反向解析文件
type slave; #类型为slave
file "slaves/pakho.com.arpa";
masters {
192.168.100.20;}; #定义一个masters 为主服务器的ip地址
};
四、配置网络
1)开启一台虚拟机进入网卡配置
[root@611 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32 #配置网卡
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens32"
UUID="6b9e423d-c32d-4074-8b6f-f6c4e47a6f9b"
DEVICE="ens32"
ONBOOT="yes"
IPADDR="192.168.100.10"
PREFIX="24"
GATEWAY="192.168.100.2"
IPV6_PRIVACY="no"
DNS1="192.168.100.21" #将DNS设置为从服务器地址
2)重启网络
[root@611 ~]# systemctl restart network #重启网络
五、重启DNS服务
回到从服务器重启
[root@ns2 ~]# systemctl restart named #重启DNS服务
六、通过nslookup解析测试
回到客户端测试
[root@611 ~]# nslookup www.baidu.com
Server: 192.168.100.21
Address: 192.168.100.21#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 14.215.177.38
Name: www.a.shifen.com
Address: 14.215.177.39
[root@611 ~]# nslookup ftp.pakho.com
Server: 192.168.100.21
Address: 192.168.100.21#53 #本地服务器为192.168.100.21端口为53
Name: ftp.pakho.com
Address: 192.168.100.20 #解析到主服务器成功
[root@611 ~]# nslookup 192.168.100.20 #从服务器反向解析成功
20.100.168.192.in-addr.arpa name = ns1.pakho.com.
20.100.168.192.in-addr.arpa name = sam.pakho.com.
20.100.168.192.in-addr.arpa name = ftp.pakho.com.