dns的正反向解析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dns的正反向解析相关的知识,希望对你有一定的参考价值。

DNS正反向解析

环境

一台Linux虚拟机,安装centos7.4版本IP地址:192.168.100.139,最后进行测试测试。

实验

在Linux虚拟机上安装dns服务及bind。

[[email protected] ~]# yum install bind -y
[[email protected] ~]# rpm -qc bind      //查找bind的配置文件
[[email protected] ~]# vim /etc/named.conf    //修改主配置文件  //注意vim,有些虚拟机需要安装。

将朱配置文件内的listen-on port 53{ 127.0.0.1; }改为listen-on port 53 { any; }; allow-query { localhost; };改为 allow-query { any; }; 保存退出。

接下来修改区域配置文件。

vim /etc/named.rfc1912.zones
本来文件内有模板:正向代理的模板:
zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};
反向代理的模板:
zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};
按照模板修改,正向代理:
zone "benet.com" IN {
        type master;     //类型
        file "benet.com.zone";  //工作文件
        allow-update { none; };
};
反向代理:
zone "100.168.192.in-addr.arpa" IN {         //IP反过来写,不谢最后一位,及192.168.100段的。
        type master;   //类型
        file "benet.com.local";    //工作文件
        allow-update { none; };
};

保存退出。修改区域数据文件。路径:cd /var/named/ 然后ls查看文件。因为只有一份区域配置文件,需要复制并将名称改为与区域配置文件正反向代理的工作文件名称相符。复制两份文件

[[email protected] named]# cp -p named.localhost benet.com.zone //-p是为了保持属主和属组的权限。
[[email protected] named]# cp -p named.localhost benet.com.local

然后编辑两个数据文件。vim /benet.com.zone

原文件:
$TTL 1D     //生命周期
@       IN SOA  @ rname.invalid. (   //第一个“@”是一个变量,是代表在区域配置文件中设置的工作文件的名称,这里是“benet.com” 。“SOA”资源起始记录。
第二个“@”也是一个变量,是完整域名,这里是“benet.com.” 。
后面为管理员邮箱

0       ; serial        //。序列号。数字越大越新,然后会同步
1D      ; refresh      //刷新时间,1天
                                        1H      ; retry     //重试连接,若找不到,提供服务的机器。则每隔一个小时重新尝试连接。
                                        1W      ; expire   //最大忍耐期限。若在规定的时间内找不到服务器,则自动放弃,寻找
                                        3H )    ; minimum   //无效缓存,保留期限。
        NS      @     //服务器名字
        A       127.0.0.1    //主机地址,需改为dns服务地址
        AAAA    ::1   //ipv6服务地址
修改后的文件:
$TTL 1D
@       IN SOA  @ admin (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      benet.com.
        A       192.168.100.139
www IN  A       192.168.100.100  //可以将www.benet.com解析为此地址。

保存退出

下面编辑反向代理文件:

原文件:
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
修改后的文件:
$TTL 1D
@       IN SOA  benet.com. admin.benet.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      benet.com.
        A       192.168.100.139
139 IN PTR      www.benet.com.     //PTR 为反向指针
保存退出。

最后输入 echo "nameserver 192.168.100.139" > /etc/resolv.conf
启动服务。测试

[[email protected] named]# nslookup 192.168.100.139
Server:     192.168.100.139
Address:    192.168.100.139#53

139.100.168.192.in-addr.arpa    name = www.benet.com.

[[email protected] named]# nslookup www.benet.com
Server:     192.168.100.139
Address:    192.168.100.139#53

Name:   www.benet.com
Address: 192.168.100.139

试验成功。

以上是关于dns的正反向解析的主要内容,如果未能解决你的问题,请参考以下文章

配置DNS的正反向解析与主从同步

小片段中的 ORA-06512 [重复]

神经网络的正反向传播算法推导

Django运维后台的搭建之三:用url去精细定制与反向解析

如何使用片段反向移植?

Linux下的主辅DNS服务器同步