002.DNS-BIND简介
一 Linux-BIND服务器简介
Bind是Berkeley Internet Name Domain Service的简写,它是一款实现DNS服务器的开放源码软件。已经成为世界上使用最为广泛的DNS服务器软件,目前Internet上半数以上的DNS服务器有都是用Bind来架设的,已经成为DNS中事实上的标准。
二 DNS服务器类型
- 缓存服务器:不负责解析,仅为加速,不需要注册
- 主DNS服务器:负责解析本地客户端请求
- 辅助DNS服务器:辅助服务器的区域数据都是从主服务器复制而来,其数据都是只读的
三 BIND简介
3.1 bind详解
- 包名:bind
- 进程:named
- 协议:dns
- 使用端口:53(tcp,udp)
相关包:
- bind-chroot:将named进程的活动范围限定在chroot目录,保证安全性。
- bind-devel:与开发相关的头文件和库文件(编译安装bind时所需)
- bind-libs:bind服务器端和客户端都使用到的公共库文件
- bind-utils : bind客户端工具
程序文件:/usr/sbin/named
主程序目录:/var/named
主配置文件:/etc/named.conf
bind权限相关:安装完named会自动创建用户named系统用户
3.2 bind配置文件解释
1 /etc/logrotate.d/named/etc/named.conf #主配置文件 2 •/etc/named.rfc1912.zones #区域配置文件(用include指令包含在主配置文件) 3 •/etc/named.root.key #根区域的key文件以实现事务签名; 4 •/etc/rndc.conf #rndc(远程名称服务器控制器)配置文件 5 •/etc/rndc.key #rndc加密密钥 6 •/etc/sysconfig/named 7 •/var/named/named.ca #13个根服务器存放文件/var/named/named.empty 8 •/var/named/named.localhost 9 •/var/named/named.loopback
3.3 主配置文件
named.conf,每个语句都要使用分号结尾;其功能如下:
- 定义区域
- 定义各区域的全局配置
- 定义视图
- 定义日志
第一段:
1 options { 2 listen-on port 53 { 0.0.0.0/0; }; 3 listen-on-v6 port 53 { ::1; }; 4 directory "/var/named"; 5 dump-file "/var/named/data/cache_dump.db"; 6 statistics-file "/var/named/data/named_stats.txt"; 7 memstatistics-file "/var/named/data/named_mem_stats.txt"; 8 allow-query { any; }; 9 recursion yes; 10 11 dnssec-enable yes; 12 dnssec-validation yes; 13 dnssec-lookaside auto; 14 15 bindkeys-file "/etc/named.iscdlv.key"; 16 17 managed-keys-directory "/var/named/dynamic"; 18 19 pid=file "/run/named/named.pid"; 20 session-keyfile "/run/named/session.key"; 21 };
第一段主要配置项解释:
- listen-on:指定IPv4监听的端口和IP,默认为53,IP位127.0.0.1;
- directory:指定named读取DNS数据文件的目录,默认为/var/named/;
- dump-file:设置域名缓存数据库文件的位置,默认为/var/named/data;
- statistics-file:设置状态统计文件的路径,默认为/var/named/data;
- allow-query:设置允许DNS查询的客户端地址,默认值为localhost;
- recursion:设置递归查询,yes:允许递归查询,no:不允许递归查询,默认配置允许递归查询。
第二段:
1 logging { #定义日志 2 channel default_debug { 3 file "data/named.run"; 4 severity dynamic; 5 }; 6 };
第二段主要配置项解释:
- channel:定义日志输出方式,有syslog、文本文件、标准错误输出或/dev/null等方式;
- file:表示输出到纯文本文件;
- severity:表示消息的严重性等级,有critical、error、warning、info、debug等;
第三段:
1 zone "." IN { 2 type hint; 3 file "named.ca"; 4 allow-update { none; }; 5 };
第三段主要配置项解释:
- zone:定义一个正向区域,对应的域名;
- type:类型,通常有master、slave和hit,含义如下——
- master:表示定义的是主域名服务器;
- slave:表示定义的是辅助域名服务器;
- hint:表示定义的是互联网中根域名服务器。
- file:指定存放dns记录的数据文件名称,默认路径为/var/named;
- allow-update:是否允许客户主机或服务器自行更新dns记录。
3.4 区域文件
区域文件包括正向区域文件和反向区域文件。
- 正向区域
1 [root@linuxmaster named]# vi /var/named/aliyun.com.zone 2 $TTL 300; 3 @ IN SOA linuxmaster.aliyun.com. admin.aliyun.com. ( 4 2017051720 ;serial 5 1H ;refresh 6 5M ;retry 7 7D ;expiry 8 3D ) ;minimum 9 IN NS linuxmaster 10 IN MX 20 MX 11 linuxmaster IN A 172.24.8.10 12 www IN A 172.24.8.30 13 mirrors IN A 172.24.8.30 14 ftp IN CNAME www
正向区域文件解释:
- TTL:定义区域中数据文件里面的各项记录的默认TTL值;
- SOA:SOA记录,@代表相应的域名,每个区域数据文件只能有一个SOA,其中参数有——
- serial:表示配置文件的修改版本,格式为年月日加上修改的次数;
- refresh:设定辅助dns和主dns进行同步的间隔时间;
- retry:如果辅助dns进行更新失败后,间隔多久进行重试;
- expiry:设定辅助dns与主dns同步失败后,多长时间后清除对应的记录;
- minimum:默认最小的TTL值,如果在前面没有设置TTL,则以此值为准。
- NS:定义此主机属于域名服务器;
- MX:定义一个邮箱交换器;
- A指针:定义一个A记录,即域名到IP的记录;
- CNAME:定义域名的别名。
作者:木二
出处:http://www.cnblogs.com/itzgr/
关于作者:云计算、虚拟化,Linux,多多交流!
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接!如有其他问题,可邮件(xhy@itzgr.com)咨询。