RedHat6.3配置DNS服务器

news/2024/7/7 15:28:54 标签: 运维, python, 操作系统

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

RedHat6.3配置DNS服务器 

 作者:沈小然

北京证联支付有限责任公司

 

1         系统环境

OSRed Hat Enterprise Linux Server release 6.3 (Santiago)

DNS 服务器:172.21.20.1/255.255.0.0

2         安装DNS

# yum -y install bind

anchor.gif3         配置DNS

anchor.gif3.1           开始配置DNS主配置文件 named.conf

编辑 /etc/named.conf 配置文件,添加一个域

options {

    listen-on port 53 { 172.21.20.1; };

    listen-on-v6 port 53 { ::1; };

    directory   "/var/named";

    dump-file   "/var/named/data/cache_dump.db";

        statistics-file "/var/named/data/named_stats.txt";

        memstatistics-file "/var/named/data/named_mem_stats.txt";

    allow-query     { localhost; };

    recursion yes;

 

    dnssec-enable yes;

    dnssec-validation yes;

    dnssec-lookaside auto;

 

    /* Path to ISC DLV key */

    bindkeys-file "/etc/named.iscdlv.key";

 

    managed-keys-directory "/var/named/dynamic";

};

 

logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

};

 

zone "." IN {

    type hint;

    file "named.ca";

};

 

zone "aaa.com" IN {

    type master;anchor.gifanchor.gif   #master表示主域名服务器

    file "aaa.com.zone";   #解析aaa.com域记录的文件名

    allow-update { none; };

};

 

zone "20.21.172.in-addr.arpa" {

    type master;

    file "20.21.172.ptr";

    allow-update { none; };

};

 

include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";

anchor.gif3.2           配置域的正向解析文件

根据上面DNS主配置文件的配置,正向解析文件位置在 /var/named目录下

利用bind提供的模版文件我们创建aaa.com.zone,提供了两个模版文件

正向解析模版named.localhost

反向解析模版named.loopback

# cp named.localhost aaa.com.zone

编辑/var/named/aaa.com.zone文件

$TTL 1D

@   IN SOA  dns.aaa.com.    root.aaa.com. (

                    0   ; serial

                    1D  ; refresh

                    1H  ; retry

                    1W  ; expire

                    3H )    ; minimum

@   IN  NS  dns.aaa.com.

dns IN  A   172.21.20.1

www IN  A   172.21.20.1

test IN A   172.21.20.1

注意:这里用的都是全域名,后面都有一个 . 符号。

anchor.gif3.3           配置域的反向解析文件

# cp named.loopback anchor.gifanchor.gif20.21.172.ptr

编辑 /var/named/20.21.172.ptr文件

$TTL 1D

