天天看点

Day15 DNS服务基础&桥设备(Service04)一、DNS工作原理三、DNS子域授权和子域转发四、缓存DNS五、DNS Split分离解析(view解析)

DNS服务器的功能

正向解析:根据注册的域名查找其对应的IP地址

反向解析:根据IP地址查找对应的注册域名。在安全领域常用,比如查询邮件是否是真正的域名持有人发出的,验证邮件的源IP和域名是否相符

FQDN(Full Qualified Domain Name)完全合格主机名

站点名.域名后缀

站点名.三级域.二级域.一级域

IANA(Internet Assigned Numbers Authority)互联网数字分配机构

整个域名系统的最高权威机构,管理DNS根,.int,.arpa等国际化域名资源

CNNIC(China Internet Network Information Center )

主管国家顶级域.cn

BIND(Berkeley Internet Name Daemon)伯克利Internet域名服务

执行程序:/usr/bin/named

系统服务:named

默认端口:53/tcp、53/udp。正常解析时用udp协议,主从同步之间用tcp协议传输配置文件信息

运行时的虚拟根环境:/var/named/chroot

安装包:bind、bind-chroot

帮助文件:/usr/share/doc/bind-9.9.4/sample/

named的主配置文件。指定负责解析的域名是什么。

//、#表示注释单行,/....../里面的内容表示多行注释

listen-on port 53 { 127.0.0.1; };#表示仅监听本机

要监听所有ip地址有两个方法

方法1:listen-on port 53 { any; };

方法2:把该行删除,就会默认监听所有ip地址

options {

directory "/var/named";#地址库文件路径为/var/named

recursion no;#默认值为yes,手动设置no来禁止递归查询

allow query { any; };#允许任何客户机查询

};

