先了解一些bind中常用工具:

dig :DNS 查找工具

描述:

dig是一个用于查询DNS名称服务器的灵活工具。它执行DNS查找并显示从所查询的名称服务器返回的答案。大多数DNS管理员使用dig来解决DNS问题,因为它具有灵活性、易用性和清晰的输出。其他查找工具的功能往往不如dig。

语法:

dig [@server] [-b address] [-c class] [-f filename] [-k filename] [-m] [-p port#] [-q name] [-t type] [-v] [-x addr] [-y [hmac:]name:key] [ [-4] | [-6] ] [name] [type] [class] [queryopt…]

dig [-h]

dig [global-queryopt…] [query…]

dig的典型调用如下所示:

dig @server name type

sever:

要查询的名称服务器的名称或IP地址。它可以是带点的十进制形式的IPv4地址,也可以是冒号分隔形式的IPv6地址。当提供的server参数是主机名时,dig会在查询该名称服务器之前解析该名称。

如果没有提供server参数,dig会查询/etc/resolv.conf;如果在那里找到一个地址,它就查询该地址的名称服务器。如果使用了-4或-6选项,则只尝试对应传输的地址。如果没有找到可用的地址,dig将查询发送到本地主机。将显示来自响应的名称服务器的应答。

name:

要查找的Resource record(资源记录)中的名字

-x addr:

这个选项简化了映射IP地址到名称的反向查询,这个addr是一个带点的十进制的IPV4格式,后者是以冒号分隔的IPV6地址。当使用-x选项是,不需要提供name, class, and type 参数,Dig会自动查找类似94.0.192 .in-addr这样的名称。并将查询类型和类别分别设置为PTR和IN。在IP6下使用nibble格式查找IPv6地址。

host:DNS查找工具

语法:

host [-aACdlnrsTUwv] [-c class] [-N ndots] [-p port] [-R number] [-t type] [-W wait] [-m flag] [ [-4] | [-6] ] [-v] [-V] {name} [server]

描述:

host是一个执行DNS查询的简单实用程序,它通常用于将名称转换为IP地址,反之亦然。如果没有给出参数或选项,host会打印出命令行参数和选项的简短摘要。

name是要查找的域名。它也可以是一个带点的十进制的IPv4地址或冒号分隔的IPv6地址,在这种情况下,主机默认对该地址执行反向查找。server是一个可选参数,它是主机应该查询的名称服务器的名称或IP地址,而不是/etc/resolv.conf中列出的服务器。

named-checkconf : 名称配置文件的语法检查工具

语法:

named-checkconf [-chjlvz] [-p [-x ]] [-t directory] {filename}

描述:

检查名称配置文件中的语法,而不是语义。这个文件连带着它包含的其他文件都可以进行解析和语法检查。如果没有指定文件,默认读取/etc/name.conf文件

注意:

在独立的解析环境读取的名称文件,比如rndc.key和bind.keys文件,不会自动通过named-checkconf工具检查这些文件中可能导致named服务不能正常运行的配置错误,即使named-checonf显示的是没问题。

named-checkzone :专区(zone)文件准许工具

语法:

named-checkzone [-d] [-h] [-j] [-q] [-v] [-c class] [-C mode] [-f format] [-F format] [-J filename] [-i mode] [-k mode] [-m mode] [-M mode] [-n mode] [-l ttl] [-L serial] [-o filename] [-r mode] [-s style] [-S mode] [-t directory] [-T mode] [-w directory] [-D] [-W mode] {zonename} {filename}

描述:

named-checkzone 检查专区(zone)文件的语法和完整性。当加载专区(zone)时,它执行和named一样的检查。在专区(zone)文件配置到名称服务器之前,用named-checkzone是很有用的。

rndc :名称服务器控制程序

语法:

rndc [-b source-address] [-c config-file] [-k key-file] [-s server] [-p port] [-q] [-r] [-V] [-y server_key] [[-4] | [-6]] {command}

描述:

rndc控制操作名称服务器 如果调用rndc命令时后面没有选项或者参数,它将打印可支持的命令和有用的选项和它们的参数.

命令:

flush:

清除服务器缓存

reload:
加载配置文件和专区(zone)

了解example.com base zone file(域名基本专区文件):

以下是域example.com的完整专区文件,它说明了许多常见的特征。在文件的合适位置对这些特征进行了解释。专区文件由RR(资源记录)组成。RR(资源记录)面试了专区的特征或属性。

owner name

RR所创建的域

The @ (at-sign):

当在标签或名称字段使用时,@符号表示当前的源。在专区文件的开始,就是域名再加上点(.)。

每一行的开始都给出了RR的所有者,如果以空行开头,意思就是和先前的RR所有者一样。为了可读性,通常包含空行。

TTL:

RR的生存时间。该字段是一个32位整数,以秒为单位,在解析器缓存RRs时主要使用。TTL描述了一个RR在失效之前可以缓存多长时间。

The $TTL Directive:

这将为后续未定义的TTL设置默认的生存时间(Time-To-Live, TTL)。有效的ttl值的范围是0 ~ 2147483647秒。

IN:The Internet. The only widely class used today.
互联网。今天唯一广泛使用的类别。

SOA:marks the start of a zone of authority
标志权威专区的开始

A:a host address
主机地址

NS:an authoritative name server
权威名称服务器

CNAME:the canonical name for an alias

别名的标准名称

MX:mail exchange

邮件交换

@         IN      SOA   ns1.example.com. hostmaster.example.com. (6                                2003080800 ; serial number7                                12h        ; refresh8                                15m        ; update retry9                                3w         ; expiry
10                                2h         ; minimum
11                                )

serial number:

备用名称服务器定期读取(3和4)SOA RR。时间间隔由开始授权(SOA) RR的刷新参数定义。

备用名称服务器将从主名称服务器接收到的SOA RR的序列号参数与当前区域数据的SOA RR中的序列号进行比较。

如果接收到的序列号在算术上比当前序列号大,则从服务器使用AXFR或IXFR(取决于主服务器和从服务器的配置)发起区域传输(5),使用TCP在端口53(6)上。

refresh:

专区中备用服务器读取或轮询主服务器的时间间隔。SOA RR最为推荐的专区刷新时间是整小时的倍数,以减少流量负载。

update retry:

重试更新:备用名称服务器再次同步主名称服务器的时间

expiry:

到期:指定服务器在正常过期后保留记录的最长时间,以便将它们作为过期记录返回。默认为1天。允许的最小值是1秒。

minimum:

SOA中最后一个字段是“解析域名失败”的缓存生存时间。控制从本服务器上响应其他服务器上缓存的错误域名的时间 。这个时间最大为3小时(3h)。

第一阶段:先实现客户端向名称解析器端解析域名功能。

rocky作为DNS名称解析服务器,ubutu作为客户端。另一台rocky提供http服务,让windos能过通过DNS名称解析服务登录域名。

#安装bind相关软件包
[root@Rocky8 ~]#yum -y install bind bind-utils bind-libs#查询bind软件包清单
[root@Rocky8 ~]#rpm -ql bind/etc/named.conf                        #配置文件
/etc/named.rfc1912.zones               #专区配置文件
/usr/lib/systemd/system/named.service  #服务文件
/var/named                             #相关数据存放目录
/var/named/named.ca                    #根域数据文件#查看一下服务文件
[root@Rocky8 ~]#cat /usr/lib/systemd/system/named.serviceExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} $OPTIONS   #用户名字:named#设置开机自启并立即启动
[root@Rocky8 ~]#systemctl enable --now named Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.#查看named服务开的监听端口
[root@Rocky8 ~]#ss -ntulpNetid      Local Address:Port              Processudp          127.0.0.1:53          users:(("named",pid=27949,fd=512)) #专门负责地址解析
tcp          127.0.0.1:53          users:(("named",pid=27949,fd=21))
tcp          127.0.0.1:953         users:(("named",pid=27949,fd=23)) #修改rocky网卡配置文件。
[root@Rocky8 ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=10.0.0.128
PREFIX=24
GATEWAY=10.0.0.2
DNS1=127.0.0.1                          #添加DNS指向自己#重新加载网卡信息及启动网卡
[root@Rocky8 ~]#nmcli connection reload
[root@Rocky8 ~]#nmcli connection up eth0#查看NDS
[root@Rocky8 ~]#cat /etc/resolv.conf# Generated by NetworkManager
search zhang.stu
nameserver 127.0.0.1#本机目前已可以借助自己的DNS完成解析
[root@Rocky8 ~]#ping www.baidu.comPING www.a.shifen.com (220.181.38.150) 56(84) bytes of data.
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=1 ttl=128 time=17.2 ms
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=2 ttl=128 time=12.0 ms
64 bytes from 220.181.38.150 (220.181.38.150): icmp_seq=3 ttl=128 time=14.1 ms#修改named服务配置文件(修改2项)是为了让远程客户端能通过本主机DNS解析
[root@Rocky8 ~]#vim /etc/named.conflisten-on port 53 { any; };          #匹配能正常使用DNS的IP地址 ,也可以直接注销
allow-query     { any; };            #这是默认值——允许用户从任何IP进行查询。也可以直接注销#检查修改配置文件以后的语法问题
[root@Rocky8 ~]#named-checkconf#搭建解析数据库:#创建zone(专区)文件及加640权限和加named组
[root@Rocky8 ~]#cd /var/named
[root@Rocky8 /var/named]#touch zhangyongbiao.com.zone
[root@Rocky8 /var/named]#chmod 640 zhangyongbiao.com.zone
[root@Rocky8 /var/named]#chgrp named zhangyongbiao.com.zone
[root@Rocky8 /var/named]#ll zhangyongbiao.com.zone
-rw-r----- 1 root named 0 Dec 14 15:16 zhangyongbiao.com.zone#编辑zone(专区)文件
[root@Rocky8 /var/named]#vim zhangyongbiao.com.zone$TTL 1D
@           IN  SOA master hostmaster ( 1214 3h 10m 1d 6h )NS  master
master      A   10.0.0.128
www         A   10.0.0.135
joe         A   192.168.1.0
db          A   192.168.100.0#检查zone(专区)的完整性和语法
[root@Rocky8 /var/named]#named-checkzone zhangyongbiao.com /var/named/zhangyongbiao.com.zonezone zhangyongbiao.com/IN: loaded serial 1214
OK#编辑zone(专区)配置文件
[root@Rocky8 /var/named]#vim /etc/named.rfc1912.zoneszone "zhangyongbiao.com" IN {type master;file "zhangyongbiao.com.zone";
};#检查配置文件的语法是否有问题
[root@Rocky8 /var/named]#named-checkconf /etc/named.rfc1912.zones#加载配置文件和zone(专区)
[root@Rocky8 /var/named]#rndc reloadserver reload successful#ubuntu先安装bind9-utils(需要用到里面的dig或host命令)
[16:22:19 root@ubuntu2204 ~]#apt -y install bind9-utils#修改ubuntu的网卡配置(ubuntu作为远程客户端)
[16:12:21 root@ubuntu2204 ~]#vim /etc/netplannetwork:ethernets:eth0:#      dhcp4: trueaddresses: [10.0.0.131/24]nameservers: addresses: [10.0.0.128]      #DNS地址指向主服务器的IPversion: 2#ubuntu网卡生效
[16:18:31 root@ubuntu2204 ~]#netplan apply#ubuntu查看网关
[16:19:27 root@ubuntu2204 ~]#resolvectl statusGlobalProtocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stubLink 2 (eth0)Current Scopes: DNSProtocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 10.0.0.128DNS Servers: 10.0.0.128#ubuntu客户端能够通过DNS解析服务器(rocky)去解析了。#解析www.zhangyongbiao.com
[15:55:07 root@ubuntu2204 ~]#host www.zhangyongbiao.com
www.zhangyongbiao.com has address 10.0.0.135#解析joe.zhangyongbiao.com
[15:55:26 root@ubuntu2204 ~]#host joe.zhangyongbiao.com
joe.zhangyongbiao.com has address 192.168.1.0#解析db.zhangyongbiao.com
[15:57:02 root@ubuntu2204 ~]#host db.zhangyongbiao.com
db.zhangyongbiao.com has address 192.168.100.0[16:24:21 root@ubuntu2204 ~]#host www.baidu.comwww.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 220.181.38.149
www.a.shifen.com has address 220.181.38.150#配置另一台rocky,能让windos通过解析服务登录域名#安装httpd软件
[root@Rocky8 ~]#yum -y install httpd#写入信息
[root@Rocky8 ~]#echo "welcome to Baoding" > /var/www/html/index.html

第二阶段:反向解析

rocky是NDS名称解析服务器。ubuntu是客户端

#在名称解析服务器上创建一个10网段的专区文件
[root@Rocky8 /var/named]#vim 10.0.0.zone
$TTL 1D
@             IN   SOA   master   hostmaster ( 1214 3H 10M 1D 3H )NS    master
master        IN   A     10.0.0.128
200           IN   PTR   www.zhangyongbiao.com.
30            IN   PTR   db.zhangyongbiao.com.
150           IN   PTR   joe.zhangyongbiao.com.#检查专区语法和完整性
[root@Rocky8 /var/named]#named-checkzone 10.0.0 /var/named/10.0.0.zone zone 10.0.0/IN: loaded serial 1214
OK#编辑专区配置文件
[root@Rocky8 /var/named]#vim /etc/named.rfc1912.zoneszone "0.0.10.in-addr.arpa" IN {type master;file "10.0.0.zone";
};#检查配置文件的语法是否正确
[root@Rocky8 /var/named]#named-checkconf#ubuntu客户端反向解析ipv4
[17:13:43 root@ubuntu2204 ~]#host 10.0.0.200
200.0.0.10.in-addr.arpa domain name pointer www.zhangyongbiao.com.[17:13:52 root@ubuntu2204 ~]#host 10.0.0.30
30.0.0.10.in-addr.arpa domain name pointer db.zhangyongbiao.com.[18:22:46 root@ubuntu2204 ~]#host 10.0.0.150
150.0.0.10.in-addr.arpa domain name pointer joe.zhangyongbiao.com.

