1、dns的安装
dns的基本安装包有四个bind、bind-lib、bind-utils、caching-nameserver。还有一个安装包bind-chroot、这个安装包可以保护你的dns,增加了安全性。如果有人想通过你的dns来攻击你的服务器,即使进入了dns的配置目录也跳不到其他的目录,只能在dns的配置目录下。其实它的所有配置文件是在/var/named/chroot下,etc和var目录下的所有配置文件都是做的软连接,chroot能够很好的保护你的系统。
接下来就是软件的安装:
yum install bind
yum install bind-lib
yum install bind-utils
yum install caching-nameserver
2、dns的主要配置文件
/etc/ named.caching-nameserver.conf 主配置文件,用于设置dns服务器的全局参数,并指定文件名及其保存路径。
/etc/named.rfc1912.zones 在主配置文件默认设置区域文件的定义都在这个文件里指定
/var/named/named.ca 指向跟服务器的信息文件,不需要手工修改,默认已有,但是可以在官网上下载最新的根服务器信息到这个目录
/var/named/localhost.zone 用于对本级的主机名或域名进行正向解析(默认已有)
/var/named/named.local 用于对本级的主机名或域名进行反向解析 (默认已有)
正向区域文件 在/var/named下,由named.rfc1912.zones来执行
反向区域文件 在/var/named下,由named.rfc1912.zones来执行
3、dns主要配置文件的设置
vim /etc/ named.caching-nameserver.conf
options {
listen-on port 53 { any; }
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
allow-query-cache { any; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; };
match-destinations { any; };
recursion yes;
include "/etc/named.rfc1912.zones ";
};
options 定义全局配置
listen-on 定义监听的端口,后边{}要改为any,监听所有53端口的请求,默认只监听自己的53端口
directory 定义dns区域文件的路径
dump-file 定义服务器的存放数据库的路径,当执行rndc dumpdb命令时会用到此选项,也就是将内存的缓存记录写入到文件cache_dump.db中。
statistics-file、memstatistics-file这两个选项定义dns的当前状态和缓存状态文件
allow-query 定义允许客户端能够访问本机的dns服务
logging 定义日志文件的一些性质
file 定义日志文件的存放位置,可以写相对路径
severity 定义日志的级别
include 把定义区域文件信息的/etc/named.rfc1912.zones这个文件加载到主配置文件。
vim /etc/named.rfc1912.zones
省略了文件中默认定义的区域,包括根域、本地域定信息。
#gongchang
zone "gongchang.com" IN {
type master;
file "gongchang.com.zone";
};
zone "217.190.60.in-addr.arpa" IN {
type master;
file "60.190.217.zero";
};
vim /var/named/gongchang.com.zone
$TTL 86400
@ IN SOA localhosts. root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS @
IN A 127.0.0.1
IN AAAA ::1
ar IN A 60.190.217.33
www.ar IN A 60.190.217.33
*.ar IN A 60.190.217.33
SOA(Start Of Authority,授权起码)记录是主域名服务器的区域文件中必不可少的记录,并总是处于区域文件中所有记录的最前面。定义了本域名数据的基本信息和属性。
域名 IN SOA 主机名 管理员电子邮件 (
序列号
刷新时间
重试时间
过期时间
最小时间 )
(1)域名,通常使用“@”符号来表示,其值是named.conf文件中zone语句定义的域名。
(2)主机名,如“dns.richedu.com.”或“richedu.com.”。注意此时以“.”来结尾。这是因为区域文件中规定凡是以“.”结束的名称是完整的主机名,而没有“.”结束的名称是本区域的相对域名。
(3)管理员的电子邮件地址。由于“@”符号在区域文件中另有他用,所以管理员的电子邮件地址中不能使用“@”符号,而是使用“.”符号代替。如:root.richedu.com. 或简写 root。
NS(Name Server)记录指明区域中DNS服务器的主机名,是区域文件中不可缺少的资源记录。
A(Address,地址)记录指明域名与IP地址的相互关系,仅用于正向区域文件。通常仅写出完整域名中最左端的主机名
vim /var/named/60.190.217.zero
$TTL 86400
@ IN SOA localhost. root.localhost. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS localhost.
33 IN PTR ar.gongchang.com
33 IN PTR www.ar.gongchang.com
33 IN PTR ar-style.gcimg.net
33 IN PTR ar-map.gcimg.net
PTR记录用于实现从IP地址到域名的解析,仅用于反向区域文件。通常仅写出完整IP地址的最后一部分。