当前位置: 首页 > news >正文

DNS高速缓存分离解析

DNS高速缓存&分离解析

1. 高速缓存

主机角色系统IP
client客户端redhat9.6192.168.72.7
server域名解析服务器redhat9.6192.168.72.18
cache域名解析缓存服务器redhat9.6192.168.72.48

1.1 配置域名解析器

1、修改主机名

[root@lcoalhost ~]# hostnamectl hostname server

2、修改IP地址

[root@server ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.72.18/24 ipv4.gateway 192.168.72.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
[root@server ~]# nmcli c up ens160

3、安装软件

[root@server ~]# dnf install bind -y

4、修改主配置文件

[root@server ~]# vim /etc/named.conf
[root@server ~]# cat /etc/named.conf
options {listen-on port 53 { 192.168.72.18; }; //监听的IP,一般写本机IP地址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; };	//指定允许查询的服务器recursion yes;dnssec-validation no; //关闭校验managed-keys-directory "/var/named/dynamic";geoip-directory "/usr/share/GeoIP";pid-file "/run/named/named.pid";session-keyfile "/run/named/session.key";include "/etc/crypto-policies/back-ends/bind.config";
};logging {channel default_debug {file "data/named.run";severity dynamic;};
};zone "." IN {type hint;file "named.ca";
};include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

4、修改区域配置文件

[root@server ~]# vim /etc/named.rfc1912.zones
[root@server ~]# cat /etc/named.rfc1912.zones
zone "exam.com" IN {type master;file "exam.com.zone";allow-update { none; };
};zone "72.168.192.in-addr.arpa" IN {type master;file "exam.com.arpa.zone";allow-update { none; };
};

5、编写正向解析区域数据文件

# 1. 进入区域数据存放目录
[root@server ~]# cd /var/named
[root@server named]# ls
data     example.com.arpa.zone  managed-keys.bind      named.ca     named.localhost  slaves
dynamic  example.com.zone       managed-keys.bind.jnl  named.empty  named.loopback# 2. 复制模板文件
[root@server named]# cp -p named.localhost exam.com.zone# 3. 编辑数据文件
[root@server named]# vim exam.com.zone
[root@server named]# cat exam.com.zone 
$TTL 1D
@	IN SOA	@ admin.exam.com. (0	; serial1D	; refresh1H	; retry1W	; expire3H )	; minimumNS	ns
ns	A	192.168.72.18
www	A	192.168.72.8
web	CNAME	www

6、编写反向区域数据文件

[root@server named]# cp -p named.loopback exam.com.arpa.zone
[root@server named]# vim exam.com.arpa.zone
[root@server named]# cat exam.com.arpa.zone 
$TTL 1D
@	IN SOA	@ admin.exam.com. (0	; serial1D	; refresh1H	; retry1W	; expire3H )	; minimumNS	ns
ns	A	192.168.72.18
8	PTR	www.exam.com.

7、启动服务

# 1. 验证配置文件的语法
[root@server named]# named-checkconf -z /etc/named.conf
zone exam.com/IN: loaded serial 0
zone 72.168.192.in-addr.arpa/IN: loaded serial 0
[root@server named]# named-checkzone exam.com /var/named/exam.com.zone 
zone exam.com/IN: loaded serial 0
OK# 2. 启动服务
[root@server named]# systemctl start named

8、防火墙放行服务

[root@server named]# firewall-cmd --permanent --add-service=dns
success
[root@server named]# firewall-cmd --reload

1.2 配置客户端

1、修改主机名

[root@lcoalhost ~]# hostnamectl hostname client

2、修改IP地址

[root@client ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.72.7/24 ipv4.gateway 192.168.72.2 ipv4.dns 192.168.72.48 connection.autoconnect yes
[root@client ~]# nmcli c up ens160

3、安装测试工具

[root@client ~]# dnf install -y bind-utils

4、解析验证

[root@client ~]# dig -t A www.exam.com @192.168.72.18; <<>> DiG 9.16.23-RH <<>> -t A www.exam.com @192.168.72.18
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10461
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: c5474d5b3fa7c2c001000000690eab6f453bae94fbcb7f0c (good)
;; QUESTION SECTION:
;www.exam.com.			IN	A;; ANSWER SECTION:
www.exam.com.		86400	IN	A	192.168.72.8;; Query time: 1 msec
;; SERVER: 192.168.72.18#53(192.168.72.18)
;; WHEN: Sat Nov 08 10:31:12 CST 2025
;; MSG SIZE  rcvd: 85[root@client ~]# dig -x 192.168.72.8 @192.168.72.18; <<>> DiG 9.16.23-RH <<>> -x 192.168.72.8 @192.168.72.18
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32784
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 56749646e7158c8401000000690eab87bde5965ad465847f (good)
;; QUESTION SECTION:
;8.72.168.192.in-addr.arpa.	IN	PTR;; ANSWER SECTION:
8.72.168.192.in-addr.arpa. 86400 IN	PTR	www.exam.com.;; Query time: 0 msec
;; SERVER: 192.168.72.18#53(192.168.72.18)
;; WHEN: Sat Nov 08 10:31:37 CST 2025
;; MSG SIZE  rcvd: 108

1.3 配置缓存服务器

1、修改主机名

[root@lcoalhost ~]# hostnamectl hostname cache

2、修改IP地址

[root@cache ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.72.48/24 ipv4.gateway 192.168.72.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
[root@cache ~]# nmcli c up ens160

3、安装软件

[root@cache ~]# dnf install -y bind

4、修改主配置文件

[root@cache ~]# vim /etc/named.conf 
[root@cache ~]# cat /etc/named.conf 
options {listen-on port 53 { any; };directory 	"/var/named";allow-query     { any; };forwarders { 192.168.72.18; };recursion yes;dnssec-validation no;
};

5、启动服务

[root@cache ~]# systemctl start named

6、防火墙放行服务

[root@cache ~]# firewall-cmd --permanent --add-port=53/tcp --add-port=53/udp
success
[root@cache ~]# firewall-cmd --reload 
success

1.4 修改客户端

1、修改客户端的DNS

[root@client ~]# nmcli c modify ens160 ipv4.dns 192.168.72.48
[root@client ~]# nmcli c up ens160 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)

2、测试解析

[root@client ~]# dig -t A www.exam.com @192.168.72.48; <<>> DiG 9.16.23-RH <<>> -t A www.exam.com @192.168.72.48
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54060
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: bd9d29d56e81686c01000000690eae4b87d476c70adfd7df (good)
;; QUESTION SECTION:
;www.exam.com.			IN	A;; ANSWER SECTION:
www.exam.com.		86400	IN	A	192.168.72.8;; Query time: 13 msec
;; SERVER: 192.168.72.48#53(192.168.72.48)
;; WHEN: Sat Nov 08 10:43:24 CST 2025
;; MSG SIZE  rcvd: 85[root@client ~]# dig -t A www.exam.com @192.168.72.48; <<>> DiG 9.16.23-RH <<>> -t A www.exam.com @192.168.72.48
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62714
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 220bee834226ff2501000000690eae4ff05f88554a6450a8 (good)
;; QUESTION SECTION:
;www.exam.com.			IN	A;; ANSWER SECTION:
www.exam.com.		86396	IN	A	192.168.72.8;; Query time: 0 msec
;; SERVER: 192.168.72.48#53(192.168.72.48)
;; WHEN: Sat Nov 08 10:43:28 CST 2025
;; MSG SIZE  rcvd: 85

2. 分离解析

主机名角色系统IP
web1外网Web服务器redhat9.6172.25.16.102
web2内网Web服务器redhat9.6192.168.72.102
ns1分离服务器redhat9.6192.168.72.101 172.25.16.101
client1外网客户机redhat9.6172.25.16.106
client2内网客户机redhat9.6192.168.72.106

2.1 环境准备

克隆5台服务器,并根据上表所示设置服务器的网络连接类型。web1、client1网络类型为仅主机模式。web2 和 client2 是 NAT 模式。ns1 服务有两块网卡,一块为仅主机模式,一块为 NAT 模式。

2.2 配置外网Web服务器

1、修改主机名

[root@localhost ~]# hostnamectl hostname web1

2、修改IP

[root@localhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 172.25.16.102/24 ipv4.dns 172.25.16.101 connection.autoconnect yes
[root@localhost ~]# nmcli c up ens160

3、安装nginx

[root@web1 ~]# dnf install nginx -y

4、修改首页

[root@web1 ~]# echo "$(hostname) - $(hostname -I)" > /usr/share/nginx/html/index.html

5、启动服务

[root@web1 ~]# systemctl start nginx

6、访问测试

[root@web1 ~]# curl localhost
web1 - 172.25.16.102

7、放行端口

[root@web1 ~]# firewall-cmd --permanent --add-port=80/tcp
success
[root@web1 ~]# firewall-cmd --reload
success

2.3 配置内网Web服务器

1、修改主机名

[root@localhost ~]# hostnamectl hostname web2

2、修改IP

[root@localhost ~]# nmcli c modify ens160 ipv4.method manual ipv4.addresses 192.168.72.102/24 ipv4.gateway 192.168.72.2 ipv4.dns 192.168.72.101 connection.autoconnect yes
[root@localhost ~]# nmcli c up ens160

3、安装nginx

[root@web2 ~]# dnf install nginx -y

4、修改首页

[root@web2 ~]# echo "$(hostname) - $(hostname -I)" > /usr/share/nginx/html/index.html

5、启动服务

[root@web2 ~]# systemctl start nginx

6、访问测试

[root@web2 ~]# curl localhost
web2 - 192.168.72.102

7、放行端口

[root@web2 ~]# firewall-cmd --permanent --add-port=80/tcp
success
[root@web2 ~]# firewall-cmd --reload
success

2.4 配置分离解析服务器

1、修改主机名

[root@localhost ~]# hostnamectl hostname ns1

2、修改外网IP

# 1. 查看连接名称
[root@localhost ~]# nmcli c show
NAME                UUID                                  TYPE      DEVICE 
ens160              102dfc24-9f7b-361b-8d11-405d00c1bfee  ethernet  ens160 
Wired connection 1  0ae80679-343b-38e7-a5da-adc8281548e2  ethernet  ens224 
lo                  42381583-4c98-4e59-ada6-229f46eca8b5  loopback  lo    # 2. 修改连接名称,将Wired connection 1修改为ens224
[root@localhost ~]# nmcli c modify Wired\ connection\ 1 connection.id ens224
[root@localhost ~]# nmcli c show
NAME    UUID                                  TYPE      DEVICE 
ens160  102dfc24-9f7b-361b-8d11-405d00c1bfee  ethernet  ens160 
ens224  0ae80679-343b-38e7-a5da-adc8281548e2  ethernet  ens224 
lo      42381583-4c98-4e59-ada6-229f46eca8b5  loopback  lo     # 3. 修改IP地址
[root@localhost ~]# nmcli c m ens224 ipv4.method manual ipv4.addresses 172.25.16.101/24 ipv4.dns 223.5.5.5 connection.autoconnect yes
[root@localhost ~]# nmcli c up ens224 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)# 4. 查看网卡信息
[root@localhost ~]# ifconfig ens224
ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 172.25.16.101  netmask 255.255.255.0  broadcast 172.25.16.255inet6 fe80::2d20:87a9:a9ac:1549  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:64:da:9f  txqueuelen 1000  (Ethernet)RX packets 55  bytes 6532 (6.3 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 33  bytes 2958 (2.8 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

3、修改内网IP

[root@localhost ~]# nmcli c m ens160 ipv4.method manual ipv4.addresses 192.168.72.101/24 ipv4.gateway 192.168.72.2 ipv4.dns 223.5.5.5 connection.autoconnect yes
[root@localhost ~]# nmcli c up ens160 

4、安装软件

[root@ns1 ~]# dnf install bind -y

5、修改主配置文件

[root@ns1 ~]# vim /etc/named.conf
[root@ns1 ~]# cat /etc/named.conf 
options {listen-on port 53 { any; };  // { 172.25.16.101; 192.168.72.101; }   这里修改了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; };	// 这里修改了recursion yes;dnssec-validation no;	// 这里修改了managed-keys-directory "/var/named/dynamic";geoip-directory "/usr/share/GeoIP";pid-file "/run/named/named.pid";session-keyfile "/run/named/session.key";include "/etc/crypto-policies/back-ends/bind.config";
};logging {channel default_debug {file "data/named.run";severity dynamic;};
};include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

6、修改区域配置文件

[root@ns1 ~]# vim /etc/named.rfc1912.zones
[root@ns1 ~]# cat /etc/named.rfc1912.zones
view "LAN" {match-clients { 192.168.72.0/24; };zone "exam.com" IN {type master;file "lan.exam.com.zone";};zone "." IN {type hint;file "named.ca";};
};view "WAN" {match-clients { 172.25.16.0/24; };zone "exam.com" IN {type master;file "wan.exam.com.zone";};zone "." IN {type hint;file "named.ca";};
};

7、编写内网区域数据文件

[root@ns1 ~]# cd /var/named/
[root@ns1 named]# cp -p named.localhost lan.exam.com.zone
[root@ns1 named]# vim lan.exam.com.zone
[root@ns1 named]# cat lan.exam.com.zone 
$TTL 1D
@	IN SOA	exam.com. 	admin.exam.com. (0	; serial1D	; refresh1H	; retry1W	; expire3H )	; minimumNS	ns
ns	A	192.168.72.101
www	A	192.168.72.102

8、编写外网区域数据文件

[root@ns1 named]# cp -p lan.exam.com.zone wan.exam.com.zone
[root@ns1 named]# vim wan.exam.com.zone
[root@ns1 named]# cat wan.exam.com.zone
$TTL 1D
@	IN SOA	exam.com. 	admin.exam.com. (0	; serial1D	; refresh1H	; retry1W	; expire3H )	; minimumNS	ns
ns	A	172.25.16.101
www	A	172.25.16.102

9、启动服务器

[root@ns1 named]# systemctl start named

10、放行服务

[root@ns1 named]# firewall-cmd --permanent --add-service=dns
success
[root@ns1 named]# firewall-cmd --reload
success

2.5 配置外网客户端

1、修改主机名


2、修改IP和DNS

[root@localhost ~]# nmcli c m ens160 ipv4.method manual ipv4.addresses 172.25.16.106/24 ipv4.gateway 172.25.16.101 ipv4.dns 172.25.16.101 autoconnect yes
[root@localhost ~]# nmcli c up ens160

3、安装工具

[root@localhost ~]# dnf install -y bind-utils

4、验证

[root@localhost ~]# curl www.exam.com
web1 - 172.25.16.102

2.6 配置内网客户端

1、修改主机名


2、修改IP和DNS

[root@localhost ~]# nmcli c m ens160 ipv4.method manual ipv4.addresses 192.168.72.106/24 ipv4.gateway 192.168.72.101 ipv4.dns 192.168.72.101 autoconnect yes
[root@localhost ~]# nmcli c up ens160

3、安装工具

[root@localhost ~]# dnf install -y bind-utils

4、验证

[root@localhost ~]# curl www.exam.com
web2 - 192.168.72.102
http://www.dtcms.com/a/587240.html

相关文章:

  • 中国建设门户网站旅游网站建设步骤
  • 想学做网站 应该学宁波人才网
  • 达梦新云文档数据库分享
  • 徐州网站客户上海网络推广营销
  • 海南网站优化公司网络公司优化关键词
  • 淘宝放单网站怎么做北京网站怎么建设
  • 南宁做网站 的游戏网络公司名字
  • 硬核对决:小鹏 IRON 与特斯拉 Optimus,人形机器人赛道的技术路线博弈
  • 做网站用虚拟主机怎么样自己做网站导航页
  • 德阳网站优化wordpress一行太宽了
  • 湘潭网站建设开发wordpress对接小程序
  • 北京模板网站开发公司营销型网站建设设计6
  • 免疫算法学习
  • 定制程序网站厦门建设局局长李德才
  • 中关村在线官方网站一 建设网站前的市场分析
  • 网站建设需要哪些证书做个外贸网站设计
  • 饰品设计网站推荐网站设置黑白色
  • 推广网站的网址和网鱼相匹配wordpress不用服务器
  • 个人做网站要买什么域名医疗公司logo设计图片
  • 网站快速排名是怎么做的wordpress保存图片不显示
  • 可信网站 收费做那个男女的视频网站
  • 网站建设应该注意哪些问题贵阳网站建设多钱钱
  • 陕西公路工程建设有限公司网站网络推广营销
  • 淄博网站公司百度搜索引擎广告投放
  • 重庆梁平网站建设哪家好公司企业网站建设方案
  • 大模型、智能体和MCP服务间的交互
  • drupal个人门户网站开发百度站内搜索代码
  • 网站邮箱怎么做的seo优化是啥
  • 工作室设计新网站内部优化怎么做
  • 企业网站开发信息开发公司名称起名大全