第三阶段:实现主从同步

加一台centos作为从节点DNS服务器,ubuntu客户端从从节点NDS服务器解析域名

#修改从节点NDS服务器配置文件
[root@CentOS ~]#vim /etc/named.conf//      listen-on port 53 { any; };   #注销
//      allow-query     { any; };     #注销#修改从节点服务器centos的zone(专区)文件
[root@CentOS ~]#vim /etc/named.rfc1912.zoneszone "zhangyongbiao.com" IN {type slave;masters { 10.0.0.128; };                   #注意,这是masters(末尾加s)file "slaves/zhangyongbiao.com.zone.slave";
};                                                 #存储从主服务器过来的数据目录#检查语法
[root@CentOS ~]#named-checkconf#启动服务并立即启动
[root@CentOS ~]#systemctl enable --now named#修改主节点服务器rocky的配置文件
[root@Rocky8 /var/named]#vim zhangyongbiao.com.zone$TTL 1D
@             IN   SOA   master   hostmaster ( 1215 3H 10M 1D 3H ) #序列号要加1NS    masterNS    slave             #添加从节点服务器名称
master        IN   A     10.0.0.128
slave         IN   A     10.0.0.130        #指向所在的IP地址
www           IN   A     10.0.0.100
joe           IN   A     1.1.1.1
db            IN   A     192.168.1.0
jok           IN   A     2.2.2.2#重启主节点服务器rocky
[root@Rocky8 /var/named]#systemctl restart named#从ubuntu客户端添加从节点服务器的IP
[21:22:47 root@ubuntu2204 ~]#vim /etc/netplan
# This is the network config written by 'subiquity'
network:ethernets:eth0:#      dhcp4: trueaddresses: [10.0.0.131/24]nameservers: addresses: [10.0.0.128]                 #主节点DNS服务器IPaddresses: [10.0.0.130]                 #从节点DNS服务器IPversion: 2#ubuntu网卡生效
[21:27:08 root@ubuntu2204 ~]#netplan apply#从节点服务器完成解析域名
[21:51:55 root@ubuntu2204 ~]#dig joe.zhangyongbiao.com @10.0.0.130;; ANSWER SECTION:
www.zhangyongbiao.com.  86400   IN  A   10.0.0.100;; AUTHORITY SECTION:
zhangyongbiao.com.  86400   IN  NS  master.zhangyongbiao.com.;; ADDITIONAL SECTION:
master.zhangyongbiao.com. 86400 IN  A   10.0.0.128;; Query time: 0 msec
;; SERVER: 10.0.0.130#53(10.0.0.130) (UDP)
;; WHEN: Thu Dec 15 21:58:23 CST 2022
;; MSG SIZE  rcvd: 131

