×

DNS服务器基本配置

hqy hqy 发表于2020-06-03 00:23:21 浏览2323 评论0

抢沙发发表评论

DNS服务器基本配置

转载请标明出处


前期准备:linux系统、bind安装包,网络静态IP的配置(本人服务器IP设置为:192.168.240.139)


第一步:安装bind

Tar -zxfv  bind-9.12.2-P2.tar

1

第二步:修改配置文件

     主机名称可以用:hostname netfinity修改,或者vim /proc/sys/kernel/hostname文件中修改。 (不同:前者是临时的;后者是永久性的)

1

Linux下的dns功能是通过bind软件实现的。bind软件安装后,会产生几个固有文件,分为两类,一类是配置文件在/etc目录下,一类是dns记录文件在/var/named目录下。加上其他相关文件,共同设置dns服务器。下面是所有和dns设置相关文件的列表与说明。


第一类:在/etc下的配置文件

(1) 定义相应的主机名和IP:


vim /etc/hosts

127.0.0.1                localhost

192.168.240.139            netfinity

1

2

3

(2)/etc/host.conf文件,内容为


vim /etc/host.conf

    order hosts,bind

multi on

nospoof on

1

2

3

4

“order hosts bind”指定主机名的解析顺序是先到hosts,后dns服务器。 “multi on”则是允许一个主机名对应多个ip地址。


(3)/etc/resolv.conf文件,内容为:


“nameserver

192.168.240.139”指定了dns服务器的地址。你如果没有设置本机为dns服务器,你又要能够解析域名,就必须指定一个dns服务器的地址。你可以最多写上三个地址,作为前一个失败时的候选dns服务器。


vim /etc/resolv.conf

# Generated by NetworkManager

nameserver 192.168.240.139

1

2

3

在日常使用时需要将网络设置中的DNS改成你的DNS服务器IP,否则会跳回你之前的DNS


(4)/etc/named.conf文件,是dns server配置的核心文件。内容如下:


创建正向解析“named.Linuxidc.com”和反向解析“named.Linuxidc.com.rev”的记录文件,其他可以不用管。


   vim /etc/named.conf

    //

    // named.conf

    //

    // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS

    // server as a caching only nameserver (as a localhost DNS resolver only).

    //

    // See /usr/share/doc/bind*/sample/ for example named configuration files.

    //


options {

        listen-on port 53 { any; };

        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     { 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";

};


logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

};

   //正向解析

    zone "linuxidc.com" IN { # 指定区域名

            type master; # 指定工作模式 为主dns服务器

            file "named.linuxidc.com"; # 指定配置文件

    

    };

//反向解析

    zone "240.168.192.in-addr.arpa" IN { # 指定区域名

             type master; # 指定工作模式 为主dns服务器

            file "named.linuxidc.com.rev";

   };

    zone "." IN {

            type hint;

            file "named.ca";

    };

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

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

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

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

第二类:在资源记录文件,位于/var/named目录下。这个目录是named.conf中定义的。

(1) named.linuxidc.com文件内容如下:


$TTL 1D

