DNS常见配置

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

添加A记录

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

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

          2001      ; serial  # 将原来2000的serial值改为2001,使进行slave同步
$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文件也会更新。

验证结果:

[[email protected] ~]# 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记录一样,在文件末尾追加一行记录:

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

将serial +1

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

验证结果:

[[email protected] ~]# 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文件末尾加入一行结果:

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

执行rndc reload, 测试结果:

[[email protected] ~]# 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:

[[email protected] 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 文件中指定解析的内容:

[[email protected] 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文件的属性:

chown named.named 168.192.zone 
rndc reload

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

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

    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同步的文件了。

[[email protected] ~]# 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.

测试解析结果:

[[email protected] ~]# 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 即可。

t  A   192.168.1.111
[[email protected] 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 文件:

vim /etc/named.conf
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 文件清空:

[[email protected] 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文件:

[[email protected] ~]# 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
[[email protected] ~]# 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:

 chown  named.named group*
 systemctl restart named

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

[[email protected] ~]# 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发起解析请求:

[[email protected] ~]# 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文件的同步配置,可以按照原来的方式,将同步参数加入。针对每个定义的域进行同步设置。

时间: 2024-10-23 13:26:14

DNS常见配置的相关文章

(4.19)SQL server 2008一些常见配置之一(基本配置,权限配置、远程访问配置和内存配置。)

本系列转自一至4转自:甲子黎叔个人公众号,文章系列 SQL server 2008一些常见配置之一(基本配置) SQL server服务器配置主要有:权限配置.远程访问配置(网络配置).内存配置.接口配置.SSRS报表服务器配置等,今天一起学习最基本的配置:权限配置.远程访问配置和内存配置. 实操环境: 操作系统:windows2008 SQL server服务器:Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)   Apr  2 2

DNS服务配置及拓展(1)

DNS服务配置及拓展 一.DNS服务的信息说明: A##正向记录 PTR##反向,ip到域名 host -l example.com##查看域中的所有主机 dig -t soa example.com##辅助dns 软件包: bind DNS主配置目录:/var/named/chroot/ DNS主配置文件:/etc/named.conf DNS A记录存放目录:/var/named/chroot/var/named 二.如何配置dns正向解析: 1.vim /etc/named.conf#编辑

DNS之配置子域DNS服务器

写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正.如有不明白的地方,愿可一起探讨. 假设某个网段很大,你只想负责上层的DNS管理,下层的DNS希望直接交给各单位的负责人去管理,要怎么设置呢?子域授权DNS服务器可以解决这样的问题. 那么如何开放子域授权呢?以在"DNS之配置Master DNS服务器"博文中建立的Master DNS服务器为基础,假设有人想向你申请domain name,他要的domain是"ll.muluhe.com",那该如何处

三.主从DNS 与DNS相关配置

####三.主从DNS DNS加密####1.主从DNS的配置1)配置好两台DNS服务器2)其中从DNS服务器配置如下:vim /etc/named.rfc1912.zones--------------------------------------- 25 zone "westos.com" IN { 26         type slave; 27         masters { 172.25.254.100; }; 28         file "slaves

DNS相关配置

一,主从配置 1. DNS.正向配置 1.主配置文件: /etc/named.conf 可包含其他文件 主配置文件配置之后便有缓存功能 配置主配置文件: 主配置文件: /etc/named.conf 可包含其他文件 options { listen-on port 53 { 10.1.45.70; };#监听本机端口 listen-on-v6 port 53 { ::1; }; directory       "/var/named"; dump-file       "/v

Hadoop常见配置

core-site.xml:   fs.default.name:hdfs://hadoop:9000 fs.tmp.dir:/usr/local/hadoop/tmp   hdfs-site.xml:   dfs.name.dir: dfs.name.edits.dir:eidts  dfs.replicationHadoop常见配置,布布扣,bubuko.com

Redis系列四 Redis常见配置

redis.conf常见配置 参数说明redis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程  daemonize no2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定  pidfile /var/run/redis.pid3. 指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为

基于BIND实现的DNS正反解析及主从DNS的配置

测试环境 准备2台虚拟机,一台为主DNS,IP地址为:192.168.103.161.另一台为从DNS,IP地址为:192.168.103.162两台都装好bind,所需包有:bind,bind-utils,bind-libs 主DNS的配置文件 配置主文件/etc/named.conf,如下所示 // // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // se

入门DNS主从配置

DNS:域名解析服务常用DNS的记录类型: A  :称为正向解析,域名解析为IP地址 PTR:称为反向解析,IP解析为域名 MX :邮件交换记录 NS :指定域名服务器 CNAME:别名记录 SOA:start of authority用户表示域内主DNS服务器提供DNS服务的软件:包名为BIND,需要如下几个包:bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64bind-9.8.2-0.17.rc1.el6_4.6.x86_64bind-chroot-9.8.2-0