加强安全性:虽然实现了主从DNS服务器数据同步,但是安全性还是不能保证。因为从其他客户端可以通过用dig -t AXFR命令来获取主或从DNS服务器上的数据;以下是举例:ubuntu还是客户端,它直接从主服务器或从从服务器传输zone(专区)数据

#ubuntu作为客户端。不用通过主或从服务器解析,而是把主服务器上的数据全部传输过来[10:48:12 root@ubuntu2204 ~]#dig -t AXFR zhangyongbiao.com @10.0.0.128; <<>> DiG 9.18.1-1ubuntu1.2-Ubuntu <<>> -t AXFR zhangyongbiao.com @10.0.0.128
;; global options: +cmd
zhangyongbiao.com.  86400   IN  SOA master.zhangyongbiao.com. hostmaster.zhangyongbiao.com. 1215 10800 600 86400 10800
zhangyongbiao.com.  86400   IN  NS  master.zhangyongbiao.com.
zhangyongbiao.com.  86400   IN  NS  slave.zhangyongbiao.com.
db.zhangyongbiao.com.   86400   IN  A   192.168.1.0
joe.zhangyongbiao.com.  86400   IN  A   1.1.1.1
jok.zhangyongbiao.com.  86400   IN  A   2.2.2.2
master.zhangyongbiao.com. 86400 IN  A   10.0.0.128
slave.zhangyongbiao.com. 86400  IN  A   10.0.0.130
www.zhangyongbiao.com.  86400   IN  A   10.0.0.100#也可以从从节点服务器上传输专区数据
[10:49:30 root@ubuntu2204 ~]#dig -t AXFR zhangyongbiao.com @10.0.0.130; <<>> DiG 9.18.1-1ubuntu1.2-Ubuntu <<>> -t AXFR zhangyongbiao.com @10.0.0.130
;; global options: +cmd
zhangyongbiao.com.  86400   IN  SOA master.zhangyongbiao.com. hostmaster.zhangyongbiao.com. 1215 10800 600 86400 10800
zhangyongbiao.com.  86400   IN  NS  master.zhangyongbiao.com.
zhangyongbiao.com.  86400   IN  NS  slave.zhangyongbiao.com.
db.zhangyongbiao.com.   86400   IN  A   192.168.1.0
joe.zhangyongbiao.com.  86400   IN  A   1.1.1.1
jok.zhangyongbiao.com.  86400   IN  A   2.2.2.2
master.zhangyongbiao.com. 86400 IN  A   10.0.0.128
slave.zhangyongbiao.com. 86400  IN  A   10.0.0.130
www.zhangyongbiao.com.  86400   IN  A   10.0.0.100
zhangyongbiao.com.  86400   IN  SOA master.zhangyongbiao.com. hostmaster.zhangyongbiao.com. 1215 10800 600 86400 10800

