一.原理介绍 1.视图的工作原理以及目的:

DNS的view功能可以实现不同网段发出同样的请求却得到不同的DNS解析结果,可以有效的分流网络流量,提高访问控制能力。

2.DNS查询分为迭代查询和递归查询两种查询方式:

迭代查询:当服务器使用迭代查询时能使其他服务器返回一个最佳的查询点提示或主机地址,若此最佳的查询点中包含需要查询的主机地址,则返回主机地址信息,若此时服务器不能够直接查询到主机地址,则是按照提示的指引依次查询,直到服务器给出的提示中包含所需要查询的主机地址为止,一般每次指引都会更靠近根服务器(向上),查寻到根域名服务器后,则会再次根据提示向下查找。B访问C、D、E、F、G,都是迭代查询,首先B 访问C,得到了提示访问D的提示信息后,开始访问D,D又返回给B提示信息,告诉B应该访问E,依次类推。

递归查询:域名服务器将代替提出请求的客户机(下级DNS服务器)进行域名查询,若域名服务器不能直接回答,则域名服务器会在域各树中的各分支的上下进行递归查询,最终将返回查询结果给客户机,在域名服务器查询期间,客户机将完全处于等待状态。

二.案例

在内网中有台dns服务器,地址是192.168.1.10.域名为abc.com。 另外内网中还有一台www服务器和ftp服务器。现外网中有台测试主机(地址192.168.2.30)必须通过内网中的这台dns服务器来解析内网中的www和ftp服务器;内网和外网之间有防火墙(用linux中的iptables来完成),连接内网的网卡地址为192.168.1.254.连接外网的网卡地址为192.168.2.1

拓扑图

wps_clip_image-12226

(1)编辑 /var/named/chroot/etc/named.conf 来修改里面的视图,增加一个内网,一个外网,内网数据为abc.com.db, 外网数据为abc.com.db1.

wps_clip_image-20875

wps_clip_image-8294

wps_clip_image-24480

(2)创建这个新建的数据 abc.com.db1,这里可以复制abc.com.db的数据

       cd /var/named/chroot/var/named/

       cp -p abc.com.db abc.com.db1

然后分别编辑这两个数据文件:

vim abc.com.db

wps_clip_image-1348

vim abc.com.db1

wps_clip_image-30288

       vim abc.com.db

(3)输入 rndc reload 重新启动一下 (4)下面来配置防火墙的有关信息:

  我的防火墙是用linux虚拟机装的两个网卡建立的,网卡分别为eth0和eth1.

  eth0:ip地址 192.168.5.254  255.255.255.0

  eth1:ip地址 192.168.3.1     255.255.255.0

(5)将数据转换打开,编辑 /etc/sysctl.conf文件

将第七行的 ipv4_forward后面的0改为1,输入 sysctl –p  重新启动。

wps_clip_image-6514

(6)配置nat转换:

iptables -t  nat  -A PREROUTING -d 192.168.3.1 -p udp --deport 53 -j DNAT --to 192.168.5.100

wps_clip_image-14510

(7)下面用外网来获得地址解析,我这里用的外网是win2003虚拟机

第一次解析,网关指向内网,即192.168.2.100

wps_clip_image-16064

下面是外网的解析:

wps_clip_image-18476