DNS常见配置

简介:

在前面的文章中我们搭建了一个主从DNS,但是在实际的应用中,仅仅搭建起来是不够的,对DNS添加各种记录是日常维护DNS中比较常见的问题,如添加A记录,CNAME,MX,PTR等。


添加A记录

在主从的配置中,一般会对主DNS进行修改,从DNS同步主DNS的数据。

编辑master节点的zone配置文件,可以直接在末尾添加一行记录,同时将serial值 +1:

1
           2001      ; serial   # 将原来2000的serial值改为2001,使进行slave同步
1
2
3
4
5
$ORIGIN  test .com.
shanks   A  1.2.3.4
op       A   1.2.3.4
t      A    1.2.3.4
trying  A   192.168.1.2   # 添加的一行记录

执行 rndc reload 使配置文件生效,此时,slave上的zone文件也会更新。

验证结果:

1
2
3
4
5
6
[root@DNS-Server ~] # host trying.test.com 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1 #53
Aliases: 
trying. test .com has address 192.168.1.2


添加CNAME记录

与添加A记录一样,在文件末尾追加一行记录:

1
tryingstuff  CNAME  trying. test .com.    # 末尾的“.” 不能忽略

将serial +1

执行rndc reload使配置文件生效。

验证结果:

1
2
3
4
5
6
7
[root@DNS-Server ~] # host tryingstuff.test.com 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1 #53
Aliases: 
tryingstuff. test .com is an  alias  for  trying. test .com.
trying. test .com has address 192.168.1.2


添加MX记录

同理,修改zone 配置文件,serial +1, zone文件末尾加入一行结果:

1
2
# vim /var/named/chroot/etc/test.com.zone
mx  MX 3   192.168.1.100   # 3表示优先级,数字越低,优先级越高

执行rndc reload, 测试结果:

1
2
3
4
5
6
[root@DNS-Server ~] # host mx.test.com 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1 #53
Aliases: 
mx. test .com mail is handled by 3 192.168.1.100. test .com.


添加PTR记录

在很多场景中需要用到PTR反向解析,这里在原来的基础上添加PTR记录:

编辑master 上的view配置文件,加入PTR的zone:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@DNS-Server etc] # cat view.conf 
view  "View-test"  {
  zone  "test.com"  {
     type  master;
     file  "test.com.zone" ;
     allow-transfer {
     192.168.1.11;
};
   notify  yes ;
   also-notify {
     192.168.1.11;
};
};
zone  "168.192.in-addr.arpa"  {   # 这里是添加的反向解析域名,表示解析192.168段的主机
         type     master;
         file     "168.192.zone" ;   # zone 文件名
         allow-transfer {
                 192.168.1.11;
         };
         notify   yes ;
         also-notify {
                 192.168.1.11;
         };
   };
};

在添加了PTR的域之后,需要在指定的168.192.zone 文件中指定解析的内容:

1
2
3
4
5
6
7
8
9
10
11
[root@DNS-Server etc] # cat 168.192.zone 
$TTL 3600       ; 1 hour
@                 IN SOA   op . test .com. dns. test .com. (
                                 2000       ; serial
                                 900        ; refresh (15 minutes)
                                 600        ; retry (10 minutes)
                                 86400      ; expire (1 day)
                                 3600       ; minimum (1 hour)
                                 )
                         NS       op . test .com.
100.1   IN   PTR   a. test .com.   # 添加的反向解析记录,对应的IP为 192.168.1.100

修改master上PTR zone文件的属性:

1
2
chown  named.named 168.192.zone 
rndc reload


此时slave上的节点是不会同步master上的PTR zone文件的,需要先设置zone配置文件。

修改slave节点/var/named/chroot/etc/view.confg的配置,增加PTR的zone配置:

1
2
3
4
5
6
     zone  "168.192.in-addr.arpa"  {
        type  slave;
        masters {192.168.1.10;};
        Masterfile-Format Text;
        file  "slave.168.192.zone" ;
};

执行rndc reload,同步PTR zone文件,此时,在slave上就可以看到slave同步的文件了。

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@DNS-Slave ~] # cat /var/named/chroot/etc/slave.168.192.zone 
$ORIGIN .
$TTL 3600; 1 hour
168.192. in -addr.arpa    IN SOA     op . test .com. dns. test .com. (
2001       ; serial
900        ; refresh (15 minutes)
600        ; retry (10 minutes)
86400      ; expire (1 day)
3600       ; minimum (1 hour)
)
     NS     op . test .com.
