云计算学习100天-第39天

DNS相关技术------

DNS分离解析

概念

当收到客户机的DNS查询请求时能够区分客户机的来源地址,为不同类别的客户机提供不同的解析结果。

BIND的view视图------

根据源地址集合将客户机分类,不同客户机获得不同结果。

示例:

view "vip"{

match-clients{ 来源地址1;......}

zone "12306.cn" IN{

......地址库文件1;

};

}

view "other"{

match-clients{ 来源地址2;......}

zone "12306.cn" IN{

......地址库文件2;

};

}

示例说明:

同一个区域在多个视图内分别定义,其他地址库文件相互独立,从而实现解析结果的分离

定义view视图后,不允许在view以外出现zone配置

案例

环境及需求:

权威DNS:server.abcd.cn 192.168.88.240

负责区域:abcd.cn

A记录分离解析------以www. abcd.cn为例

|--------------|---------------|
| 客户机来自 | 解析结果 |
| 192.168.88.2 | 192.168.4.100 |
| 其他地址 | 1.2.3.4 |

设备:

server 192.168.88.240

pc1 192.168.88.2

pc2 192.168.88.3

操作步骤

server机配置

1、设置selinux和防火墙

#server设置selinux为宽松

Setenforce 0

Vim /etc/selinux/config

SELINUX=permissive

#卸载防火墙

yum remove firewalld

#其他两台机器都一样操作

2、安装DNS软件包

yum --y install bind bind-chroot

3、修改主配置文件

vim /etc/named.conf

options {

directory "/var/named";

};

zone "abcd.cn" IN{

type master;

file "abcd.cn.zone";

};

4、新建zone文件用于dns解析

cd /var/named/

cp --p named.localhost abcd.cn.zone

vim abcd.cn.zone

...

NS server

server A 192.168.88.240

www A 192.168.4.100

5、重启服务

systemctl restart named

6、指定dns服务器

cd /

echo nameserver 192.168.88.240 > /etc/resolv.conf

其他两台机器也执行这条命令指定一下

pc1机配置

1、测试域名

nslookup www.abcd.cn

显示:192.168.4.100

设置server机分离解析

1、修改主配置文件

vim /etc/named.conf

options {

directory "/var/named";

};

view "haha" {

match-clients { 192.168.88.2; }; #解析结果就是192.168.4.100

zone "abcd.cn" IN{

type master;

file "abcd.cn.zone";

};

};

view "xixi" {

match-clients { any; }; #所有其他IP地址,解析结果就是192.168.4.100,文件是由上到下匹配的,先匹配的是192.168.88.2

zone "abcd.cn" IN{

type master;

file "abcd.cn.other";

};

};

2、编辑zone地址库文件

cp /var/named/abcd.cn.zone /var/named/abcd.cn.other

vim /var/named/abcd.cn.other

...

NS server

server A 192.168.88.240

www A 1.2.3.4

3、重启服务

systemctl restart named

4、pc1机测试域名

nslookup www.abcd.cn

显示:192.168.4.100

5、pc2机测试域名

nslookup www.abcd.cn

显示:1.2.3.4

主从DNS架构

概念

主域名服务器------

特定DNS区域的官方服务器,具有唯一性

负责维护该区域内所有的"域名<--->IP地址"记录

从域名服务器------

也叫辅助域名服务器,可以没有

其维护的"域名<--->IP地址"记录取决于主域名服务器

案例

网络架构

|--------|----------------|--------|
| 服务器名 | IP地址 | 说明 |
| Server | 192.168.88.240 | 主域名服务器 |
| pc1 | 192.168.88.2 | 从域名服务器 |
| pc2 | 192.168.88.3 | 测试服务器 |

操作步骤

搭建主域名服务器

注意:首先要关闭SElinux和防火墙

1、修改DNS服务器地址的配置

vim /etc/named.conf

options {

directory "/var/named";

allow-transfer { 192.168.88.2; }; #告诉DNS服务器,谁是从域名服务器

};

zone "abcd.cn" IN{

type master;

file "abcd.cn.zone";

};

2、修改地址库文件

vim /var/named/abcd.cn.zone

...

NS server

NS pc1

server A 192.168.88.240

pc1 A 192.168.88.2

www A 192.168.4.100

3、重启服务

systemctl restart named

搭建从域名服务器

1、装包,启动服务

yum --y install bind bind-chroot

2、修改DNS服务器地址的配置

vim /etc/named.conf

options {

directory "/var/named";

};

zone "abcd.cn" IN{

type slave;

file "abcd.cn.slave";

masters { 192.168.88.240; };

masterfile-format text; #要明文的abcd.cn.slave文件,不加这句就是加密的

};

3、查看named用户有对/var/named目录有读写执行权限

id named

ls --ld /var/named

4、重启服务

systemctl restart named

ls --ld /var/named #看到有abcd.cn.slave文件

5、在pc2上测试

nslookup www.abcd.cn 192.168.88.240

nslookup www.abcd.cn 192.168.88.2

都显示:

Name:www.abcd.cn

Address:192.168.4.100

