反向dns 地址和名字的对应关系(通过地址查找对应域名)
一、
在windows平台实现:
那么这样我们就做好了在windows平台上的反向dns,可以测试一下
二、
linux下实现:(流程跟做正向的相似)
(1)
首先声明反向查找区域,编译/var/named/chroot/etc/named.rfc1912.zones
zone "20.168.192.in-addr.arpa" IN {
type master;
file "192.168.20.db";
allow-update { none; };
};
(2)
产生数据库文件,并编译
在/var/named/chroot/var/named目录下
[root@llllll named]# cp -p named.local 192.168.20.db (name.local是反向查找区域数据文件的模板)
[root@llllll named]# vim 192.168.10.db
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
做完之后执行重新读取数据文件就可以了
智能dns-------做一个dns服务器为外网用户提供解析内网私有域名及地址的功能,
实现概念:在内网对外的路由器上做nat,首先做一条基于www的snat,使得外网针对内网的基于www的访问,都会将路由器外网地址映射到内网www服务器地址,再做一条基于domain(dns)的snat,使得当路由器接受到关于外网的dns包,都会将包外网地址装换成内网dns地址,传送给dns解析,此时dns主配置文件内做了两个关于dns解析的view(一个对的解析,一个对外的解析),它们的域名相同,但是使用的不是相同的数据库,因此解析的地址是不通,那么就实现了内网用户解析的是内网dns的真实地址,外网用户解析的是外网合法地址(但是这个地址做了基于www的snat,所以也是可以访问滴)
编译dns主配置文件,将dns的解析做成内外分开的,做区域声明
[root@ttttttttt tec]# vim /var/named/chroot/etc/named.conf
view inner {
match-clients
{ 192.168.1.0/24; }; 针对内部访问做的dns解析
match-destinations { any; };
recursion yes;
include "/etc/named.rfc1912.zones";
};
view outer { 针对外部所有访问做的智能dns解析
match-clients
{ any; };
match-destinations { any; };
recursion yes;
zone "cj.com" IN { 为外部的访问添加一个区域
type master;
file "cj.com.out";
allow-update { none; };
};
};
为外部访问的客户端做智能dns数据库cj.com.out (它们的数据库是不同的)
[root@ttttttttt tec]# vim /var/named/chroot/var/named/cj.com.out
$TTL
86400
@
IN SOA
ns.cj.com. root (
42
; serial (d. adams)
3H
; refresh
15M
; retry
1W
; expiry
1D )
; minimum
IN NS
ns.cj.com.
ns
IN A
192.168.101.3 外网合法地址
www IN A 192.168.101.3 外网合法地址
tec
IN CNAME
www
mkt
IN CNAME
www
wordpress IN CNAME www
bbs IN CNAME www
路由器:nat
[R3-Ethernet0]nat outbound 2000 interface
[R3-Ethernet0]nat server global 192.168.101.3 www inside 192.168.1.67 www tcp 2000
[R3-Ethernet0]nat ser glo 192.168.101.3 domain in 192.168.1.66 domain udp 2000 智能dns
为内部dns地址做一个基于外网端口的地址映射
转载于:https://blog.51cto.com/3428760/668441