DNS服务

DNS基础:

DNS即域名系统,DNS服务器把计算机的名字与其IP地址相对应

工作原理:

正向解析:

客户端向DNS服务器提交域名查询IP,DNS服务器做出响应

反向解析:

客户端向DNS服务器提交IP查询域名,DNS服务器做出响应

查询方式:

递归查询:

DNS服务器会发送返回客户请求的信息,或返回一个指出该信息不存在的错误信息。DNS服务器不会尝试联系其他DNS服务器以获取帮助。

迭代查询:

DNS服务器没有该信息的记录时,它会返回一个可能具有要找的IP地址的DNS服务器的IP地址

完全合格域名:

FQON,格式:站点域名.域名后缀

DNS域名管理:

IANA,互联网数字分配结构,域名系统最高权威机构,主管国际化域名资源

CNNIC,中国互联网络信息中心,主管国家顶级域.cn授权域名代理

服务搭建:

软件包:bind,(保证安全,提供虚拟根支持bind-chroot,可安装)

服务名:named

主要程序:/usr/sbin/named

默认端口:tcp/udp 53(正常解析使用udp,主从同步使用tcp)

主配置文件:/etc/named.conf(指定负责解析的域名)

地址库文件:/var/named(主机名和IP地址的对应关系)

配置主文件:

options { #全局配置

listen-on port 53 { any; }; #指定监听端口,和网络接口,any表示所有主机

directory "/var/named" #指定DNS数据文件路径

dump-file "/var/named/data/cache_dump.db" #执行导出命令时,缓存数据 存储的路径

statistics-file "/var/named/data/named_stats.txt"; #指定Name服务的统计文件

allow-query { localhost; }; #指定可以访问DNS服务的客户端,any表示所有

};

zone "域名" IN{ #指定域,及域名的数据文件

type master;

#根域名使用hint,权威服务器使用master,从服务器使用slave

file "地址库文件名";

#默认地址/var/named/下,常用域名.zone格式命名

};

   

配置地址库文件:

模板:/var/named/named.localhost(注意权限,保证named拥有读的权限,常使用cp -p操作)

配置文件如下:

$TTL 1D

@ IN SOA @ rname.invalid. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

cl.com. NS server.cl.com. #指定server.cl.com为DNS服务器,server.cl.com和下一行必须同名

server.cl.com. A 127.0.0.1 #注意域名后的"."

www A 192.168.0.1 #指定www.cl.com的IP为192.168.0.1

DNS负载均衡:(较少使用)

在配置库文件中添加多条网址一样,使其指向的ip不一样,通过轮询达到负载均衡的作用

泛域名解析:

在库配置文件中添加一条记录:* A IP地址

在库配置文件中添加一条记录:域名 A IP地址(使用户即使只输入域名也能访问)

有规律的泛域名:

原理:使用函数"$GENERATE 数字1-数字2":生成一个范围以内的连续数字

在库配置文件中添加一条记录:$GENERATE 1-20 域名$ A 192.168.0.$($符号代表1-20的变量,有前面函数生成)

子域授权:

在父域名地址库文件中添加:NS记录在相邻)

子域域名 NS 子域主机服务器完整域名

子域主机服务器完整域名 A 子域IP地址

父域转发:

更改子域名主配置文件中的类型为forward;地址库文件为"forwarders { 父域IP地址; };" (注:{前后都有空格)

关联临时文件

DNS缓存:

内网为了加快内网访问速度

原理:将内网常用域名进行缓存,从而加快内网访问速度

实现方式:

全局转发:

将请求转发给指定DNS,请求递归

根域迭代:

依次向根、一级、二级DNS服务器请求递归

配置:主配置文件书写如下:

全局转发配置:

options {

directry "/var/named";

forwarders { 指定的DNS的IP地址 }; #类似父域名转发

};

根域迭代配置:

保留主配置文件中根域"."的zone

库配置文件/var/named/named.ca中存在根域地址

DNS分离解析:

定义:收到客户机的DNS的查询时:能够区分客户机的来源地址;为不同类别的客户机提供不同的解析结果(ip地址)

原理:使用主配置文件写入view视图将解析引导到地址库配置文件,通过地址库配置文件解析

配置内容:view视图

view "地址库名称1"{

match-clients{ 来源地址1;……; ); #可以写IP地址或IP网段192.168.146.2/24、acl列表

zone "域名" IN {

地址库1;

};

};

view "地址库名称2"{

match-clients{ 来源地址2;……; }

zone "域名" IN{

地址库2;

};

};

注:同一域名在多个视图内分别定义,其他地址库文件相互独立,从而实现解析结果的分离;定义vivw视图后,不允许在view以外出现zone配置,view总的zone个数须一样;优先级越靠前越高,来源地址any表示任意;需要将客户端完全分类,不能有遗漏

ACL列表

作用:保证view视图精简

    

 验证DNS服务器:

1.使用ping命令

2.使用nslookup 需要解析的域名(注:该命令要在客户机的/etc/resolv.conf中键入"nameserver dns服务器ip地址";也可以在命令后指定dns服务器的ip地址)

注意事项:

注意防火墙,Selinux

DNS在/etc/resolv.conf中的位置放在最前面,以免外部多个dns干扰

posted @ 2018-11-12 21:23  KAZUYA  阅读(201)  评论(0编辑  收藏  举报