$ORIGIN 168.192. in -addr.arpa.
100.1    PTR    a. test .com.

测试解析结果:

1
2
3
4
5
6
[root@DNS-Slave ~] # host 192.168.1.100 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1 #53
Aliases: 
100.1.168.192. in -addr.arpa domain name pointer a. test .com.  #返回的结果正确


使用DNS实现服务的负载均衡

对于一个域名多个IP 的情况,DNS会对多个IP进行轮询,这样就实现了负载均衡功能。DNS只会按照自身的配置信息进行轮询,不会探测后端的服务节点是否可用。

直接在master上的ZONE配置文件上添加一条A 记录,serial 值+1 即可。

1
t  A   192.168.1.111
1
2
3
4
5
6
7
[root@DNS-Server etc] # host t.test.com 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1 #53
Aliases: 
t. test .com has address 192.168.1.111    # 反回了两行信息
t. test .com has address 1.2.3.4


配置DNS视图(智能DNS)

智能DNS是指通过判断用户的来源,返回给用户一个最佳的服务站点。简单来说就是让联通和电信的不同用户在访问相同的站点时,分别将请求解析到与用户网络相同的服务器上来提升用户的体验。只能DNS还可以探测后端节点的运行状态,如果发现后端有节点故障,会将请求发送到能提供正常服务的主机上。

配置智能DNS,修改master上的/etc/named.conf 文件:

1
vim  /etc/named .conf
1
2
3
4
5
6
7
8
acl group1 {                # 在原来的基础上增加两个group的配置,加在include之前
    192.168.1.10;            # 在两个group中分别指定两个不同的DNS服务器.
};
acl group2 {
   192.168.1.11;
};
 
include  "/var/named/chroot/etc/view.conf" ;


编辑master节点上的view.conf 文件,添加group,将之前的view.conf 文件清空:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@DNS-Server etc] # cat view.conf
view  "GROUP1"  {
     match-clients { group1;};
     zone  "viewtest.com"  {
       type  master;
       file  "group1.viewtest.com.zone" ;
};
};
view  "GROUP2"  {
      match-clients { group2;};
      zone  "viewtest.com"  {
      type  master;
      file  "group2.viewtest.com.zone" ;
};
};

分别创建两个指定的zone文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@DNS-Server ~] # cat /var/named/chroot/etc/group1.viewtest.com.zone 
$ORIGIN .
$TTL 3600 ; 1 hour
viewtest.com  IN SOA  op .viewtest.com dns.viewtest.com. (
           2007 ; serial
           900       ; refresh  (15 minutes)
           600       ; retry (10 minutes)
           86400     ; expire (1 day)
           3600      ; minimum (1 hour)
           )
      NS    OP.viewtest.com.
$ORIGIN viewtest.com.
view    A   1.2.3.4
op       A   1.2.3.4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@DNS-Server ~] # cat /var/named/chroot/etc/group2.viewtest.com.zone 
$ORIGIN .
$TTL 3600 ; 1 hour
viewtest.com  IN SOA  op .viewtest.com dns.viewtest.com. (
           2007 ; serial
           900       ; refresh  (15 minutes)
           600       ; retry (10 minutes)
           86400     ; expire (1 day)
           3600      ; minimum (1 hour)
           )
      NS    OP.viewtest.com.
$ORIGIN viewtest.com.
view    A   1.2.100.100
op       A   1.2.100.100

两个文件的指定解析的IP不同。

更改两个文件的权限,并重启named:

1
2
  chown   named.named group*
  systemctl restart named

测试结果,以192.168.1.10作为客户端,对DNS发起解析请求:

1
2
3
4
5
6
[root@DNS-Server ~] # host view.viewtest.com 192.168.1.10
Using domain server:
Name: 192.168.1.10
Address: 192.168.1.10 #53
Aliases: 
view.viewtest.com has address 1.2.3.4

 以192.168.1.11作为客户端,对DNS发起解析请求:

1
2
3
4
5
6
[root@DNS-Slave ~] # host view.viewtest.com 192.168.1.10
Using domain server:
Name: 192.168.1.10
Address: 192.168.1.10 #53
Aliases: 
view.viewtest.com has address 1.2.100.100

不同的客户端解析的结果不一样,这样就达到了我们的要求。

智能DNS解析的过程:

