一、安装dns服务器
使用bind源码安装-不赘述,参考bind文件下的readme文件
使用yum命令安装:yum install bind bind-chroot;
二、dns配置
dns的主要配置文件/ets/named.conf;给文件主要用于dns服务器的权限控制,以及解析文件(数据库文件)的制定,dns会通过named.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; }; recursion yes; rrset-order { order cyclic; }; allow-transfer { none; }; //不允许别人进行zone转移 dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic";};logging { channel default_debug { file "data/named.run"; severity dynamic; };};zone "." IN { type hint; file "named.ca";};zone "xxxx.com.cn" IN { type master; file "named.xxxx.com.cn";};zone "16.172.in-addr.arpa" IN { type master; file "named.172.16";};zone "0.27.172.in-addr.arpa" IN { type master; file "named.172.27.0";};include "/etc/named.rfc1912.zones";include "/etc/named.root.key";
注意:在named.conf中,由于解析时bind是从右往左解析,而ip地址的解析方式是从左往右解析,所以在编写逆向解析zone时,ip地址需放过来写,如:172.27.0写zone时为:0.27.172.in-addr.arpa;在zone内的file参数制定你的解析文件的位置,如果不加上绝对路径,默认存放位置在/var/named/路径下面。
3.切换目录到/var/named
cd /var/named/
在/var/name目录下新建你在zone里指定的文件名(默认该目录下有例文件如:named.ca。可以复制重命名):
named.xxxx.com.cn,named.172.16,named.172.27.0
4.正反解析文件如下:
name.xxxx.com.cn
$TTL 600@ IN SOA dns.xxxx.com.cn. root.xxxx.com.cn. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum@ IN NS dns.xxxx.com.cn.dns.xxxx.com.cn. IN A 172.27.0.128www.xxxx.com.cn. IN A 192.168.2.70amms IN A 172.16.1.62 ;简化写法,dns会自动补全为:amms.shandongair.com.cn
逆向解析文件:named.172.16
$TTL 600@ IN SOA dns.xxxx.com.cn. songc.xxxx.com.cn. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum@ IN NS dns.xxxx.com.cn.128.0.27.172.in-addr.arpa. IN PTR dns.xxxx.com.cn.62.1 IN PTR amms.xxxx.com.cn.
通过上面文件named.xxxx.com.cn中,我采用了两种域名方式,一种是全称加上“.”,一种是只是“hostname”;加了“.”表示这是一个完整的主机名(FQDN),即:“hostname+domain name”,如果没有加“.”的话,表示该名称仅为“hostname”如:amms。在named.172.16中,由于这是1个16位的网络号,后面16位为主机号,因为bind从右开始解析,所以写主机号时,需颠倒顺序,如:正常地址172.27.1.62,在反向解析文件中,需写作:62.1;如果你的dns服务器地址与你的逆向解析地址不在同一个网络号下,那么,你的dns服务器ip地址逆向解析时就需要写全称,如:
128.0.27.172.in-addr.arpa. IN PTR dns.xxxx.com.cn.
5.named.172.27.0文件对以上配置没有影响,就不贴出来了。配置完成后,重启named服务,使用nslookup或者dig命令进行测试。(注意:在启动named服务以后,需查看/var/log/messages日志文件,查看你的配置是否正常,即使启动正常,也不代表你的dns配置是正常的,所以必须查看日志文件),在日志文件里可能遇到:permission deny,这是由于你的配置文件所有者和组所有者与默认文件不一致,你的配置文件一般为:root:root,而默认文件问root:named;因此需使用chown命令更改.