如何给linux添加dns服务器记录

2021-05-17 11:43发布

3条回答
flame
2楼 · 2021-05-17 16:04

在Linux上建立DNS服务器一、假定  本文假定你已对域名服务器DNS有基本的了解,如果不是,请参看相关的文档。许多DNS的文章都是从DNS原理开始介绍,本人则从使用的角度出发,为Linux的管理员提供一些简单实用的应用实例。   下面假定我们需要建立一台企业网的DNS主服务器,应用条件如下: 1.一个C类网段地址 (本例中假定是1 92.22.33); 2.企业域名为 my.com,并已注册(主域名服务器地址 192.22.33.20,主机名为ns1.my.com);   3.企业网通过路由器与Internet连接 。   DNS服务器的主体是域名服务器进程named,named 启动后向DNS客户机提供域名解析服务,把域名转换成IP地址。   named 启动时需要读取几个数据文件,在bind 4下缺省情况下是先/etc/named.boot,所以/etc/named.boot是named的基本配置文件。在bind 8下,缺省情况下先是/etc/nam ed.conf。(有关bind 4和bind 8的知识请参看相关文档,在这你只要知道,red hat 5.1中自带的是bind 4,而red hat 5.2自带的是bind 8)。虽然启动named可直接执行named,在Linux上我们可以使用一个控制named的工具ndc。ndc可以用于启动、中止、重启动、刷新DNS数据、输出DNS数据等多种调试功能,我在这里推荐大家用这个工具来帮助DNS服务器的调试。   有关ndc的详细用法,请参看Linux有关文档。   二、建立named配置文件 /etc/named.boot、etc/named.conf1. /etc /named.boot是基本的配置文件,但不包含任何DNS数据,针对我们前面的假定,先建立以下/etc/nam ed.boot,其内容如下:   ; boot file for name serverdirectory /var/namedprim ary my.com    db.myprimary 0.0.127.IN-ADDR.ARP A db.127.0.0primary 33.22.192.IN-ADDR.ARPA db.192.22.33 cache . db.cache   其中以“;”开头的行是注释行,其他各行含义如下: (1)diretory /var/named :指定 named从 /var/named 目录下读取DNS数据文件,这个目录用户可自行指定并创建,指定后所有的DNS 数据文件都存放在此目录下;(2)primary my.com db.my :指定named作为 my.com域的主域名服务器,db.my文件中包含所有 *.my.com形式的域名转换数据;(3)primary 0.0.1 27.IN-ADDR.ARPA db.127.0.0 :指定named作为127.0.0网段地址转换主服务器, db.127.0.0文件中包含了127.0.0.*形式的地址到域名的转换数据(127.0.0网段地址是局域网接口的内部 loopback地址);(4)primary 33.22.192.IN-ADDR.ARPA db.1 92.22.33 :指定named作为192.22.33网段地址转换主服务器,db.192.22.33文件中包含了所有 192.22.33.*形式的地址到域名的转换数据;(5)cache . db.cache :指定na med从 db.cache 文件中获得Internet的顶层“根”服务器地址 。注意:(3)、(4)两行中的网段地址是倒写的,另外,各个文件名也是可以自行决定的。 2. /etc/named.conf是基本的配置文件,不包含任何DNS数据,针对我们前面的假定,建立以下 /etc/named.conf,其内容如下: // gene rated by named-bootconf.ploptions {   directory “/var/n amed”;   // query-source address * port 53;};// a cachi ng only nameserver configzone “.” {   type hint;   file “named.ca”;};zone “0.0.127.in-addr.arpa” {   type maste r;   file “db.127.0.0”;};zone “33.22.192.in-addr.arpa” {   type master;   file “db.192.22.33”;};zone “my.com” {   type master;   file “db.my”;};其中以“//”开头的行是注释行,其他各行含义参照named.boot,其实也不难理解。   三、建立各个DNS数据文件现在,要按 /etc/named.boot中的定义,建立各个DNS数据文件。   1. 建立正向域名转换数据文件db.my   根据/etc/named.boot的定义,我们在/var /named目录下建立db.my,其中应该包括所有在my.com域内的主机节点。但在机器数量较多时,为了调试方便,建议一开始只把几台节点的数据放入文件,待named正常工作后再把其他节点的数据补充进去。下面是db.my的例子:@ IN SOA linux.my.com. root.linux.my.com. (199511301 ; serial, todays date + todays serial #28800 ; refresh, seconds7200 ; retry, seconds3600000 ; expire, seconds86 400 ) ; minimum, secondsNS linux.my.com.MX 10 support.m y.com.localhost    A 127.0.0.1linux    A   192.22.33 .20support2    A   192.22.33.102hp712    A   192. 22.33.160support    A   192.22.33.100mail    MX 1 0   support.my.com.    MX 20    support2.my.com. www    CNAME   hp712.my.com.ftp    CNAME   hp712. my.com.ns    CNAME    linux.my.com.   其中第一行是SOA记录,定义了域名数据的基本信息,依次是DNS服务器名、DNS 管理员邮件地址,括号内的第一个数字是文件版本号,每次本文件内容修改后,必须更改此号。其余数字与DNS服务器直接的数据交换有关,在这里我们不需要改动。   括号后面有一条NS记录和一条MX记录,定义了域名服务器本身的域名和username@my.com形式邮件地址所对应的邮件服务器名字。   在此以下是各种域名/地址转换数据,其中A记录是DNS域名到IP地址的记录,是必须有的,以hp712 .my.com为例,在A记录中域my.com被省略,只写成hp712,named在处理时会根据named.bo ot中的定义自动加上my.com,而其对应IP地址为192.22.33.160。另一种记录是MX记录。MX是邮件地址转换记录,本例中定义了将username@mail.my.com的邮件地址转换成[email=username@sup]username@sup[/email] port.my.com或username@support2.my.com,即实际上真正的邮件服务器是suppo rt.my.com和support2.my.com,其中support.my.com的优先数为10,suppo rt2.my.com的优先数为20,所以通常邮件首先被发往优先数小的主机support.my.com。还有一些是为方便提供的CNAME记录。CNAME定义了一些主机的别名,如我们将hp712.my.com作为公司的www 和ftp服务器,所以我们提供了www.my.com和ftp.my.com作为hp712.my.com的别名,用户只需要根据习惯就可以访问公司的www、ftp服务器了,如果将来我们换用别的主机作www和ftp服务器,只需要修改CNAME记录就可,对用户没有影响。   注意:MX和CNAME记录最后的带域名的主机名后必须带一个“.”。   2. 建立反向DNS数据文件db.127.0.0和db.192.22.33  反向DNS数据文件用来提供根据IP地址查询相应DNS主机名,每个网段分别有一个数据文件。   对于内部网段127.0.0通常只有一个地址,即127.0.0.1 loopback地址,db.127. 0.0内容如下:@ IN SOA linux.my.com root.linux.my.com. (19970 22700 ; Serial28800 ; Refresh14400 ; Retry3600000 ; Exp ire86400 ) ; MinimumIN NS linux.my.com.1 IN PTR localho st.而外部网段的数据文件 db.192.22.33 中包含所有主机 IP 地址到DNS主机名的转换数据。db .192.22.33 内容如下: @ IN SOA linux.my.com. root.pc590.my.c om. (199609206 ; Serial28800 ; Refresh7200 ; Retry60480 0 ; Expire86400) ; Minimum TTLNS linux.my.com.;; All ho sts;20 PTR linux.my.com.102 PTR support2.my.com.100 PTR support.my.com.160 PTR hp712.my.com.反向DNS数据文件中的主要部分是PTR 记录,PTR记录中的IP地址都只有主机号,named会根据named.boot的定义自动加上前面的网络号,注意后面的主机名要附加一个“.”   3. 获得db.cache文件   在Linux系统上通常在/var/named下已经提供了一个nam ed.ca,该文件中包含了Internet的顶层域名服务器,但这个文件通常会发生变化,所以建议最好从Inter nic下载最新的版本。该文件可通过匿名ftp从ftp.rs.internic.net下载,在domain目录下,文件名为 named.root。注意该文件下载后要拷贝到named的工作目录并重命名成named.boot中指定的文件名,本文中为db.cache。五、启动和测试 named首先,根据先前推荐的方法,用ndc启动nam ed: ndc start 然后,为了使用和测试named,要把Linux设置在使用DNS状态。方法是在/et c目录下,创建resolv.conf文件。以我们的例子,/etc/resolv.conf 内容为: searc h my.comnameserver 192.22.33.20然后,我们就可以测试named了。Linux和其他Unix系统均提供了nslookup工具,在命令行状态下输入: nslookup   就进入交换式nslookup环境,如果named正常启动,nslookup会显示当前DNS服务器的地址和域名,否则表示named没能正常启动。下面简单介绍一些基本的DNS诊断:   (1)检查正向DNS解析 在nslookup提示符下输入带域名的主机名,如hp712.my.com,n slookup应能显示该主机名对应的IP地址,如果只输入hp712,nslookup会根据/etc/resol v.conf的定义,自动添加my.com域名并回答对应的IP地址。   (2)检查反向DNS解析 在nslookup提示符下输入某个IP地址,如192.22.33.20,ns lookup应能回答该IP地址所对应的主机名。(3)检查MX邮件地址记录 在nslookup提示符下输入:se t q=mx 然后输入某个域名,以本文的例子,输入my.com或mail.my.com,nslookup应能够回答对应的邮件服务器地址,即support.my.com和support2.my.com。(4)检查 CNAM E 别名记录在nslookup提示符下输入:set q=cname 然后输入某个别名,如www.my.com, nslookup应能回答对应的真实主机名,即hp712.my.com。如要退出nslookup,可输入exit 。