解决办法:在主和从DNS服务器的专区(zone)文件或配置文件的option中指定allow-transfer。

#修改主DNS服务器配置文件
[root@Rocky8 /var/named]#vim /etc/named.confoptions {listen-on port 53 { any; };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";secroots-file   "/var/named/data/named.secroots";recursing-file  "/var/named/data/named.recursing";allow-query     { any; };allow-transfer  { 10.0.0.130; };          #加入只允许从节点传输数据的权限#修改从NDS服务器配置文件
[root@CentOS /var/named]#vim /etc/named.confoptions {listen-on port 53 { any; };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";secroots-file   "/var/named/data/named.secroots";recursing-file  "/var/named/data/named.recursing";allow-query     { any; };allow-transfer  { none; };                  #添加不允许传输的权限#已经不能直接从主从DNS服务器传输数据了
[10:51:11 root@ubuntu2204 ~]#dig -t AXFR zhangyongbiao.com @10.0.0.128; <<>> DiG 9.18.1-1ubuntu1.2-Ubuntu <<>> -t AXFR zhangyongbiao.com @10.0.0.128
;; global options: +cmd
; Transfer failed.[11:14:22 root@ubuntu2204 ~]#dig -t AXFR zhangyongbiao.com @10.0.0.130; <<>> DiG 9.18.1-1ubuntu1.2-Ubuntu <<>> -t AXFR zhangyongbiao.com @10.0.0.130
;; global options: +cmd
; Transfer failed.

