BIND PTR 無法公網解析
我搭建了一個基於bind的dns
反向解析PTR記錄,
如果我的DNS直接指向 搭建的dns則可以解析,
如果指向公用的DNS,則無法解析
我們的這個dns已經在域名註冊商那裡註冊過了,全部授權給我自己搭建的服務區了,就是通過公用的,再指向我搭建的,無法做PTR解析,A記錄沒有問題。
但是我直接指向自己搭建的dns則是沒有問題的,A記錄和PTR記錄都可以解析。
《解決方案》
dig +trace 看下
《解決方案》
當然不行了,你有在IP提供商那裡註冊PTR嗎?
正向解析,比如A記錄,MX等等由域名服務商提供服務
而PTR指針記錄由IP地址提供商提供。
《解決方案》
簡單了解下PTR的查詢過程,和A記錄查詢類似
比如你的IP地址是1.2.3.4 那麼該IP對應的PTR域名就是4.3.2.1.in-addr.arpa 好了,現在把4.3.2.1.in-addr.arpa當成一個域名,查詢過程是相同的。
《解決方案》
zone "4.3.2.1.in-ADDR.ARPA" {
type master;
file "zone/zone_0/4.3.2.1.com";
};
文件4.3.2.1.com的內容
$TTL 86400
@ IN SOA ns.xxxx.cn. root.ns.xxxx.cn.(
2011101013 ;Serial
3600 ; Refresh ( seconds )
900 ; Retry ( seconds )
9600 ; Expire ( seconds )
86400 );Minimum TTL for Zone ( seconds );
@ IN NS ns1.xxxx.cn.
@ IN PTR mail.xxxx.cn.
《解決方案》
如果用台灣一個公司的設備,就是用他們的提供的DNS來搭建這個dns,即使我的nslookup指向公用的也能解析出PTR來
所以我懷疑是不是我的配置上 沒有和公用的DNS的參數 在PTR這塊 配合好
《解決方案》
在我的dns上直接抓包,通過公用DNS進行PTR查詢,根本沒收數據收到。
所以我懷疑是不是配置的問題?
name.conf 配置
options {
directory "/usr/local/named/etc/";
pid-file "/var/run/named/named.pid";
dump-file "/usr/local/named/etc/named_dump.db";
statistics-file "/usr/local/named/etc/named.stats";
version "0.0.0";
auth-nxdomain no;
allow-query { any; };
listen-on { 1.1.1.1; };
allow-transfer { "trust-lan"; };
allow-notify { "trust-lan"; };
port 53;
recursion yes;
};
《解決方案》
寫成這樣,重啟bind測試下
zone "3.2.1.in-ADDR.ARPA" {
type master;
file "zone/zone_0/3.2.1.com";
};
文件3.2.1.com的內容
$TTL 86400
@ IN SOA ns.xxxx.cn. root.ns.xxxx.cn.(
2011101013 ;Serial
3600 ; Refresh ( seconds )
900 ; Retry ( seconds )
9600 ; Expire ( seconds )
86400 );Minimum TTL for Zone ( seconds );
@ IN NS ns.xxxx.cn.
4 IN PTR ns.xxx.cn.
4 IN PTR mail.xxxx.cn.
《解決方案》
這個我也試過,也不行。
《解決方案》
所以我一直懷疑是不是那個name.conf 配置有問題