pipi雪
3楼 · 2021-05-17 22:07

1、安装后named -v查看版本号,方便查找相应教程

2、编辑/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.

//

// See the BIND Administrator's Reference Manual (ARM) for details about the

// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html


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; };


    /* 

     - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.

     - If you are building a RECURSIVE (caching) DNS server, you need to enable 

       recursion. 

     - If your recursive DNS server has a public IP address, you MUST enable access 

       control to limit queries to your legitimate users. Failing to do so will

       cause your server to become part of large scale DNS amplification 

       attacks. Implementing BCP38 within your network would greatly

       reduce such attack surface 

    */

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


    pid-file "/run/named/named.pid";

    session-keyfile "/run/named/session.key";

};


logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

};


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

52

53

54

55

56

57

58

59

60

3、修改/etc/named.rfc1912.zones

增加一个正向和反向解析



// named.rfc1912.zones:

//

// Provided by Red Hat caching-nameserver package 

//

// ISC BIND named zone configuration for zones recommended by

// RFC 1912 section 4.1 : localhost TLDs and address zones

// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt

// (c)2007 R W Franks

// 

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

//


zone "localhost.localdomain" IN {

    type master;

    file "named.localhost";

    allow-update { none; };

};


zone "localhost" IN {

    type master;

    file "named.localhost";

    allow-update { none; };

};


zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {

    type master;

    file "named.loopback";

    allow-update { none; };

};


zone "1.0.0.127.in-addr.arpa" IN {

    type master;

    file "named.loopback";

    allow-update { none; };

};


zone "0.in-addr.arpa" IN {

    type master;

    file "named.empty";

    allow-update { none; };

};


zone "carlpc.comcn" IN {

    type master;

    file "named.carlpc.comcn";

    allow-update { none; };

};


zone "197.168.192.in-addr.arpa" IN {

    type master;

    file "named.197.168.192.zone";

    allow-update { none; };

};




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

52

53

54

55

56

57

4、在/var/named下增加两个配置文件named.carlpc.comcn和named.197.168.192.zone

分别为


$TTL 1D

@   IN SOA  @ rname.invalid. (

                    0   ; serial

                    1D  ; refresh

                    1H  ; retry

                    1W  ; expire

                    3H )    ; minimum

    IN  NS  live.carlpc.comcn.

live.carlpc.comcn.  IN  A   10.8.227.122

1

2

3

4

5

6

7

8

9

10

$TTL 1D

@   IN SOA  @ rname.invalid. (

                    0   ; serial

                    1D  ; refresh

                    1H  ; retry

                    1W  ; expire

                    3H )    ; minimum

197.168.192.in-addr.arpa.   IN  NS  www.test.comcn

128 IN  PTR www.test.comcn

129 IN  PTR mail.test.comcn

130 IN  PTR lib.test.comcn

1

2

3

4

5

6

7

8

9

10

11

12




小小邓
4楼 · 2021-05-18 16:20

方法1:查看网卡配置文件一般来说dns配置都会加在网卡的配置文件里面,可以直接查看 /etc/sysconfig 网卡文件下 查看dns设置

方法2:查看dns配置文件当然最简单的方法就是查看dns配置文件,resolv.conf文件里面的 nameserver地址

方法3:解析测试如果您不记得那些文件的目录,可以使用nslookup命令查看。先安装nslookup(如果有跳过)