泛域名和子域应用

#在主NDS服务器上编辑zone的RR(资源记录)文件
[root@Rocky8 /var/named]#vim zhangyongbiao.com.zone$TTL 1D
@             IN   SOA   domain1   hostmaster ( 1219 3H 10M 1D 3H )NS    master
sz                 NS    ns1            #设置sz子域名的名称服务器
master        IN   A     10.0.0.128
ns1           IN   A     10.0.0.135     #指定名称服务器的IP
www           IN   A     10.0.0.245
*             IN   A     8.8.8.8         #域名名称的通配符
@             IN   A     6.6.8.8         #直接搜索域名就可以#创建sz子域文件
[root@Rocky8 /var/named]#touch sz.zhangyongbiao.com.zone         #建立RR(资源记录文件)
[root@Rocky8 /var/named]#chmod 640 sz.zhangyongbiao.com.zone     #改权限
[root@Rocky8 /var/named]#chgrp named sz.zhangyongbiao.com.zone   #改所属组#编辑sz子域文件
[root@Rocky8 /var/named]#vim /var/sz.zhangyongbiao.com.zone$TTL 1D@             IN  SOA  stubdomain  hostmaster ( 1 3H 10M 1D 3H )IN  NS   master
master        IN  A    10.0.0.135
www           IN  A    6.6.6.8       #www.sz.zhangyongbiao.com对应的IP地址#改sz子域的相关配置文件
[root@Rocky8 /var/named]#vim /etc/named.conf   options {listen-on port 53 { any; };  #修改项allow-query     { any; };    #修改项#修改sz子域的专区文件
[root@Rocky8 /var/named]#vim /etc/named.rfc1912.zoneszone "sz.zhangyongbiao.com" IN {type master;file "sz.zhangyongbiao.com.zone";
};#启动sz子域DNS服务器
[root@Rocky8 /var/named]#systemctl enable --now named#测试泛域名
[19:16:42 root@ubuntu2204 ~]#host 1233.zhangyongbiao.com1233.zhangyongbiao.com has address 8.8.8.8#测试泛域名
[19:50:03 root@ubuntu2204 ~]#host zhangyongbiao.com
zhangyongbiao.com has address 6.6.8.8#测试sz子域
[19:51:51 root@ubuntu2204 ~]#host www.sz.zhangyongbiao.com
www.sz.zhangyongbiao.com has address 6.6.6.8