1、在named.conf 文件中定义了两个group,group1 包含了192.168.1.10的客户端,group2 包含了192.168.1.11的客户端。这两个group 就对来源IP进行了区分,不同group的来源IP使用不同的zone文件进行解析。

2、当在192.168.1.10 (11)上请求解析view.viewtest.com 时,发现此IP属于group1(group2),于是去查看 /var/named/chroot/etc/view.conf这个文件。

3、在view.conf文件中,分别指定了解析group1和group2中需要解析的zone文件,于是,系统会根据来源IP自动选择其对应的zone文件。

4、在group1和group2的zone文件中,分别指定了view.viewtest.com对应的解析记录,分别为1.2.3.4 和1.2.100.100。 系统读取各自对应的zone文件,返回客户端不同的解析结果。


小提示:

此处清空了view.conf文件的同步配置,可以按照原来的方式,将同步参数加入。针对每个定义的域进行同步设置。



 本文转自 酥心糖 51CTO博客,原文链接:http://blog.51cto.com/tryingstuff/1880669


相关文章
|
6月前
|
存储 缓存 网络协议
阿里云特惠云服务器99元与199元配置与性能和适用场景解析:高性价比之选
2025年,阿里云长效特惠活动继续推出两款极具吸引力的特惠云服务器套餐:99元1年的经济型e实例2核2G云服务器和199元1年的通用算力型u1实例2核4G云服务器。这两款云服务器不仅价格亲民,而且性能稳定可靠,为入门级用户和普通企业级用户提供了理想的选择。本文将对这两款云服务器进行深度剖析,包括配置介绍、实例规格、使用场景、性能表现以及购买策略等方面,帮助用户更好地了解这两款云服务器,以供参考和选择。
|
4月前
|
域名解析 应用服务中间件 Shell
使用nps配置内网穿透加域名解析
使用nps配置内网穿透加域名解析
593 76
|
6月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
7月前
|
域名解析 网络协议 Ubuntu
DHCP与DNS的配置
通过这些步骤,您可以在Linux环境下成功配置和验证DHCP和DNS服务。希望这些内容对您的学习和工作有所帮助。
639 27
|
7月前
|
Java 数据库 开发者
详细介绍SpringBoot启动流程及配置类解析原理
通过对 Spring Boot 启动流程及配置类解析原理的深入分析,我们可以看到 Spring Boot 在启动时的灵活性和可扩展性。理解这些机制不仅有助于开发者更好地使用 Spring Boot 进行应用开发,还能够在面对问题时,迅速定位和解决问题。希望本文能为您在 Spring Boot 开发过程中提供有效的指导和帮助。
642 12
|
7月前
|
存储 人工智能 并行计算
2025年阿里云弹性裸金属服务器架构解析与资源配置方案
🚀 核心特性与技术创新:提供100%物理机性能输出,支持NVIDIA A100/V100 GPU直通,无虚拟化层损耗。网络与存储优化,400万PPS吞吐量,ESSD云盘IOPS达100万,RDMA延迟<5μs。全球部署覆盖华北、华东、华南及海外节点,支持跨地域负载均衡。典型应用场景包括AI训练、科学计算等,支持分布式训练和并行计算框架。弹性裸金属服务器+OSS存储+高速网络综合部署,满足高性能计算需求。
|
10月前
|
域名解析 存储 缓存
DNS是什么?内网电脑需要配置吗?
【10月更文挑战第22天】DNS是什么?内网电脑需要配置吗?
1822 1
|
11月前
|
弹性计算 网络协议 Ubuntu
如何在阿里云国际版Linux云服务器中自定义配置DNS
如何在阿里云国际版Linux云服务器中自定义配置DNS
|
11月前
|
机器学习/深度学习 调度
mmseg配置解析 Polynomial Decay 多项式衰减
Polynomial Decay(多项式衰减)是一种常用的学习率调度方法,通过多项式函数逐步减少学习率,帮助模型更好地收敛。公式为:\[ lr = (lr_{initial} - \eta_{min}) \times \left(1 - \frac{current\_iter}{max\_iters}\right)^{power} + \eta_{min} \]。参数包括初始学习率、最小学习率、当前迭代次数、总迭代次数和衰减指数。适用于需要平滑降低学习率的场景,特别在训练后期微调模型参数。
286 0
mmseg配置解析 Polynomial Decay 多项式衰减
|
11月前
|
网络协议 Docker 容器
docker中的DNS配置
【10月更文挑战第5天】
2080 1

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
  • DNS