几天没写, csdn的编辑器都换了, 找不到之前的入口了, 新的编辑器不是很好用,不知道排版出来怎么样,将就看吧...

  • 安装Bind服务程序

BIND(Berkeley Internet Name Domain,伯克利因特网名称域)服务是全球范围内使用最广泛、最安全可靠且高效的域名解析服务程序。

DNS域名解析服务作为互联网基础设施服务,部署bind服务程序时加上chroot(俗称牢笼机制)扩展包,可有效地限制bind服务程序仅能对自身的配置文件进行操作,以确保整个服务器的安全。

# yum install bind-chroot

在bind服务程序中有下面这三个比较关键的文件。

主配置文件(/etc/named.conf):只有59行,而且在去除注释信息和空行之后,实际有效的参数仅有30行左右,这些参数用来定义bind服务程序的运行。

区域配置文件(/etc/named.rfc1912.zones):用来保存域名和IP地址对应关系的所在位置。类似于图书的目录,对应着每个域和相应IP地址所在的具体位置,当需要查看或修改时,可根据这个位置找到相关文件。

数据配置文件目录(/var/named):该目录用来保存域名和IP地址真实对应关系的数据配置文件。

第1步:需要在/etc目录中找到该服务程序的主配置文件,

把第11行和第19行的地址均修改为any,

分别表示服务器上的所有IP地址均可提供DNS域名解析服务,

以及允许所有人对本服务器发送DNS查询请求。

# vim /etc/named.conf
...
11         listen-on port 53 { any; }; 任何主机地址
...
19         allow-query     { any; }; 任何主机地址

第2步:bind服务程序的区域配置文件(/etc/named.rfc1912.zones)用来保存域名和IP地址对应关系的所在位置。在这个文件中,定义了域名与IP地址解析规则保存的文件位置以及服务类型等内容,而没有包含具体的域名、IP地址对应关系等信息。

服务类型有三种,分别为hint(根区域)、master(主区域)、slave(辅助区域),其中常用的master和slave指的就是主服务器和从服务器。

将域名解析为IP地址的正向解析参数

将IP地址解析为域名的反向解析参数

执行named-checkconf命令和named-checkzone命令,可分别检查主配置文件与数据配置文件中语法或参数的错误。

  • 正向解析实验

在DNS域名解析服务中,正向解析是指根据域名(主机名)查找到对应的IP地址。

第1步:编辑区域配置文件。该文件中默认已经有了一些无关紧要的解析参数,旨在让用户有一个参考。我们可以将下面的参数添加到区域配置文件的最下面,当然,也可以将该文件中的原有信息全部清空,而只保留自己的域名解析信息

第2步:编辑数据配置文件。可以从/var/named目录中复制一份正向解析的模板文件(named.localhost),然后把域名和IP地址的对应数据填写数据配置文件中并保存。在复制时记得加上-a参数,这可以保留原始文件的所有者、所属组、权限属性等信息,以便让bind服务程序顺利读取文件内容

第3步:检验解析结果。为了检验解析结果,一定要先把Linux系统网卡中的DNS地址参数修改成本机IP地址, nslookup命令用于检测能否从DNS服务器中查询到域名与IP地址的解析记录,进而更准确地检验DNS服务器是否已经能够为用户提供服务。

