DNS服务
软件包:bind、bind-chroot
主要执行程序:/usr/sbin/named
默认端口:53
运行时的虚拟根环境:/var/named/chroot/
地址库文件:/var/named/...
主配置文件:/etc/named.conf
named.conf全局配置部分:
options{
listen-on port 端口 {IP;};
directory "/var/named"; //地址库文件目录
allow-query {any;};
};
区域配置部分:
zone "域名" IN{ //定义正向区域,IN(Internet)
type master; //定义为主DNS
file "最下级的文件路径"; //地址库文件
};
检查配置语法:named-checkconf 【主配置文件】
named-checkzone 区域名 地址库配置文件
地址库文件:
本区域名可简写为“@”
$TTL(生存时间)、SOA (授权信息开始)
NS(域名服务器记录)、A(IP地址记录)
特殊解析:
DNS轮询:基于DNS的站点负载均衡,一个域名解释多个不同IP地址。
泛域名解析:匹配本域内未定义的任何主机地址,用“*”条目表示,最好放在最后一条记录。
eg:* IN A 1.1.2.3
DNS子域授权(适用于同一个DNS组织)
为父DNS启用子域授权:
修改父域的地址库文件,添加到子域的NS记录,确保有可用的子DNS服务器的A记录。
配置格式:
子域域名. IN NS 子DNS的FQDN.
子DNS的FQDN. IN A 子DNS的IP地址
递归/迭代查询
递归查询默认开启的,若禁用:recursion no;
dig工具可验证迭代查询,由软件包bind-utils提供。
格式:dig @DNS服务器 目标地址
缓存DNS,适用于互联网出口带宽较低的企业局域网络和ISP服务商的公共DNS服务器。
解析记录来源:全局转发或根域迭代
全局转发配置:配置named.conf文件,设置forwarders {公共DNS;};
Split分离解析
当收到客户机的DNS查询请求时,能够区分客户机的来源地址并为不同类别的客户机提供不同的解析结果。
适用于CDN。
BIND的view视图
根据源地址集合将客户机分类示例如下:
view "联通"{
match-clients{来源地址1;.......;}
zone "12306.cn" IN{
.......地址库1;
};
};
view "移动"{
match-clients{来源地址2;.......;}
zone "12306.cn" IN{
.......地址库2;
};
};
定义view视图后,不允许在view以外出现zone配置。
ACL地址列表(为大批量的客户机地址建立列表)
调用时指定列表名即可,列表名any可匹配任意地址。
定义:
acl "liantong" {
IP1;IP地址2;....
网段1;网段2.....
};
调用:
view "liantong2"{
match-clients{liantong;}
zone "12306.cn" IN{
.......地址库2;
};
};