• linux的DNS相关介绍(转载)


    1、DNS配置文件 
    /etc/hosts   这个是最早的 hostname 对应 IP 的档案;

    /etc/resolv.conf :这个重要!就是 ISP 的 DNS 服务器 IP 记录处;

    /etc/nsswitch.conf:这个档案则是在『决定』先要使用 /etc/hosts 还是 
    /etc/resolv.conf 的设定!

    一般而言, Linux 的预设主机名与 IP 的对应搜寻都以 /etc/hosts 为优先,

     

     

    2、DNS相关命令

    root@ubuntu:~# dig +trace www.baidu.com

    DNS 的正、反解查询指令: host, nslookup, dig

     

    root@ubuntu:~# host www.baidu.com 
    www.baidu.com is an alias for www.a.shifen.com. 

    www.a.shifen.com has address 119.75.218.77 
    www.a.shifen.com has address 119.75.217.56 
    Host www.a.shifen.com not found: 3(NXDOMAIN) 

    root@ubuntu:~# nslookup www.baidu.com 
    Server:        192.168.77.2 

    Address:    192.168.77.2#53

    Non-authoritative answer: 
    www.baidu.com    canonical name = www.a.shifen.com. 
    Name:    www.a.shifen.com 
    Address: 119.75.218.77 
    Name:    www.a.shifen.com 
    Address: 119.75.217.56

     

     

     

     

     

    配置实例

    1. 配置环境: 

    DNS Server的ip:192.168.0.1  Client的ip范围为:192.168.0.2——192.168.0.254

    要求DNS能解析 :
    kxsrv.304.com 192.168.0.1

    www.304.com 192.168.0.1

    bbs.304.com    192.168.0.30

    mail.304.com   192.168.0.20

    网络拓扑如下:

    image

    2.安装软件bind。

    检查是否安装bind.

    #dpkg -l bind*

    安装 BIND9

    #sudo apt-get install bind9

     

    3.DNS 配置文件介绍。

    在/etc/bind 目录中。安装bind9后会生成如下三个配置文件: 
    named.conf;named.conf.options;named.conf.local

    其中 named.conf是主配置文件,里面包含了named.conf.options和named.conf.local,我们在架设本地dns时,只需改动named.conf.local即可。

     

     

    4.配置分析。

    根据上面的主机名称和ip对应可以看出: 
    ①需要添加正向区域“304.com”和反向区域“0.168.192.in-addr.arpa”, 
    ②在“304.com”区域中添加A记录kxsrv对应192.168.0.1, CNAME记录www对应kxsrv 
    ③在“0.168.192.in-addr.arpa”区域中添加各个ip地址对应的主机名

     

    5.编辑named.conf.local。
    先要添加写权限:#sudo chmod 646 named.conf.local 
    添加下列语句: 

    //正向区域 
    zone "304.com" { 
    type master; 
    file "/etc/bind/db.304.com"; 
    }; 
    //反向区域 
    zone "0.168.192.in-addr.arpa" { 
    type master; 
    notify no; 
    file "/etc/bind/db.30.140.192"; 
    }; 
    然后保存。

     

    6.建立named.conf.local中指定的区域文件。
    在/etc/bind下建立正向区域文件 (复制了一份) 

    命令:sudo cp /etc/bind/db.local /etc/bind/db.304.com 
    在/etc/bind下建立反向区域文件 (复制了一份) 

    命令:sudo cp /etc/bind/db.127 /etc/bind/db.0.168.192

     

    7.编辑正向区域文件 
    命令:sudo nano /etc/bind/db.304.com 
    将原文参照下文修改 


    ; BIND data file for local loopback interface 

    $TTL 604800 
    @ IN SOA ns.304.com. root.304.com. ( 
    2 ; Serial 
    604800 ; Refresh 
    86400 ; Retry 
    2419200 ; Expire 
    604800 ) ; Negative Cache TTL 

    @ IN NS ns.304.com. 
    @ IN A 127.0.0.1 
    @ IN AAAA ::1 
    ns IN A 192.168.0.1

    kxsrv IN A 192.168.0.1

    mail   IN A 192.168.0.20

    bbs    IN A 192.168.0.30

    www IN CNAME kxsrv

     

    ns--------nameserver

    A---------Address

    CNAME----别名

    注意修改的地方,在原文的localhost处更改,再添加各个主机记录 注意用Tab键分开对齐 
    另外使用别名时:www IN cname 192.168.0.1 会出错, 要使用www IN cname kxsrv。

    如果要添加ftp.304.com对应192.168.0.40,则只需在后面添加一行:

    ftp    IN    A    192.168.0.40

     

    8.编辑反向区域文件 
    命令:sudo nano /etc/bind/db.0.168.192

    将原文参照下文修改 

    ; BIND reverse data file for local loopback interface 

    $TTL 604800 
    @ IN SOA ns.304.com. root.304.com. ( 
    1 ; Serial 
    604800 ; Refresh 
    86400 ; Retry 
    2419200 ; Expire 
    604800 ) ; Negative Cache TTL 

    @ IN NS ns. 
    9 IN PTR ns.304.com. 
    9 IN PTR kxsrv.304.com. 
    9 IN PTR www.304.com.

    9 IN PTR bbs.304.com.

    9 IN PTR mail.304.com.

    注意修改的地方,在原文的localhost处更改,再添加各个主机记录 注意用Tab键分开对齐,末尾有“.”。

    如果要添加ftp.304.com对应192.168.0.40,则只需在后面添加一行:

    9 IN PTR ftp.304.com.

     

    9.重新启动DNS服务 
    sudo /etc/init.d/bind9 restart 
    到此位置dns就配置完成了,你可以在XP下的cmd环境下用nslookup去试试看 

    注意:改动配置文件后都要重新启动bind9。

     

    10.Linux 修改DNS,请修改/etc/resolv.conf文件。 
    例如: 

    编辑sudo nano /etc/resolv.conf 
    更改为 
    nameserver 192.168.0.1

    nameserver 202.117.112.3

    nameserver 192.168.0.1放在前面,这样主机会首先向nameserver 192.168.0.1请求解析。

     

    11.DNS客户端的配置。
         此时DNS服务器已经开始工作了,要使用该DNS服务器,以XP为例,到"控制面板"–"网络连接",找到上网的网卡,右键选择"属性",改变DNS地址为192.168.0.1 ,否则会向其他DNS请求解析会导致不正确!

    验证:在客户端

    ping kxsrv.304.com

    ping www.304.com

    ping mail.304.com

     


     

     

    总结:/etc/bind下文件之间的关系,

    1、主要有三个配置文件:named.conf;named.conf.options;named.conf.local。(还有named.conf.default-zones等默认文件,不用管它)

    2、其中named.conf是主配置文件,里面包含named.conf.options和named.conf.local,我们在架设本地dns时,只需改动named.conf.local即可。

    3、先在named.conf.local中配置正向和反向区域,

    正向区域的具体配置在/etc/bind/db.304.com文件中;(以本次试验为例)

    正向区域的具体配置在/etc/bind/db.0.168.192文件中;(以本次试验为例)

    然后到正向和反向的具体配置文件中配置。

    再总结:只需改动在named.conf.local添加正向和反向区域;再到正向配置文件(在named.conf.local中指明了该文件的路径和名称)和反向配置文件(在named.conf.local中指明了该文件的路径和名称)中配置。

     

    即以后要改域名直接替换上述三个文件的304字符串为要修改后的字符串即可。

    要添加其他需要解析的域名(仍是304.com域,仍在192.168.0段内,非192.168.0.1地址),

    如添加ftp.304.com对应地址192.168.0.20,只需在/etc/bind/db.304.com和/etc/bind/db.0.168.192中添加相应域名和地址即可.

    参考:http://www.xkedu.cn/blog/read.php?478

  • 相关阅读:
    大话设计模式--第六章 装饰模式
    大话设计模式--第五章 依赖倒置原则
    Linux—文件管理
    Linux—系统管理
    Mysql—添加用户并授权
    Linux—文件权限管理(chmod、chown、chgrp)
    Linux—管理用户、用户组及权限
    Mysql—修改用户密码(重置密码)
    Linux—编译安装详解
    Python—实现sftp客户端(连接远程服务器)
  • 原文地址:https://www.cnblogs.com/xiaoerlang/p/3445026.html
Copyright © 2020-2023  润新知