# vim /etc/named.rfc1912.zones
zone "linuxprobe.com" IN {type master;file "linuxprobe.com.zone";allow-update {none;}; 允许的从服务器
};# cd /var/named/
# ls -al named.localhost
# cp -a named.localhost linuxprobe.com.zone
# vim linuxprobe.com.zone
$TTL 1D    #生存周期为1天
@    IN SOA            linuxprobe.com.    root.linuxprobe.com.    (    #root.linuxprobe.com => root@linuxprobe.com 管理员邮箱,由于@符号有冲突,用.号代替#授权信息开始:     #DNS区域的地址      #域名管理员的邮箱(不要用@符号)    0;serial      #更新序列号1D;refresh    #更新时间1H;retry      #重试延时1W;expire     #失效时间3H );minimum    #无效解析记录的缓存时间NS      ns.linuxprobe.com.    #域名服务器记录,服务器解析所对应的路径
ns    IN A    192.168.10.10         #地址记录(ns.linuxprobe.com.)www.dnspod.com 或阿里云解析
www   IN A    192.168.10.10         #地址记录(www.linuxprobe.com.),因域名就是 www.linuxprobe.com IN A 192.168.10.10,可以缩写成www 就可以#网卡dns改成192.168.10.10
# nmtui
# nmcli connection up ens160 # systemctl restart named
# systemctl enable named
# systemctl status named# nmcli connection up ens160
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
# nslookup
>www.linuxprobe.com
Server:      192.168.10.10
Address: 192.168.10.10:53   dns服务端口Name: www.linuxprobe.com
address:192.168.10.10

若解析出的结果不是192.168.10.10,很大概率是虚拟机选择了联网模式,由互联网DNS服务器进行了解析。此时应确认服务器信息是否为“Address: 192.168.10.10#53”,即由本地服务器192.168.10.10的53端口号进行解析,若不是,则重启网卡后再试一下。

$TTL 1D

#生存周期为1天

@

IN SOA

linuxprobe.com.

root.linuxprobe.com.

(

#授权信息开始:

#DNS区域的地址

#域名管理员的邮箱(不要用@符号)

0;serial

#更新序列号

1D;refresh

#更新时间

1H;retry

#重试延时

1W;expire

#失效时间

3H );minimum

#无效解析记录的缓存时间

NS

ns.linuxprobe.com.

#域名服务器记录

ns

IN A

192.168.10.10

#地址记录(ns.linuxprobe.com.)

www

IN A

192.168.10.10

#地址记录(www.linuxprobe.com.)

在解析文件中,除了A记录类型代表将域名指向一个IPV4地址,而AAAA则代表将域名指向一个IPV6地址,此外还有8种记录类型

记录类型

作用

A

将域名指向一个IPV4地址

CNAME

将域名指向另外一个域名

AAAA

将域名指向一个IPV6地址

NS

将子域名指定其他DNS服务器解析

MX

将域名指向邮件服务器地址

SRV

记录提供特定的服务的服务器

TXT

文本内容一般为512字节,常作为反垃圾邮件的SPF记录

CAA

CA证书办法机构授权校验

显性URL

将域名重定向到另外一个地址

隐性URL

与显性URL类型,但是会隐藏真实目标地址

  • 反向解析实验

在DNS域名解析服务中,反向解析的作用是将用户提交的IP地址解析为对应的域名信息,它一般用于对某个IP地址上绑定的所有域名进行整体屏蔽,屏蔽由某些域名发送的垃圾邮件。

它也可以针对某个IP地址进行反向解析,大致判断出有多少个网站运行在上面。当购买虚拟主机时,可以使用这一功能验证虚拟主机提供商是否有严重的超售问题。

第1步:编辑区域配置文件。在编辑该文件时,除了不要写错格式之外,还需要记住此处定义的数据配置文件名称,因为一会儿还需要在/var/named目录中建立与其对应的同名文件。反向解析是把IP地址解析成域名格式,因此在定义zone(区域)时应该要把IP地址反写,比如原来是192.168.10.0,反写后应该就是10.168.192,而且只需写出IP地址的网络位即可。

把下列参数添加至正向解析参数的后面。

第2步:编辑数据配置文件。首先从/var/named目录中复制一份反向解析的模板文件(named.loopback),然后把下面的参数填写到文件中。其中,IP地址仅需要写主机位,

第3步:检验解析结果。在前面的正向解析实验中,已经把系统网卡中的DNS地址参数修改成了本机IP地址,因此可以直接使用nslookup命令来检验解析结果,仅需输入IP地址即可查询到对应的域名信息。

# vim /etc/named.rfc1912.zones
zone "linuxprobe.com" IN {type master;file "linuxprobe.com.zone";allow-update {none;};
};
zone "10.168.192.in-addr.arpa" IN {type master;file "192.168.10.arpa";allow-update {none;};
};# cd /var/named
# cp -a named.loopback 192.168.10.arpa
# vim 192.168.10.arpa
$TTL 1D
@        IN SOA @ linuxprobe.com. root.linuxprobe.com. (   #root.linuxprobe.com => root@linuxprobe.com 管理员邮箱0    ; serial1D   ; refresh1H   ; retry1W   ; expire3H ) ; minimumNS         ns.linuxprobe.com.     别名
ns          A          192.168.10.10              反向解析不需要IN
10                  PTR               www.linuxprobe.com.               10为缩写 因主机就是192.168.10.10#网卡dns改成192.168.10.10
# nmtui
# nmcli connection up ens160# systemctl restart named
# systemctl enable named
# systemctl status named# nslookup
> 192.168.10.10
10.10.168.192.in-addr.arpa      name = www.linuxprobe.com.
> 192.168.10.20
20.10.168.192.in-addr.arpa      name = bbs.linuxprobe.com.

$TTL 1D

@

IN SOA

linuxprobe.com.

root.linuxprobe.com.

(

0;serial

1D;refresh

1H;retry

1W;expire

3H);minimum

NS

ns.linuxprobe.com.

ns

A

192.168.10.10

10

PTR

ns.linuxprobe.com.

#PTR为指针记录,仅用于反向解析中。

10

PTR

www.linuxprobe.com.

20

PTR

bbs.linuxprobe.com.

  • 部署从服务器

在DNS域名解析服务中,从服务器可以从主服务器上获取指定的区域数据文件,从而起到备份解析记录与负载均衡的作用,因此通过部署从服务器可以减轻主服务器的负载压力,还可以提升用户的查询效率。

实验

主服务器与从服务器分别使用的操作系统与IP地址信息

主机名称

操作系统

IP地址

主服务器

RHEL 8

192.168.10.10

从服务器

RHEL 8

192.168.10.20

第1步:在主服务器的区域配置文件中允许该从服务器的更新请求,即修改allow-update {允许更新区域信息的主机地址;};参数,然后重启主服务器的DNS服务程序。

第2步:在主服务器上配置防火墙放行规则,让DNS协议流量可以被顺利传递:

第3步:在从服务器上安装bind-chroot软件包(输出信息省略),修改配置文件让从服务器也能够对外提供DNS服务,并且测试与主服务器的网络连通性

第4步:在从服务器中填写主服务器的IP地址与要抓取的区域信息,然后重启服务。

注意此时的服务类型应该是slave(从),而不再是master(主)。

masters参数后面应该为主服务器的IP地址,而且file参数后面定义的是同步数据配置文件后要保存到的位置,稍后可以在该目录内看到同步的文件。

这里的masters参数比正常的主服务类型master多了个字母s,代表主服务器可以有多个的意思

第5步:检验解析结果。当从服务器的DNS服务程序在重启后,一般就已经自动从主服务器上同步了数据配置文件,而且该文件默认会放置在区域配置文件中所定义的目录位置中。

随后修改从服务器的网络参数,把DNS地址参数修改成192.168.10.20,这样即可使用从服务器自身提供的DNS域名解析服务。

最后就可以使用nslookup命令顺利看到解析结果了。

#主服务器操作
# vim /etc/named.rfc1912.zones
zone "linuxprobe.com" IN {type master;file "linuxprobe.com.zone";allow-update { 192.168.10.20;};
};
zone "10.168.192.in-addr.arpa" IN {type master;file "192.168.10.arpa";allow-update { 192.168.10.20;};
};
[root@linuxprobe ~]# systemctl restart named# iptables -F
# iptables-save# firewall-cmd --permanent --zone=public --add-service=dns
# firewall-cmd --reload#从服务器操作
# dnf install bind-chroot
# vim /etc/named.conf
...
11         listen-on port 53 { any; };
...
19         allow-query     { any; };# ping -c 4 192.168.10.10# vim /etc/named.rfc1912.zones   #清空并写入以下内容
zone "linuxprobe.com" IN {type slave;masters { 192.168.10.10; };file "slaves/linuxprobe.com.zone";
};
zone "10.168.192.in-addr.arpa" IN {type slave;masters { 192.168.10.10; };file "slaves/192.168.10.arpa";
};
# systemctl restart named
# systemctl enable named
# systemctl status named# nm-connection-editor        dns改成192.168.10.20
# systemctl restart named
# nmcli connection up ens160# cd /var/named/slaves
# ls
192.168.10.arpa linuxprobe.com.zone
# nslookup
> www.linuxprobe.com
Server:         192.168.10.20
Address:        192.168.10.20#53Name:   www.linuxprobe.com
Address: 192.168.10.10
> 192.168.10.10
10.10.168.192.in-addr.arpa      name = www.linuxprobe.com.
  • 安全的加密传输

互联网中的绝大多数DNS服务器(超过95%)都是基于BIND域名解析服务搭建的,而bind服务程序为了提供安全的解析服务,已经对TSIG RFC 2845加密机制提供了支持。TSIG主要是利用了密码编码的方式来保护区域信息的传输(Zone Transfer),即TSIG加密机制保证了DNS服务器之间传输域名区域信息的安全性。

主机名称

操作系统

IP地址

主服务器

RHEL 8

192.168.10.10

从服务器

RHEL 8

192.168.10.20

# ls -al /var/named/slaves/
total 8
drwxrwx---. 2 named named  56 Mar 12 09:53 .
drwxrwx--T. 6 root  named 141 Mar 12 09:57 ..
-rw-r--r--. 1 named named 436 Mar 12 09:53 192.168.10.arpa
-rw-r--r--. 1 named named 282 Mar 12 09:53 linuxprobe.com.zone
# rm -rf /var/named/slaves/*

第1步:在主服务器中生成密钥。

dnssec-keygen命令用于生成安全的DNS服务密钥,其格式为“dnssec-keygen [参数]”。

参数

作用

-a

指定加密算法,包括RSAMD5(RSA)、RSASHA1、DSA、NSEC3RSASHA1、NSEC3DSA等

-b

密钥长度(HMAC-MD5的密钥长度在1~512位之间)

-n

密钥的类型(HOST表示与主机相关)

#生成一个主机名称为master-slave的128位HMAC-MD5算法的密钥文件。在执行该命令后默认会在当前目录中生成公钥和私钥文件,我们需要把私钥文件中Key参数后面的值记录下来,一会儿要将其写入传输配置文件中
# dnssec-keygen -a HMAC-MD5 -b 128 -n HOST master-slave
# ls -l Kmaster-slave.+157+62533.*
-rw-------. 1 root root  56 Mar 14 09:54 Kmaster-slave.+157+62533.key
-rw-------. 1 root root 165 Mar 14 09:54 Kmaster-slave.+157+62533.private
# cat Kmaster-slave.+157+62533.key #公钥信息
# cat Kmaster-slave.+157+62533.private   #私钥信息
Private-key-format: v1.3
Algorithm: 157 (HMAC_MD5)
Key: NI6icnb74FxHx2gK+0MVOg==
Bits: AAA=
Created: 20210314015436
Publish: 20210314015436
Activate: 20210314015436 

第2步:在主服务器中创建密钥验证文件。

进入bind服务程序用于保存配置文件的目录,把刚刚生成的密钥名称、加密算法和私钥加密字符串按照下面格式写入到tansfer.key传输配置文件中。

为了安全起见,需要将文件的所属组修改成named,并将文件权限设置得要小一点,然后把该文件做一个硬链接到/etc目录中。

# cd /var/named/chroot/etc/
# vim transfer.key
key "master-slave" {algorithm hmac-md5;  #加密名称hmac-md5不区分大小写secret "NI6icnb74FxHx2gK+0MVOg==";
};
# chown root:named transfer.key
# chmod 640 transfer.key
# ln transfer.key /etc/transfer.key

第3步:开启并加载Bind服务的密钥验证功能。

首先需要在主服务器的主配置文件中加载密钥验证文件,然后进行设置,使得只允许带有master-slave密钥认证的DNS服务器同步数据配置文件

# vim /etc/named.conf
+ 9 include "/etc/transfer.key";
10 options{
11 Listen-on port 53 { any; };
...
19         allow-query     { any; };
+ 20         allow-transfer { key master-slave; };

至此,DNS主服务器的TSIG密钥加密传输功能就已经配置完成。此时清空DNS从服务器同步目录中所有的数据配置文件,然后再次重启bind服务程序,这时就已经不能像刚才那样自动获取到数据配置文件了。

# rm -rf /var/named/slaves/*
# systemctl restart named
# systemctl status named
# ls  /var/named/slaves/

第4步:配置从服务器,使其支持密钥验证。

配置DNS从服务器和主服务器的方法大致相同,都需要在bind服务程序的配置文件目录中创建密钥认证文件,并设置相应的权限,然后把该文件做一个硬链接到/etc目录中。

# 从服务器配置
# cd /var/named/slaves
# rm -rf *
# systemctl restart named# cd /var/named/chroot/etc/
# vim transfer.key
key "master-slave" {algorithm hmac-md5;secret "NI6icnb74FxHx2gK+0MVOg==";
};
# chown root:named transfer.key
# chmod 640 transfer.key
# ln transfer.key /etc/transfer.key

第5步:开启并加载从服务器的密钥验证功能。

这一步的操作步骤也同样是在主配置文件中加载密钥认证文件,然后按照指定格式写上主服务器的IP地址和密钥名称。

注意,密钥名称等参数位置不要太靠前,大约在第51行比较合适,否则bind服务程序会因为没有加载完预设参数而报错

# vim /etc/named.conf
+ 9 include "/etc/transfer.key";
10 options {
11 listen-on port 53 { any; };
...
45 logging {
46         channel default_debug {
47                 file "data/named.run";
48                 severity dynamic;
49         };
50 };
+ 51 server 192.168.10.10
+ 52 {
+ 53         keys { master-slave; };
+ 54 };
55 zone "." IN {
56         type hint;
57         file "named.ca";
58 };
59
60 include "/etc/named.rfc1912.zones";
61 include "/etc/named.root.key";

第6步:DNS从服务器同步域名区域数据。

现在,两台服务器的bind服务程序都已经配置妥当,并匹配到了相同的密钥认证文件。

接下来在从服务器上重启bind服务程序,可以发现又能顺利地同步到数据配置文件了。

# systemctl restart named
# ls /var/named/slaves/
192.168.10.arpa  linuxprobe.com.zone

第7步:再次进行解析验证,功能正常,注意看是由192.168.10.20从服务器进行解析的

# nslookup
> www.linuxprobe.com
Server:         192.168.10.20
Address:        192.168.10.20#53Name:   www.linuxprobe.com
Address: 192.168.10.10[root@linuxprobe etc]# nslookup
> 192.168.10.10
10.10.168.192.in-addr.arpa      name = www.linuxprobe.com.
  • 部署缓存服务器

DNS缓存服务器(Caching DNS Server)是一种不负责域名数据维护的DNS服务器。

简单来说,缓存服务器就是把用户经常使用到的域名与IP地址的解析记录保存在主机本地,从而提升下次解析的效率。

第1步:配置系统的双网卡参数。

用于配置Linux虚拟机系统所需的参数信息

主机名称

操作系统

IP地址

缓存服务器

RHEL 8

网卡(外网):根据物理设备的网络参数进行配置(通过DHCP或手动方式指定IP地址与网关等信息)

网卡(内网):192.168.10.10

客户端

RHEL 8

192.168.10.20

缓存服务器实验环境拓扑

第2步:还需要在虚拟机软件中将新添加的网卡设置为“桥接模式”,然后设置成与物理设备相同的网络参数

新添加一块桥接网卡

以DHCP方式获取IP地址与网关等信息,重启网络服务后的效果

新添加的网卡设备默认没有配置文件,需要自行输入网卡名称和类型即可,另外记得让新的网卡参数生效下:

# nm-connection-editor
# 点击 + 加号添加网卡;
# 点击 Create 创建
# Ethernet 选项卡中 选择另一个网卡 ens192 并 保存Save# nmcli connection up ens192
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)#测外网和内外是否都能ping通
# ping www.baidu.com
# ping 192.168.10.20

查看网卡的工作状态

第3步:在bind服务程序的主配置文件中添加缓存转发参数。在大约第20行处添加一行参数“forwarders { 上级DNS服务器地址; };”,上级DNS服务器地址指的是获取数据配置文件的服务器。

# dns install bind-chroot# vim /etc/named.conf
...
10 options {
11    - listen-on port 53 { 127.0.0.1; };
11    + listen-on port 53 { any; };...
19    - allow-query { localhost; };
19    + allow-query { any; };
20    + forwarders { 210.73.64.1; };  #北京市公共DNS服务器的地址210.73.64.1  也可以改成 8.8.8.8 或114.114.114.114
# systemctl restart named
# systemctl enable named# iptables -F
# iptables-save
# firewall-cmd --permanent --zone=public --add-service=dns
# firewall-cmd --reload

第4步:重启DNS服务,验证成果。

把客户端主机的DNS服务器地址参数修改为DNS缓存服务器的IP地址192.168.10.10。这样即可让客户端使用本地DNS缓存服务器提供的域名查询解析服务。

设置客户端主机的DNS服务器地址参数

客户端主机的网络参数设置妥当后重启网络服务,即可使用nslookup命令来验证实验结果。其中,Server参数为域名解析记录提供的服务器地址,因此可见是由本地DNS缓存服务器提供的解析内容。

用手机网络分享的网络测试成功率会比较大

# nmtui
# nmcli connection up ens160
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
# nslookup www.linuxprobe.com
Server:         192.168.10.10
Address:        192.168.10.10#53Non-authoritative answer:
www.linuxprobe.com      canonical name = www.linuxprobe.com.w.kunlunno.com.
Name:   www.linuxprobe.com.w.kunlunno.com
Address: 139.215.131.226
注意
         这个缓存DNS服务的配置参数只有一行参数,因此不存在写错的可能性,但如果出错了大概率有两个可能性。
         其一,上述210.73.64.1服务器可能停用,可以改为8.8.8.8或114.114.114.114再重新尝试。
         其二,检查nslookup输出结果中服务器地址是否正确,有可能是本地网卡参数没有生效而导致的。

分离解析技术

使用DNS服务的分离解析功能,即可让位于不同地理范围内的用户通过访问相同的网址,而从不同的服务器获取到相同的数据 。

不同主机的操作系统与IP地址情况

主机名称

操作系统

IP地址

DNS服务器

RHEL 8

北京网络:122.71.115.10

美国网络:106.185.25.10

北京用户

Windows 10

122.71.115.1

海外用户

Windows 10

106.185.25.1

DNS分离解析技术

第1步:修改bind服务程序的主配置文件,把第11行的监听端口与第19行的允许查询主机修改为any。

由于配置的DNS分离解析功能与DNS根服务器配置参数有冲突,所以需要把第52~55行的根域信息删除。

# dns install bind-hroot# vim /etc/named.conf
...
10 options {
11    - listen-on port 53 { 127.0.0.1; };
11    + listen-on port 53 { any; };...
19    - allow-query { localhost; };
19    + allow-query { any; };
………………省略部分输出信息………………
44
45 logging {
46         channel default_debug {
47                 file "data/named.run";
48                 severity dynamic;
49         };
50 };
51
-52 zone "." IN {
-53         type hint;
-54         file "named.ca";
-55 };
56
57 include "/etc/named.rfc1912.zones";
58 include "/etc/named.root.key";

第2步:编辑区域配置文件。把区域配置文件中原有的数据清空,然后按照以下格式写入参数。

首先使用acl参数分别定义两个变量名称(china与america),当下面需要匹配IP地址时只需写入变量名称即可,这样不仅容易阅读识别,而且也利于修改维护。

view参数的作用是通过判断用户的IP地址是中国的还是美国的,然后去分别加载不同的数据配置文件(linuxprobe.com.china或linuxprobe.com.america)。这样,当把相应的IP地址分别写入到数据配置文件后,即可实现DNS的分离解析功能。

# vim /etc/named.rfc1912.zones
acl "china" { 122.71.115.0/24; };
acl "america" { 106.185.25.0/24; };
view "china"{match-clients { "china"; };zone "linuxprobe.com" {type master;file "linuxprobe.com.china";};
};
view "america" {match-clients { "america"; };zone "linuxprobe.com" {type master;file "linuxprobe.com.america";};
};    

第3步:建立数据配置文件。分别通过模板文件创建出两份不同名称的区域数据文件,其名称应与上面区域配置文件中相对应。

#配置网卡信息
# nmtui
# 修改网卡IP地址: 112.71.115.1/24和106.185.25.1/24
# nmcli connection up ens160
# cd /var/named
# cp -a named.localhost linuxprobe.com.china
# cp -a named.localhost linuxprobe.com.america
# vim linuxprobe.com.china$TTL 1D    #生存周期为1天
@    IN SOA           linuxprobe.com.    root.linuxprobe.com.    (    #授权信息开始:    #DNS区域的地址      #域名管理员的邮箱(不要用@符号)    0;serial       #更新序列号1D;refresh     #更新时间1H;retry       #重试延时1W;expire      #失效时间3H);minimum    #无效解析记录的缓存时间NS            ns.linuxprobe.com.    #域名服务器记录
ns      IN A          122.71.115.1          #地址记录(ns.linuxprobe.com.)
www     IN A          122.71.115.1          #地址记录(www.linuxprobe.com.)# vim linuxprobe.com.america
$TTL 1D    #生存周期为1天
@    IN SOA            linuxprobe.com.    root.linuxprobe.com.    (    #授权信息开始:     #DNS区域的地址      #域名管理员的邮箱(不要用@符号)    0;serial    #更新序列号1D;refresh    #更新时间1H;retry    #重试延时1W;expire    #失效时间3H);minimum    #无效解析记录的缓存时间NS            ns.linuxprobe.com.    #域名服务器记录
ns      IN A          106.185.25.1          #地址记录(ns.linuxprobe.com.)
www     IN A          106.185.25.1          #地址记录(www.linuxprobe.com.)# systemctl restart named
# systemctl enable named
# systemctl status named

其中122.71.115.15和106.185.25.15两台主机并没有在实验环节中配置,需要自行准备,如果不想太过于麻烦,可以直接将www.linuxprobe.com域名解析到122.71.115.10和106.185.25.10服务器上面,这样只需要准备一台服务器就够了。

第4步:重新启动named服务程序,验证结果。将客户端主机(Windows系统或Linux系统均可)的IP地址分别设置为122.71.115.1与106.185.25.1,将DNS地址分别设置为服务器主机的两个IP地址。这样,当尝试使用nslookup命令解析域名时就能清晰地看到解析结果

模拟中国用户的域名解析操作

模拟美国用户的域名解析

LinuxProbe 0x16 安装Bind服务程序、正向/反向解析、从署服务器、加密传输dns、缓存服务器、分离解析相关推荐

  1. DNS浅析-Bind软件的使用及搭建一个简单的DNS缓存服务器

    引入DNS软件: Bind:Berkey Information Name Domain 对数据库的支持不太好,不支持多线程 PowerDNS 性能强大 速  度块 Bind软件的配置使用 yum l ...

  2. DNS服务之分离解析(内网与外网之间的解析)

    分离解析实验过程 文章目录 分离解析实验过程 一.分离解析分析图示 二.解析的操作过程 [1]在dns服务器上添加双网卡 [2]修改网卡配置文件 (1)进入网卡文件所在的目录下查看是否添加成功 (2) ...

  3. 多区域 DNS 服务,子域授权,缓存 DNS及Split 分离解析的原理和实现

    DNS 服务器的功能: 正向解析:根据注册的域名查找其对应的 IP 地址 反向解析:根据 IP 地址查找对应的注册域名(不常用) DNS(域名解析)服务器:解析域名--->将域名解析为 IP 地 ...

  4. windows之DNS7种资源记录和flushdns命令清除DNS缓存以及nslookup解析域名和ipconfig/all命令查看网络配置使用总结

    1.DNS7种资源记录 DNS分为正向查找区域和反向查找区域,然后在分为,主要,辅助,存根区域,在这些区域里,又存在着很多的记录,今天,就让我们来看看这些记录: 1,A记录 A记录也称为主机记录,是使 ...

  5. dns服务器v6解析 windows_04:缓存DNS、Split分离解析、电子邮件通信、Web服务器项目实战...

    一. 环境的准备 关闭两台虚拟机的SELinux [root@svr7 ~]# setenforce 0 #修改当前运行模式[root@svr7 ~]# getenforce #查看当前运行模式Per ...

  6. Centos7 bind dns缓存服务器搭建?dns缓存在哪?如何验证是缓存在生效?

    一. 实验环境 本次使用Centos7.8系统 名称 IP DNS-cache(缓存服务器) 10.20.177.248 DNS-client(客户端) 10.20.177.97 二.所需软件 此处默 ...

  7. LINUX从零开始——SERVICES(系统服务管理进阶)——Day4 [缓存DNS、Split分离解析、电子邮件通信、Web服务器项目实战]

    一.环境准备 1.还原快照,开启虚拟机A与虚拟机B,以root用户登录 二 .环境设置 1.防火墙设置: 虚拟机A [root@A ~]# firewall-cmd --set-default-zon ...

  8. apache整合tomcat实现web服务器的动静态资源的分离解析

    前段时间因为一点关系,接触到apache动态进负载均衡的实验,很自然想到apache配合其他软件使用完成需求,网上找了下,还是比较多的apache整合tomcat的.所以我就将做到这个实验从头到尾思路 ...

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

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

最新文章

  1. Python 把字符串变成浮点数
  2. 05.global_index_setting_index相关全局设置
  3. 跨时钟域电路设计——结绳法
  4. mysql常用操作记录
  5. 关于split与StringTokenizer的理解
  6. java趣味_Java趣味分享:try finally
  7. 使用Advanced Installer将.exe程序重新封装为.msi程序
  8. C++中若类中没有默认构造函数,如何使用对象数组
  9. python post与get的区别_Python Requests库 Get和Post的区别和Http常见状态码
  10. 最近,4000余名工程师,集体重学数学!竟都只用这一招,快来!
  11. 【转】CString 操作指南
  12. 修改Tomcat8的默认访问端口8080
  13. 基于Windows AD的单点登录系统
  14. gamit添加未知天线
  15. 如何用photoshop做24色环_如何用PS做色相环?色相环的制作教程
  16. 如何设定合理的安全工作指标
  17. html中隐藏溢出怎么写,CSS溢出文字隐藏
  18. Spring当中循环依赖很少有人讲,今天让我们来看看吧
  19. linux接路由器没反应,路由器连接网线指示灯没反应完美解决方法
  20. python读取身份证中的生日信息

热门文章

  1. Oracle,tnsping通的条件
  2. 对软件工程师提高英语能力的建议
  3. 探究新时代Web前端开发的有效解决方案
  4. HTML+CSS-Day09
  5. Ubuntu22.04LTS 使用笔记
  6. 【PHP】如何搭建PHP本地运行学习环境2022版
  7. 【VMware虚拟机 U盘启动】
  8. mysql迁移数据库
  9. centos mysql数据迁移_Centos MySQL数据库迁移详细步骤
  10. IOS开发中委托代理(degegate)的理解和使用示例