zone "负责解析的域名" IN {

type 类型;#类型为master、slave、forward、hint

file "区域文件";标准的格式为解析的域名.zone

例子:

zone "tedu.cn" IN {

type master;

file "tedu.cn.zone";

2.3 /var/named/

named区域数据文件目录,存放多个区域文件,区域文件的内容为主机名与ip地址的对应关系。

;为注释符,只有单行注释,没有多行

域名必须以.结尾,如果没有加.的话系统会自动补全,补全什么呢?补全的是主配置文件中定义该区域数据文件解析的是哪个域名,这里是tedu.cn+"."

cp -p /var/named/named.localhost /var/named/tedu.cn.zone#加-p选项保证named用户对该文件有读权限,也可以用chown,chmod等方式赋予读权限

目前先修改最后两行

格式:

负责解析的域名+"." NS DNS服务器的FQDN主机名+"."

DNS服务器的FQDN主机名+"." A DNS服务器的IP地址

复杂写法:

tedu.cn. NS svr7.tedu.cn.

svr7.tedu.cn. A 192.168.4.7

简单写法:

@ NS svr7 #@表示在主配置文件中定义的负责解析主机名+"."。这里是tedu.cn.

svr7 A 192.168.4.7#两行的svr7可以更换为其他字符,只要相同即可

$TTL 生存时间

SOA 授权信息开始

nameserver 192.168.4.7

host www.qq.com '192.168.4.7'

Using domain server:

Name: 192.168.4.7

Address: 192.168.4.7#53

Aliases:

www.qq.com has address 1.1.1.1

更专业的DNS查询测试命令

dig www.qq.com @192.168.4.7

; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> www.qq.com @192.168.4.7

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55516

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 4096

;; QUESTION SECTION:

;www.qq.com. IN A

;; ANSWER SECTION:

www.qq.com. 86400 IN A 1.1.1.1

;; AUTHORITY SECTION:

qq.com. 86400 IN NS ns.qq.com.

;; ADDITIONAL SECTION:

ns.qq.com. 86400 IN A 192.168.4.7

;; Query time: 0 msec

;; SERVER: 192.168.4.7#53(192.168.4.7)

;; WHEN: 五 11月 17 02:59:29 EST 2017

;; MSG SIZE rcvd: 88

zone "qq.com" IN {

file "qq.com.zone";

cd /var/named

cp -p tedu.cn.zone qq.com.zone

vim qq.com.zone

增加内容:

qq.com. NS ns.qq.com.

ns.qq.com. A 192.168.4.7

www A 1.1.1.1

ftp A 2.2.2.2

重启服务

指定192.168.4.7为DNS服务器来解析域名

默认就是轮询方式。

在地址库文件里面增加多条主机名相同、ip地址不同的解析记录即可

匹配本域内未定义的的任何主机地址

以"*"匹配,放在区域文件中最后一行,一般用在正向区域文件中

stu1.tedu.cn.------192.168.10.1

stu2.tedu.cn.------192.168.10.2

......

stu60.tedu.cn------192.168.10.60

一条记录即可。因为区域文件有函数可以生成连续范围的数字:$GENERATE

$GENERATE 1-60 stu$.tedu.cn. A 192.168.10.$

DNS服务器与其他DNS服务器交互,最终将解析结果带回来交给客户端的过程

客户端对首选DNS服务器的查询是递归查询。互联网上DNS服务器都会禁止递归查询

DNS服务器不提供解析结果,只告诉查询客户端应该找另外一个DNS服务器去查询

首选DNS服务器对其他DNS服务器的查询是迭代查询

父域:www.tedu.cn 父域的DNS负责解析tedu.cn

子域:www.bj.tedu.cn 子域的DNS负责解析bj.tedu.com

-父域的DNS服务器,能够解析tedu.cn结尾(父域)的主机名

-子域的DNS服务器,能够解析bj.tedu.cn结尾(子域)的主机名

-父域的DNS服务器,也能够解析bj.tedu.cn结尾(子域)的主机名,这个就是子域授权

-子域的DNS服务器,也能够解析tedu.cn结尾(父域)的主机名,称之为子域转发

192.168.4.7上操作:

vim 

bj.tedu.cn. NS pc207.bj.tedu.cn.#增加一条

pc207.bj.tedu.cn. A 192.168.4.207#增加对应一条

192.168.4.207上验证:

nslookup www.bj.tedu.cn 192.168.4.7

Server: 192.168.4.7

Non-authoritative answer:#非权威回答,找权威服务器查询得知的

Name: www.bj.tedu.cn

Address: 1.2.3.4

192.168.4.207上操作:

vim /etc/named.conf

增加:

zone "bj.tedu.cn" IN {

type forward;#类型为转发

forwarders { 192.168.4.7; };#注意前后的空格、分号等

内存要比较大,因为查询结果都是放在内存中。不需要管理任何DNS区域,但是能够代替客户机查询,并且通过缓存、复用查询结果来加快速度

企业内网DNS

ISP公用DNS

将请求转发给指定的公共DNS(其他缓存DNS),请求递归服务

依次向根域、一级域、二级域等的DNS,请求迭代服务

当收到客户机的DNS查询请求的时候,区分客户机的来源地址,来为不同类别的客户机提供不同的解析结果(IP地址)

访问压力大的网站,需要购买CDN提供的内容分发服务。内容分发服务就使用了这个技术,

CDN供应商在全国都有镜像服务节点,针对不同的客户机就近提供离客户最近的服务器

cd /var/named/

cp -p tedu.cn.zone tedu.cn.zone.lan

cp -p tedu.cn.zone tedu.cn.zone.other

sed -i s#1.1.1.1#192.168.4.100#g tedu.cn.zone tedu.cn.zone.lan

acl列表定义要单独一个格式段,不能放在option格式段里面

acl "mylan" {

192.168.4.207;

192.168.4.254;

view视图匹配的规则是从上到下,匹配即停止。

一但启用了view视图,所有的zone必须在view格式段里面,而且多个view里面的zone的数量必须相同

主配置文件里面只能有两个view格式段

view "lan" {

match-clients { mylan; };#匹配acl,名字为mylan

file "tedu.cn.zone.lan"

view "other" {

match-clients { any; };#匹配任意地址

file "tedu.cn.zone.other"

本文转自 goldwinner 51CTO博客,原文链接:http://blog.51cto.com/355665/2068820,如需转载请自行联系原作者

继续阅读