@       IN SOA  dns.aaa.com.    root.aaa.com. (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

@       IN      NS      dns.aaa.com.

1       IN      PTR     dns.aaa.com.

1       IN      PTR     www.aaa.com.

 

anchor.gif3.4           确保/var/named目录下所有dns记录文件属组为named

# ll

total 36

-rw-r----- 1 root  named  176 Aug 14 12:01 20.21.172.ptr

-rw-r----- 1 root  named  218 Aug 14 10:57 aaa.com.zone

说明:只要保证属组是named就可以了,属主是rootnamed不影响。

重启DNS服务

# /etc/init.d/named restart

Stopping named: .[  OK  ]

Starting named: [  OK  ]

设置开机自动启动

# chkconfig named on

anchor.gif4         测试

# vi /etc/resolv.conf

nameserver 172.21.20.1

# ping www.aaa.com

PING www.aaa.com (172.21.20.1) 56(84) bytes of data.

64 bytes from localhost (172.21.20.1): icmp_seq=1 ttl=64 time=0.016 ms

64 bytes from localhost (172.21.20.1): icmp_seq=2 ttl=64 time=0.021 ms

结果返回172.21.20.1地址说明我们本地的DNS服务可以正常解析了。

# ping www.baidu.com

PING www.a.shifen.com (119.75.217.56) 56(84) bytes of data.

64 bytes from 119.75.217.56: icmp_seq=1 ttl=51 time=4.61 ms

64 bytes from 119.75.217.56: icmp_seq=2 ttl=51 time=4.04 ms

也可以代解析互联网其他服务器

anchor.gif4.1           测试正向解析

# nslookup

> www.aaa.com

Server:         172.21.20.1

Address:        172.21.20.1#53

 

Name:   www.aaa.com

Address: 172.21.20.1

anchor.gif4.2           测试反向解析

# nslookup

> 172.21.20.1

Server:         172.21.20.1

Address:        172.21.20.1#53

 

1.20.21.172.in-addr.arpa        name = dns.aaa.com.

anchor.gif5         案例1:公司内网DNS服务器添加解析互联网域名的记录

需求:

公司内部服务器需要一台内网的DNS服务器,用来帮助解析互联网的域名。

原理:

互联网的域名管理都是由各自的NS记录指向的DNS服务器管理的。我们不能直接在内网DNS服务器上添加A记录,我们必须添加这些域名的NS记录,这样每当内网客户机通过内网的DNS查询时,内网DNS首先去找管理这些域名的DNS询问对应的IP地址,然后在返回给客户机。

anchor.gif5.1           DNS正向解析常见记录样例

[domain]    IN  [RR type]        [RR data]

主机名称.   IN  A           IPv4 IP 位址

主机名称.   IN  AAAA       IPv6 IP 位址

领域名称.   IN  NS       管理这个域名的DNS服务器主机名字. (例如cns2.icbc.com.cn.

领域名称.   IN  SOA      管理這個领域名称的起始授权的DNS名字.

领域名称.   IN  MX  优先级  邮件服务器的主机名字.

主机别名.   IN  CNAME   实际代表这个主机别名的主机名字.

anchor.gif5.2           如何获得互联网域名由哪台DNS服务器提供解析

举例说明,我们想知道中国银行域名 www.boc.cn 由哪个DNS服务提供,我们需要查询这个域名所在的NS记录。查询的时候,我们得输入全域名即 www.boc.cn才行。使用下面的命令查询

# dig -t ns www.boc.cn

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> -t ns www.boc.cn

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4595

;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:

;www.boc.cn.                    IN      NS

;; AUTHORITY SECTION:

boc.cn.                 3551    IN      SOA     ns3.boc.cn. hostmaster.ns3.boc.cn. 2013081996 10800 3600 604800 86400

;; Query time: 0 msec

;; SERVER: 172.21.20.1#53(172.21.20.1)

;; WHEN: Thu Aug 14 16:40:33 2014

;; MSG SIZE  rcvd: 79

说明:我们查到www.boc.cn域名的SOA记录是 ns3.boc.cn,这个就是提供www.boc.cn解析的主DNS服务器的名字。

anchor.gif5.3           配置内网DNS

1.       编辑/etc/named.conf,添加一个ns.com

 

zone "ns.com" IN {

    type master;

    file "ns.com.zone";

    allow-update { none; };

};

 

2.       编辑 /var/named/ns.com.zone文件,添加不同域名的NS记录

$TTL 1D

@   IN SOA  dns.ns.com. root.ns.com. (

                    0   ; serial

                    1D  ; refresh

                    1H  ; retry

                    1W  ; expire

                    3H )    ; minimum

@   IN  NS  dns.ns.com.

dns IN  A   172.21.20.1

www.95599.cn    IN  NS  ns1.shdc.95599.cn.

corporbank.icbc.com.cn  IN  NS  cns2.icbc.com.cn.

ebspay.boc.cn   IN  NS  ns3.boc.cn.

www.cebbank.com IN  NS  dns3.cebbank.com.

unionpaysecure.com  IN  NS  ns1.dnsv5.com.

bjportal.zqpay.com  IN  NS  dns17.hichina.com.

www.boc.cn  IN  NS  ns3.boc.cn.

配置好后,不需要重启named服务即可生效。

anchor.gif5.4           测试

# vi /etc/resolv.conf

nameserver 172.21.20.1

# ping www.95599.cn

PING www.shdc.95599.cn (124.74.251.240) 56(84) bytes of data.

64 bytes from 124.74.251.240: icmp_seq=1 ttl=239 time=25.2 ms

64 bytes from 124.74.251.240: icmp_seq=2 ttl=239 time=25.5 ms

表示可以成功解析。

anchor.gif6         FAQ

6.1 反向解析时,提示“server can't find xxxx: SERVFAIL”错误,如何处理?

现象如下所示:

# nslookup

> 172.21.20.1

Server:         172.21.20.1

Address:        172.21.20.1#53

 

** server can't find 1.20.21.172.in-addr.arpa: SERVFAIL

分析:首先我们查看named.conf文件是否配置正确。然后检查 /var/named/目录下是否存在反向解析文件。最后检查/var/named目录下的解析文件的属组是否是named,如果不是namedDNS服务是没有权限读取这个文件的,也会提示can’t find 的错误。

解决:果然是因为该文件的属组不是named导致的问题。

6.2 客户机使用DNS无法解析

客户机配置了/etc/resolv.conf文件,但是却无法提供解析

# cat /etc/resolv.conf

nameserver 172.21.20.1

现象:解析测试失败,内容如下

# nslookup

> www.sina.com

Server:         172.21.20.1

Address:        172.21.20.1#53

** server can't find www.sina.com: REFUSED

分析:查看DNSmessages日志,显示如下:

Aug 18 11:29:31 Monitor named[9161]: client 172.21.20.2#36810: query (cache) 'quit/A/IN' denied

估计是DNS配置了某种解析限制,查看/etc/named.conf文件,修改下面的部分

options {

    listen-on port 53 { 172.21.20.1; };

    listen-on-v6 port 53 { ::1; };

    directory   "/var/named";

    dump-file   "/var/named/data/cache_dump.db";

        statistics-file "/var/named/data/named_stats.txt";

        memstatistics-file "/var/named/data/named_mem_stats.txt";

    allow-query     { localhost; }; 改成 allow-query     { any; };

    recursion yes;

 

    dnssec-enable yes;

    dnssec-validation yes;

    dnssec-lookaside auto;

 

    /* Path to ISC DLV key */

    bindkeys-file "/etc/named.iscdlv.key";

 

    managed-keys-directory "/var/named/dynamic";

};

重启BIND服务

# /etc/init.d/named restart

Stopping named: .[  OK  ]

Starting named: [  OK  ]

再次测试客户机的解析,一切正常了。

# nslookup

> www.sina.com

Server:         172.21.20.1

Address:        172.21.20.1#53

Non-authoritative answer:

www.sina.com    canonical name = us.sina.com.cn.

us.sina.com.cn  canonical name = wwwus.sina.com.

Name:   wwwus.sina.com

Address: 12.130.132.30

6.3 系统日志/var/log/messages中出现“named[10138]: error (network unreachable) resolving 'tinnie.arin.net/A/IN'”错误,如何处理?

编辑/etc/sysconfig/named

#OPTIONS="whatever",注释掉whatever

OPTIONS="-4"

保存,重启named服务


转载于:https://my.oschina.net/lionel45/blog/304017


http://www.niftyadmin.cn/n/1416132.html

相关文章

mysql左右连接举例_mysql左连接内连接闲谈

最近忙着开发x省冷链追溯系统&#xff0c;天天干到晚上十一点多才回到家&#xff0c;周末也加班&#xff0c;没啥时间写博客&#xff0c;闲下来再好好写写业务&#xff1a; sql语句统计出入库数据。问题&#xff1a; 只统计了X端入库单。原因&#xff1a; 没有发现X端的数据库中…

【XSY2988】取石子 博弈论

题目描述 有 \(n\) 堆石子&#xff0c;每堆石子的个数是 \(c_i\)。 Alice 和 Bob 轮流取石子&#xff08;先后手未定&#xff09;&#xff0c;Alice 每次从一堆中取 \(a\) 个&#xff0c;Bob每次从一堆中取 \(b\) 个。无法操作者输。 你要选定若干堆石子&#xff08;共 \(2^n\)…

python守护进程 限制调用频率_Python守护进程定期调用子进程

我正在基于Sander Marechals代码构建一个简单的pyhon守护程序。守护进程的全部目的是每秒运行一个php文件(php文件通过数据库循环检查值和更新数据库)。该部分出现问题subprocess.call([php,test.php])我可以运行“php测试.php“在shell上&#xff0c;它执行它应该做的事情&…

delphi 精要-读书笔记(内存分配释放)

1.内存分为三个区域&#xff1a;全局变量区&#xff0c;栈区&#xff0c;堆区 全局变量区&#xff1a;专门存放全局变量 栈区&#xff1a;分配在栈上的变量可被栈管理器自动释放 堆区&#xff1a;堆上的变量内存必须人工去释放 2.指针类变量 指针类的变量在声明为全局变量…

卷积神经网络--猫狗系列【VGG16】

数据集&#xff1a;【文末】 ​ 数据集预处理 定义读取数据辅助类&#xff08;继承torch.utils.data.Dataset&#xff09; import osimport PILimport torchimport torchvisionimport matplotlib.pyplot as pltimport torch.utils.dataimport PIL.Image # 数据集路径train_p…

Ball Coloring

6552: Ball Coloring 时间限制: 1 Sec 内存限制: 128 MB提交: 13 解决: 7[提交][状态][讨论版][命题人:admin]题目描述 There are N bags, each containing two white balls. The i-th box contains two balls with integers xi and yi written on them, respectively.For ea…

java链入到mysql_java链接到mysql

当然&#xff0c;首先要安装有JDK(一般是JDK1.5.X)。然后安装MySQL&#xff0c;这些都比较简单&#xff0c;具体过程就不说了。配置好这两个环境后&#xff0c;下载JDBC驱动mysql-connector-java-5.0.5.zip(这个是最新版的)。然后将其解压缩到任一目录。我是解压到D盘&#xff…

从网上得知的一些delphi经典书籍

delphi 精要-比较适合初学者(第一次觉得买对了的书) delphi开发人员指南(一套系统的教程,老外的书,可惜很难买到&#xff0c;只有电子版) delphi深度历险(看了叫人容易产生兴趣,讲的与众不同,可惜很难买到&#xff0c;只有电子版) delphi深度探索(适合delphi高手,有很多一般…