@       IN SOA  @          netfinity.root.netfinity (

                                20181019        ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

@ IN    NS      netfinity.linuxidc.com.




netfinity IN  A 192.168.240.139


mail IN  CNAME linuxidc.com.

www IN  CNAME linuxidc.con.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

在这个记录文件中,出现了5种类型的记录。SOA 是授权起始(Start Of Authority)的缩写,后面接着写你的dns服务器的主机名,这里是“netfinity.Linuxidc.com.”。(注意,主机名称后面的小圆点。凡是出现在记录文件了的主机名,记得都要加上这各小圆点 )NS 是名称服务器资源记录,指明域中的名称服务器,这里就是dns服务器。MX是邮件交换者资源记录,指明这个域的邮件服务器。你可以写多个MX记录,指明多个邮件服务器,优先级别由MX后的数字决定,数字越小,邮件服务器优先权越高。A是主机记录,把主机和ip地址对应起来。CNAME是别名记录,它赋予一个主机不同的名称,如www.Linuxidc.com、pop3.Linuxidc.com其实都是指向同一台主机:netfinity.Linuxidc.com。


注意:

(1)在网上的很多资料,发现了一个错误,就是第一行中,如果按照网上的写法,会出错。

@ IN SOA @ netfinity. root.netfinity.(


错误信息: dns_rdata_fromtext: com.zone:2: near ‘root.netfinity.’: not a

valid number zone linuxidc.com/IN: loading master file com.zone: not a

valid number


结果把最后一个“.”去了之后,正常运行。

(2)在该文件中的写法是由严格的格式的,不能随便写。否则会出现下面的错误

如果将上面的netfinity对应行变为下面的格式:


@               IN NS           netfinity.linuxidc.com.

netfinity       IN A            192.168.240.139

mail            IN CNAME        netfinity.linuxidc.com.

www             IN CNAME        netfinity.linuxidc.com.

1

2

3

4

错误信息: dns_master_load: com.zone:10: unknown RR type ‘netfinity’


(2) named.linuxidc.com.rev文件内容如下:


$TTL 1D

@       IN SOA  @ netfinity.root.netfinity. (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

 IN     NS       netfinity.

139      IN      PTR     netfinity.linuxidc.com.

        A       127.0.0.1

        AAAA    ::1

1

2

3

4

5

6

7

8

9

10

11

这是“Linuxidc.com”的反向域记录文件,它让dns服务器提供由ip地址查找主机名的服务。PTR记录把ip和主机名对应起来。由于一些程序会要求反向查询,所以反向查询域的记录文件最好不要省略。


注意:

(1) 这个文件中的第一行,可以写成带dot的格式。

(2)netfinity. root.netfinity. 这个中间不能有空格。


错误信息: dns_rdata_fromtext: named.linuxidc.com.rev:2: near

‘root.netfinity.’: not a valid number zone

240.168.192.in-addr.arpa/IN: loading from master file named.linuxidc.com.rev failed: not a valid number zone

240.168.192.in-addr.arpa/IN: not loaded due to errors.

_default/240.168.192.in-addr.arpa/IN: not a valid number


第三步:DNS服务器的服务是named,可以使用:

Service named start|stop|restart来操作。

1

第四步:其他报错:

Apr 13 12:32:34 mail named[18701]: zone 0.168.192.in-addr.arpa/IN: loading maste

r file named.linuxidc.com.rev: file not found


Apr 13 12:32:34 mail named[18701]: zone linuxidc.com/IN: loading master file nam

ed.linuxidc.com: file not found



server can't find 139.240.168.192.in-addr.arpa.: NXDOMAIN

1

2

3

4

5

6

7

8

解决方法: 

(1) 在/var/named下 touch named.linuxidc.com;(或者cplocalhost.zone named.linuxidc.com) ls –l named.linuxidc.com,可以看到它属于root组的root用户而看看其它系统自动产生的,都是属于named组的named用户,所以要修改: chown named.named named.linuxidc.com,这样它就属于named组的named用户了。

(2) 在/var/named/文件夹下,创建named.linuxidc.com的软连接ln –s var/named/named.linuxidc.com named.linuxidc.com 并/var/named/下的named.linuxidc.com属于root组的root用户。


碰到过以下两个问题,原因不明:


dns_master_load: named.linuxidc.com:18: www.linuxidc.com: CNAME and

other data zone linuxidc.com/IN: loading from master file

named.linuxidc.com failed: CNAME and other data zone linuxidc.com/IN:

not loaded due to errors.

_default/linuxidc.com/IN: CNAME and other data zone 240.168.192.in-addr.arpa/IN: not loaded due to errors.

_default/240.168.192.in-addr.arpa/IN: not a valid numbe


dns_rdata_fromtext: 240.168.192:2: near ‘1D’: not a valid number


第五步:测试DNS

使用nslookup命令。


关机之后需重启service named start


[1]: [linux下DNS服务器配置 ] (http://blog.sina.com.cn/s/blog_6cef0cb50100qtoj.html )

[2]: [linux 下DNS配置错误分析 ] (https://blog.csdn.net/lengthbylength/article/details/5262721 )

[3]: [DNS服务器搭建与配置 ] (http://www.cnblogs.com/heiye123/articles/7687922.html )

[4]: [ Linux配置静态ip及resolve.conf文件内容被清除问题 ] (https://blog.csdn.net/u010716730/article/details/78845185 )

————————————————

版权声明:本文为CSDN博主「吃梅干菜变超人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_26726465/article/details/83537291


打赏

本文链接:https://www.kinber.cn/post/1341.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客