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


相关文章
|
1月前
|
数据采集 消息中间件 监控
Flume数据采集系统设计与配置实战:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入探讨Apache Flume的数据采集系统设计,涵盖Flume Agent、Source、Channel、Sink的核心概念及其配置实战。通过实例展示了文件日志收集、网络数据接收、命令行实时数据捕获等场景。此外,还讨论了Flume与同类工具的对比、实际项目挑战及解决方案,以及未来发展趋势。提供配置示例帮助理解Flume在数据集成、日志收集中的应用,为面试准备提供扎实的理论与实践支持。
37 1
|
2月前
|
缓存 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 配置DNS dnsconf 命令 使用教程
【Shell 命令集合 网络通讯 】Linux 配置DNS dnsconf 命令 使用教程
46 0
|
2月前
|
网络协议 Linux
Linux DNS服务详解——DNS主从架构配置
Linux DNS服务详解——DNS主从架构配置
422 4
|
3月前
|
域名解析 应用服务中间件 Linux
【服务器】使用域名解析服务器的IP地址并配置SSL证书
【服务器】使用域名解析服务器的IP地址并配置SSL证书
526 0
|
8天前
|
缓存 测试技术 Android开发
深入了解Appium:Capability 高级配置技巧解析
Appium 提供多种进阶配置项以优化自动化测试,如 deviceName 作为设备别名,udid 确保选择特定设备,newCommandTimeout 设置超时时间,PRINT_PAGE_SOURCE_ON_FIND_FAILURE 在错误时打印页面源,以及测试策略中的 noReset、shouldTerminateApp 和 forceAppLaunch 控制应用状态和重启。这些配置可提升测试效率和准确性。
16 2
|
8天前
|
存储 弹性计算 固态存储
阿里云服务器配置选择指南,2024年全解析
阿里云服务器配置选择涉及CPU、内存、带宽和磁盘。个人开发者或中小企业推荐使用轻量应用服务器或ECS经济型实例,如2核2G3M配置,适合网站和轻量应用。企业用户则应选择企业级独享型ECS,如计算型c7、通用型g7,至少2核4G起,带宽建议5M,系统盘考虑SSD云盘或ESSD云盘以保证性能。阿里云提供了多种实例类型和配置,用户需根据实际需求进行选择。
|
13天前
|
分布式计算 DataWorks 调度
DataWorks操作报错合集之DataWorks配置参数在开发环境进行调度,参数解析不出来,收到了 "Table does not exist" 的错误,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
25 0
|
14天前
|
分布式计算 大数据 数据处理
MaxCompute操作报错合集之在开发环境中配置MaxCompute参数进行调度,但参数解析不出来,如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
16天前
|
监控 安全 网络协议
|
19天前
|
分布式计算 网络协议 Hadoop
Hadoop节点扩展配置DNS和主机名解析
【4月更文挑战第19天】
22 1

相关产品

  • 云解析DNS
  • 推荐镜像

    更多