配置转发DNS服务器 :rocky作为转发服务器,centos作为主NDS名称服务器,ubuntu作为客户端

#先配置NDS转发服务器#修改配置文件(改4项)
[root@Rocky8 /var/named]#vim /etc/named.conf
options {#first表示先转到主DNS,没结果在转到根服务器。      forward only;                   #only表示只转发到主DNS服务器。而不去根服务器forwarders      {10.0.0.130;};  #主DNS服务器IP地址dnssec-enable no;                           #这项都改成NO
dnssec-validation no;                       #这项也改成NO#重新加载文件
[root@Rocky8 /var/named]#rndc reload      #或者systemctl restart named#配置主DNS名称服务器#创建,修改权限和组
[root@CentOS /var/named]#touch zhangyongbiao.local.zone
[root@CentOS /var/named]#chmod 640 zhangyongbiao.local.zone
[root@CentOS /var/named]#chgrp named zhangyongbiao.local.zone#编辑专区RR(资源记录)文件
[root@CentOS /var/named]#vim zhangyongbiao.local.zone$TTL 1D
@           IN  SOA  domain hostmaster ( 17 3H 10M 1D 3H )IN  NS   master
master      IN  A    10.0.0.130
www         IN  A    8.8.6.6           #最后解析www.zhangyongbiao.local的ip为8.8.6.6#编辑专区文件
[root@CentOS /var/named]#vim /etc/named.rfc1912.zoneszone "zhangyongbiao.local" IN {type master;file "zhangyongbiao.local.zone";
};#重新加载文件
[root@Rocky8 /var/named]#rndc reload      #或者systemctl restart named#ubuntu客户端进行测试,通过rocky转发服务器到主DNS名称服务器在解析www.zhangyongbiao.local的IP
[root@ubuntu2204 ~]#dig www.zhangyongbiao.local @10.0.0.128   #IP是rocky转发服务器的;; ANSWER SECTION:
www.zhangyongbiao.local. 84936  IN  A   8.8.6.6;; AUTHORITY SECTION:
zhangyongbiao.local.    84936   IN  NS  master.zhangyongbiao.local.;; ADDITIONAL SECTION:
master.zhangyongbiao.local. 84936 IN    A   10.0.0.130;; Query time: 0 msec
;; SERVER: 10.0.0.128#53(10.0.0.128) (UDP)
;; WHEN: Sat Dec 17 22:23:52 CST 2022
;; MSG SIZE  rcvd: 133

基于acl实现智能DNS

Access Control Lists:访问控制列表

1.访问控制列表是可以被设置昵称的地址匹配列表,以便在以后应用  allow-notify, allow-query, allow-query-on, allow-recursion, blackhole, allow-transfer, match-clients这些功能。

2.ACL可以给与那些访问名称服务器的用户更好的控制,避免大量的IP地址列表去搞乱配置文件。

view Block Definition and Usage:查看块定义和用法

view语句是BIND9里面一个强大的功能。它可以让名称服务器去依据请求者的不同去回答NDS查询。它对于实现DNS拆分设置是非常好用的,而不用去运行很多的服务器

在视图语句中定义的区域只能被与视图匹配的客户端访问。通过在多个视图中定义相同名称的区域,可以将不同的区域数据赋予不同的客户端

如果配置文件中没有view语句,则会在in类中自动创建一个与任何客户端匹配的默认视图。

在配置文件顶层指定的任何zone语句都被认为是这个默认视图的一部分,options语句应用于默认视图。如果清晰地提供了view语句,则所有的zone语句都必须发生在view语句中。