配置主从同步

1、服务器改配置文件

vim /var/named/abcd.cn.zone

...

NS server

NS pc1

server A 192.168.88.240

pc1 A 192.168.88.2

www A 1.1.1.1

2、重启服务

systemctl restart named

3、在pc2上测试

nslookup www.abcd.cn 192.168.88.240

显示:

Name:www.abcd.cn

Address:1.1.1.1

nslookup www.abcd.cn 192.168.88.2

显示:

Name:www.abcd.cn

Address:192.168.4.100

说明没同步。

4、要让主从的数据同步,服务器还要改配置文件

vim /var/named/abcd.cn.zone

...

2022060601 ; serial #第三行------数据版本号 0改成任意数字,只要改了就表示有更新,就会触发主从同步。专业写法就是修改的年月日加修改次数

1D ; refresh #天数 每隔一天确认一次从活着

1H ; retry #小时数 如果找不到从,每隔1小时联系下从

1W ; expire #星期数 联系从一个星期都找不到,认为从挂了

3H ) ; minimum #失效记录的记录时间3小时,就是接受客户端请求找域名,但是找不到,找不到的这个记录会记录3个小时,以便还有客户端来请求找这个域名时可以速度回复

NS server

NS pc1

server A 192.168.88.240

pc1 A 192.168.88.2

www A 1.1.1.1

systemctl restart named

5、重启服务后去查看从域名服务器的配置文件,发现第三行也改成2022060601 ; serial了

6、再去pc2上测试,就看到同步了

nslookup www.abcd.cn 192.168.88.2

显示:

Name:www.abcd.cn

Address:192.168.88.2

缓存DNS服务器

概念

主要应用场景------

互联网出口带宽较低的企业局域网络

ISP服务商的公共DNS服务器

核心功能与优势

加速域名解析
通过存储已查询的域名-IP映射关系,减少重复查询时间,显著提升用户访问速度‌。当客户端与缓存服务器间存在高速连接时,响应时间可缩短至毫秒级‌。

降低网络流量
减少对上游DNS服务器的重复请求,有效缓解机构网络带宽压力,节省升级成本‌。同时可降低互联网整体流量负载‌。

内容分发支持
在互联网各层级部署缓存服务器,可快速扩散热门内容,即使源服务器带宽有限也能满足用户需求‌。

技术实现原理

缓存机制
自动保存DNS查询结果(包括A记录、CNAME等),并设置TTL(Time-to-Live)控制缓存有效期‌2。例如Linux系统通过/etc/named.conf配置缓存策略‌。

层级结构
分为主缓存服务器(存储完整DNS数据)和辅助缓存服务器(仅存储常用记录),通过SOA记录同步数据‌。

缓存更新
当域名IP变更时,需手动清空缓存(如Windows执行ipconfig /flushdns)或等待TTL过期‌。

基本配置步骤

  1. 建立named.comf主配置文件,设置forwarders{ 公共DNS; }; 转发器
  2. 启动named服务
  3. 验证缓存DNS服务器

案例

网络架构

|--------|----------------|---------|
| 服务器名 | IP地址 | 说明 |
| Server | 192.168.88.240 | 主域名服务器 |
| pc1 | 192.168.88.2 | 缓存域名服务器 |
| pc2 | 192.168.88.3 | 测试服务器 |

pc2主机配置

1、编辑配置文件

vim /etc/named.conf

options {

directory "/var/named";

};

2、重启服务,这时pc2测试域名就没有任何返回了

systemctl restart named

3、再编辑配置文件

vim /etc/named.conf

options {

directory "/var/named";

forwarders { 192.168.88.240; }; #设置了DNS转发器地址为192.168.88.240,转发的地址可以写多个

};

4、重启服务,转发域名访问到server

systemctl restart named

pc3主机测试

nslookup www.abcd.cn 192.168.88.2

显示:1.1.1.1

相关推荐
@Dai2 小时前
【跨境电商】上中下游解释,以宠物行业为例
经验分享·笔记·学习·其他·宠物
辰熙咨询洪千武3 小时前
《华为基本法》——企业文化的精髓,你学习了几条?
学习·职场和发展·创业创新·业界资讯
AnySpaceOne3 小时前
MP4视频太大如何压缩?分享6种简单便捷的压缩小技巧
学习·音视频
尚久龙4 小时前
安卓学习 之 模拟登录界面
java·学习·手机·android studio·安卓
HenryLin12344 小时前
【学习记录】github私人仓库创建和本地克隆
学习·github
Coovally AI模型快速验证5 小时前
轻量级注意力模型HOTSPOT-YOLO:无人机光伏热异常检测新SOTA,mAP高达90.8%
人工智能·学习·yolo·计算机视觉·目标跟踪·无人机
茯苓gao6 小时前
变频器实习DAY42 VF与IF电机启动方式
笔记·嵌入式硬件·学习
百锦再6 小时前
每天两小时学习three.js
开发语言·javascript·学习·3d·three·2d·gbl
龚子亦7 小时前
【Unity开发】热更新学习——AssetBundle
学习·unity·游戏引擎