DNS常见配置

本文涉及的产品
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

在前面的文章中我们搭建了一个主从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月前
|
Prometheus 监控 关系型数据库
数据库同步革命:MySQL GTID模式下主从配置的全面解析
数据库同步革命:MySQL GTID模式下主从配置的全面解析
150 0
|
28天前
|
存储 缓存 运维
云计算中的服务器选型与配置:技术深度解析
【6月更文挑战第29天】云计算服务器选型与配置深度解析:关注业务需求、技术要求及成本效益。重点包括CPU、内存、存储和网络配置的优化,结合负载均衡、缓存、虚拟化和自动化运维策略,以提升性能和效率,确保云服务的稳定与高效。
|
29天前
|
域名解析 网络协议 Linux
Linux系统下DNS配置指南
Linux系统下DNS配置指南
47 1
|
29天前
|
缓存 监控 Java
深入解析Nacos配置中心的动态配置更新技术
深入解析Nacos配置中心的动态配置更新技术
|
19天前
|
Java Spring
解析Spring Boot中的配置文件与外部化配置
解析Spring Boot中的配置文件与外部化配置
|
2月前
|
域名解析 存储 缓存
【域名解析DNS专栏】动手实践:手动配置DNS解析记录
【5月更文挑战第22天】本文介绍了DNS解析记录的概念及其手动配置步骤。DNS解析记录是将域名映射到IP地址的数据,常见类型包括A(IPv4)、AAAA(IPv6)和CNAME(别名)。配置步骤包括登录DNS管理平台,添加记录,选择记录类型,填写主机记录和记录值,设置TTL值,并保存。以阿里云为例的A记录配置示例也提供了具体操作。了解这些有助于更好地管理域名。
【域名解析DNS专栏】动手实践:手动配置DNS解析记录
|
22天前
|
传感器 编解码 API
【STM32开发入门】温湿度监测系统实战:SPI LCD显示、HAL库应用、GPIO配置、UART中断接收、ADC采集与串口通信全解析
SPI(Serial Peripheral Interface)是一种同步串行通信接口,常用于微控制器与外围设备间的数据传输。SPI LCD是指使用SPI接口与微控制器通信的液晶显示屏。这类LCD通常具有较少的引脚(通常4个:MISO、MOSI、SCK和SS),因此在引脚资源有限的系统中非常有用。通过SPI协议,微控制器可以向LCD发送命令和数据,控制显示内容和模式。
|
29天前
|
存储 缓存 监控
JVM中G1垃圾收集器:原理、过程和参数配置深入解析
JVM中G1垃圾收集器:原理、过程和参数配置深入解析
|
1月前
|
网络架构
路由器路由配置解析
路由器路由配置解析
27 0
|
1月前
|
XML Java 数据格式
SpringMVC的XML配置解析-spring18
SpringMVC的XML配置解析-spring18

相关产品

  • 云解析DNS
  • 推荐镜像

    更多