rocky是DNS服务器,centos是客户端

#修改配置文件(增加acl和view语句)
[root@Rocky8 /var/named]#vim /etc/named.confacl beijingnet { 10.0.0.0/24;
};                          #只允许北京的10.0.0.0网段去访问DNS名称服务器,也可以在添加其他网段
acl shanghainet { 192.168.10.0/24;
};                          #只允许上海的192.168.10.0网段去访问DNS名称服务器,也可添加其他网段options {listen-on port 53 { any; };    #也可以用"//"注销 allow-query     { any; };       #也可以用"//"注销view beijingview {  match-clients { beijingnet; };                  #调用aclinclude "/etc/named.rfc1912.zones.bj";
};                                                     #增加beijingview语句view shanghaiview { match-clients { shanghainet; };                 #调用aclinclude "/etc/named.rfc1912.zones.sh";
};                                                     #增加shanghaiview语句
#先把原/etc/named.conf中单独的"."域专区剪切到/etc/named.frc1912.zones中来。(因为view语句不允许有单独的zone存在)。在"cp -p"为.bj和.sh文件。进行内容添加。
[root@Rocky8 /var/named]#vim /etc/named.rfc1912.zones.bjzone "." IN {type hint;file "named.ca";
};                                         zone "zhangyongbiao.com" IN {type master;file "zhangyongbiao.com.zone.bj";
};                                           #添加域名文件#然后再修改上海区域文件
[root@Rocky8 /var/named]#vim /etc/named.rfc1912.zones.shzone "." IN {type hint;file "named.ca";
};zone "zhangyongbiao.com" IN {type master;file "zhangyongbiao.com.zone.sh";     #添加域名文件
};
#编辑北京地区的zone文件
[root@Rocky8 /var/named]#vim  zhangyongbiao.com.zone.bj$TTL 1D
@           IN   SOA  secdomain  hostmaster ( 1220 3H 10M 1D 3H )IN   NS    master
master      IN   A    10.0.0.10
www         IN   A    6.6.6.6     #北京区域10.0.0.0网段用户访问DNS,得到的地址是6.6.6.6#编辑上海地区的zone文件
[root@Rocky8 /var/named]#vim  zhangyongbiao.com.zone.sh$TTL 1D
@           IN   SOA  secdomain  hostmaster ( 1220 3H 10M 1D 3H )IN   NS    master
master      IN   A    10.0.0.10
www         IN   A    8.8.8.8      #上海区域192.168.10.0网段用户访问DNS,得到的地址是8.8.8.8

服务器端和客户端都要添加网卡“仅主机”模式,为了测试192.168.10.0网段的用户请求DNS

通过10.0.0.0网段访问的www.zhangyongbiao.com的解析地址为6.6.6.6

通过192.168.10.0网段访问的www.zhangyongbiao.com的解析地址为8.8.8.8

[root@CentOS ~]#dig www.zhangyongbiao.com @10.0.0.10;; ANSWER SECTION:
www.zhangyongbiao.com.  86400   IN  A   6.6.6.6                #完成;; AUTHORITY SECTION:
zhangyongbiao.com.  86400   IN  NS  master.zhangyongbiao.com.;; ADDITIONAL SECTION:
master.zhangyongbiao.com. 86400 IN  A   10.0.0.10;; Query time: 0 msec
;; SERVER: 10.0.0.10#53(10.0.0.10)
;; WHEN: Tue Dec 20 15:19:25 CST 2022
;; MSG SIZE  rcvd: 131[root@CentOS ~]#dig www.zhangyongbiao.com @192.168.10.130;; ANSWER SECTION:
www.zhangyongbiao.com.  86400   IN  A   8.8.8.8                #完成;; AUTHORITY SECTION:
zhangyongbiao.com.  86400   IN  NS  master.zhangyongbiao.com.;; ADDITIONAL SECTION:
master.zhangyongbiao.com. 86400 IN  A   10.0.0.10;; Query time: 0 msec
;; SERVER: 192.168.10.130#53(192.168.10.130)
;; WHEN: Tue Dec 20 15:20:39 CST 2022
;; MSG SIZE  rcvd: 131