相关问题推荐

  • 回答 77

    云计算话题太大了,建议学具体点的可落地的,找个培训班摸两月项目比自学找各种杂资料性价比更高

  • 回答 4

    交换机不分进线和出线,找个接口插上即可。交换机每一端口都可视为独回立的物理网段(注:答非IP网段),连接在其上的网络设备独自享有全部的带宽,无须同其他设备竞争使用。当节点A向节点D发送数据时,节点B可同时向节点C发送数据,而且这两个传输都享有网络...

  • 回答 16

    查看topic分布情况kafka-list-topic.sh:bin/kafka-list-topic.sh-zookeeper 192.168.197.170:2181,192.168.197.171:2181 (列出所有topic的分区情况)bin/kafka-list-topic.sh-zookeeper 192.168.197.170:2181,192.168.197.171:2181-t...

  • 编码的特点是什么2021-02-04 10:06
    回答 6
    已采纳

    1.鉴别 编码是鉴别信息分类对象的唯一标识。2.分类 当分类对象按一定属性分类时,对每一类别设计一个编码,这时编码可以作为区分对象类别的标识。这种标识要求结构清晰,毫不含糊。3.排序 由于编码所有的符号都具有一定的顺序,因而可以方便地按此顺序进行排...

  • 回答 6
    已采纳

    静态资源和动态资源的概念:静态资源:我的理解是前端的固定页面,这里面包含HTML、CSS、JS、图片等等,不需要查数据库也不需要程序处理,直接就能够显示的页面。具体形式为:客户端发送请求到web服务器,web服务器拿到对应的文件,返回给客户端,客户端解析...

  • 回答 39

    编程和UI,一个程序向,每天更多的面对满屏幕的代码,对逻辑思维和数学有基本要求。UI设计则是美术向,网站UI、app应用UI和游戏UI要求又不一样(游戏要求更高)。一个好的UI设计师需要具备平面设计,交互设计,手绘等等。...

  • 回答 4
    已采纳

    查看进程--方法:ps -aux | grep 'zookeeper'系统有百返回,说明zookeeper启动。linux上进程有5种状态:运行(正在运行或在运行队列中等待);中断度(休眠中, 受阻, 在等待某个条件的形成或接受到信号);不可中断(收到信号不唤醒和不可运行, 进程必须等...

  • 编码的作用和意义2021-02-04 10:07
    回答 7
    已采纳

    数字编码的作用和意义如下:1、归档整理方便,特别在电子管理系统中。2、数字编码更容易进行管理,无论谁进行的编码都是一样,管理方便,人员无论怎么换,程序和事务不会乱。3、从数字上能得到详细的对应信息,譬如年月日甚至时分秒、单位、部门、建档人等等...

  • 回答 0

  • net.core.netdev_max_backl2021-12-13 14:01
    回答 3

    TCP SYN_REVD, ESTABELLISHED 状态对应的队列TCP 建立连接时要经过 3 次握手,在客户端向服务器发起连接时,对于服务器而言,一个完整的连接建立过程,服务器会经历 2 种 TCP 状态:SYN_REVD, ESTABELLISHED对应也会维护两个队列:一个存放 SYN ...

  • 回答 3

    对于一个TCP连接,Server与Client需要通过三次握手来建立网络连接.当三次握手成功后,我们可以看到端口的状态由LISTEN转变为ESTABLISHED,接着这条链路上就可以开始传送数据了.每一个处于监听(Listen)状态的端口,都有自己的监听队列.监听队列的长度,与如下两方...

  • net.ipv4.tcp_abort_on_ove2021-12-09 14:50
    回答 5
    已采纳

    设置该参数为 1 时,当系统在短时间内收到了大量的请求,而相关的应用程序未能处理时,就会发送 Reset 包直接终止这些链接。建议通过优化应用程序的效率来提高处理能力,而不是简单地 Reset。默认值: 0。...

  • 回答 7

    *tcpsyncookies是一个开关,是否打开SYN Cookie功能,该功能可以防止部分SYN×××。tcpsynackretries和tcpsynretries定义SYN的重试次数。YN Cookie是对TCP服务器端的三次握手做一些修改,专门用来防范SYN Flood×××的一种手段。它的原理是,在TCP服务器接...

  • net.ipv4.tcp_max_syn_back2021-12-07 14:32
    回答 7
    已采纳

    该参数决定了系统中处于 SYN_RECV 状态的 TCP 连接数量。SYN_RECV 状态指的是当系统收到 SYN 后,作了 SYN+ACK 响应后等待对方回复三次握手阶段中的最后一个 ACK 的阶段。

  • 回答 6

    先重头检查一下是不是配置出现问题,不行的话重装软件试试

  • 回答 10

    首先是我们将鼠标移动到如下图所示的计算机的图标上,点击右键,选择管理。然后我们点击如下图界面中的服务和应用程序。接下来可以看到它下面有一个我们的目标——服务。服务的话它是按字母排列的,我们往下拉,找到Mysql服务。此时可以看到它是一个手动启动...

没有解决我的问题,去提问