实现私有DNS搭建(正向解析+反向解析+主从同步+安全措施+配置转发服务器+基于ACL实现智能DNS)相关推荐

  1. DNS(2)解析 ---DNS的正向、反向解析及双向解析

    一.DNS的正向解析 正向解析:正向解析就是将域名转化为IP地址 对于配置文件的解释 A记录 #ip地址叫做域名的Address记录,用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上 ...

  2. DNS的正向和反向解析

    目录 一.正向解析 二.反向解析 一.正向解析 在开启DNS服务之前先将防火墙关闭. systemctl  stop firewalld.service 开启DNS服务,需要开启端先进行安装主软件,以 ...

  3. Linux网络中的DNS域名正向与反向解析实操

    一.DNS系统 (一).DNS概述 在日常生活中人们习惯使用域名访问服务器,但机器间互相只认IP地址,域名与IP地址之间是多对一的关系,一个Ip地址不一定只对应一个域名,且一个域名只可以对应一个Ip地 ...

  4. 基于Centos7.2的自选域名配置实现正向和反向解析以及部署并测试缓存DNS服务器

    自选域名配置实现正向和反向解析 (注:下文中 IP 192.168.200.101为我的虚拟机IP,涉及上述"192.168.200.101"以及"192.168.200 ...

  5. 【RHCE】DNS域名解析服务器及正反向解析与主从同步简单配置

    目录 域名解析服务器的介绍 因特网的域名结构 域名服务器的类型划分 DNS域名解析的过程 搭建DNS服务器 实验 实验一:正向解析 [vim  /named/named.localhost] [roo ...

  6. DNS(BIND) 正向解析   反向解析 基本服务的搭建

    操作系统:centos 6.6 yum源安装bind安装包 yum install -y bind 正向解析与反向解析核心配置目录 /etc/named.conf   配置文件 /var/named/ ...

  7. Windows中的DNS服务——正向解析反向解析配置

    坚信并为之坚持是一切希望的原因. DNS服务是AD域不可或缺的一部分,我们在部署AD域环境时已经搭建了DNS服务(windows server 2008 R2域中的DC部署),但是DNS服务的作用还是 ...

  8. Linux——DNS(正向解析+反向解析+多域配置+主从配置)

    文章目录 一.DNS概念 1. 什么是DNS 2. DNS的正向解析 3. DNS的反向解析 4. DNS的结构 1)根域名(.) 2)一级域名 3)二级域名 5. DNS工作原理 6. dig工具 ...

  9. CenOS7 运维 - DNS域名解析服务 | 正向解析 | 反向解析 | 主从服务器实时同步 | 分离解析 | 排错思路及方案 | 超详细

    CenOS7 运维 - DNS域名解析服务 一.DNS系统的作用 二.域名的结构 根域 顶级域 二级域 子域 主机 三.DNS服务器类型 ►主域名服务器 ►从域名服务器 ►缓存域名服务器 ►转发域名服 ...

最新文章

  1. MySQL慢查询日志分析(二)
  2. 关于linux系统下文件压缩归档操作命令略提
  3. tomcat日志格式中的含义
  4. 拥有一台你的轻量应用服务器Lighthouse
  5. 如何自建appender扩展Log4j框架
  6. Vue.js 学习笔记 十二 Vue发起Ajax请求
  7. 谷粒商城:14.全文检索ElasticSearch
  8. modelsim多模块联合仿真时,同一signal,一边有信号另一边没有的问题
  9. linux 软件包安装管理
  10. 软件测试工程师在不同阶段需要掌握的技能
  11. 安装新版的winetricks_20170506-最新WineQQ8.9.1安装教程和常见问题解决方法
  12. win10电脑IIS服务器配置ASP环境
  13. 版权符号--如何在页面完美显示版权符号,版权符号字体
  14. Windows引导修复
  15. 某侠图床源码 图片外链服务 带API
  16. pacs系统服务器配置需求,pacs系统服务器配置
  17. python英文文本情感分析_舆情信息浩如烟海?看看如何用Python进行英文文本的情感分析...
  18. VC 获取任务栏窗口的句柄
  19. OCR-文本检测和文本识别的数据
  20. Windows下打开命令窗口几种方式

热门文章

  1. Project工具(二)—建立项目和资源
  2. CentOS7下mysql定时备份并发送邮件到指定邮箱脚本
  3. 概率论基础 - 9 - 中心极限定理
  4. 生产环境WEB服务管理脚本之监控脚本
  5. ​2万字系统总结,带你实现Linux命令自由
  6. 电动汽车(EV)充电系统全球认证 - 主要测试标准清单及下载
  7. 基于arduino用esp8266和继电器实现小爱同学开关灯
  8. 7-13 旭旭的交友标准PTA
  9. win7硬盘安装Fedora 20双系统
  10. webdav ios android,iWork(iOS 版):使用 WebDAV 服务