安装dns包:
[root@super63 ~]# rpm -ivh /mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
[root@super63 ~]# rpm -ivh /mnt/Packages/bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
[root@super63 ~]# rpm -ivh /mnt/Packages/bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
查看配置文件:
[root@super63 ~]# ls /etc/named.conf
/etc/named.conf
重启dns后自动挂载:
[root@super63 ~]# service named restart
[root@super63 ~]# ls /var/named/chroot/etc/named/
[root@super63 ~]# mount
配置DNS服务器解析:super.cn
修改配置文件:
[root@super63 ~]# vim /var/named/chroot/etc/named.conf
ptions {
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
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;
zone "super.cn" IN {
type master;
file "super.cn.zone";
创建zone文件:
[root@super63 ~]# cd /var/named/chroot/var/named/
[root@super63 named]# cp -p named.localhost super.cn.zone # 注意权限
编辑zone文件:
[root@super63 named]# vim super.cn.zone
$TTL 1D
super.cn. IN SOA dns.super.cn. root.super.cn. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
super.cn. NS dns.super.cn.
dns.super.cn. A 192.168.1.63
www.super.cn. A 192.168.1.63
www1.super.cn. CNAME [www.super.cn](http://www.super.cn).
检查zone文件
[root@super63 named]# named-checkzone "super.cn" super.cn.zone
zone super.cn/IN: loaded serial 0
OK
配置文件参数说明:
$TTL 1D ;设置有效地址解析记录的默认缓存时间,默认为1天也就是1D。
#原来的@表示当前的域xuegod.cn.,为方便大家记忆,我们这里,直接写成xuegod.cn.
#设置SOA记录为:dns.xuegod.cn. #在此配置文件中写域名时,都把根. 也要写上。
#域管理邮箱root.xuegod.cn,由于@有其他含义,所以用“.”代替@。
0 ;更新序列号,用于标示数据库的变换,可以在10位以内,如果存在辅助DNS区域,建议每次更新完数据库,手动加1.
1D ;刷新时间,从域名服务器更新该地址数据库文件的间隔时间,默认为1天
1H ;重试延时,从域名服务器更新地址数据库失败以后,等待多长时间,默认为为1小时
1W ; 到期,失效时间,超过该时间仍无法更新地址数据库,则不再尝试,默认为一周
3H ;设置无效地址解析记录(该数据库中不存在的地址)默认缓存时间。设置无效记录,最少缓存时间为3小时.
资源记录参数详解:
重启dns服务器:
[root@super63 ~]# service named restart
Stopping named: . [ OK ]
Starting named: [ OK ]
更改本机使用的dns服务器:
[root@super63 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=192.168.1.63
重启网络:
[root@super63 ~]# service network restart
测试:
[root@super63 ~]# ping www.super.cn
PING www.super.cn (112.124.54.19) 56(84) bytes of data.
64 bytes from 112.124.54.19: icmp_seq=1 ttl=49 time=36.4 ms
Super64更改dns为192.168.1.63
[root@super64 ~]# ping www.super.cn
PING www.super.cn (192.168.1.63) 56(84) bytes of data.
64 bytes from 192.168.1.63: icmp_seq=1 ttl=64 time=0.139 ms
dns 主从
配置主dns:
[root@super63 ~]# vim /var/named/chroot/etc/named.conf
zone "super.cn" IN {
type master;
file "super.cn.zone";
allow-transfer{192.168.1.0/24;}; **#** **指定允许哪个网段的从DNS服务器,可以同步主DNS服务器zone文件,不写默认为所有。**
};
配置从dns:
安装dns包:
[root@super63 ~]# rpm -ivh /mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
[root@super63 ~]# rpm -ivh /mnt/Packages/bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
[root@super63 ~]# rpm -ivh /mnt/Packages/bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
启动:
[root@super64 ~]# /etc/init.d/named restart
Stopping named: [ OK ]
Generating /etc/rndc.key:^C
启动时出现问题:解决办法:
[root@super64 ~]# rndc-confgen -r /dev/urandom -a
wrote key file "/etc/rndc.key"
[root@super64 ~]# /etc/init.d/named restart
Stopping named: [ OK ]
Starting named: [ OK ]
修改从服务器的配置:
[root@super64 ~]# vim /var/named/chroot/etc/named.conf
ptions {
listen-on port 53 { any; };
listen-on-v6 port 53 { any; };
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;
zone "super.cn" IN {
type slave;
file "slaves/super.cn.zone.file";
masters { 192.168.1.63; };
};
注:这样从DNS服务器就可以从主DNS服务器上获取DNS解析记录信息了。写时注意slave和 slaves master 单词的书写,有的加s有的不加
重启从DNS服务器会在:/var/named/chroot/var/named/slaves文件夹下自动创建一个文件xuegod.cn.zone.file 这个文件是从DNS服务器从主DNS服务器上获取的数据
[root@super64 slaves]# ls /var/named/chroot/var/named/slaves/super.cn.zone.file super.cn.zone.file
[root@super64 slaves]# service named restart
测试:
[root@super64 ~]# cat /var/named/chroot/var/named/slaves/super.cn.zone.file
有了记录,同步成功。
通过DNS做负载均衡
[root@super63~]#vim var/named/chroot/var/named/super.cn.zone
重启dns服务:
[root@super63 ~]# service named restart
测试:
DNS 主从密钥认证
防止所有人多可以使用我们的服务器
首先主从dns服务器同步时
生成密钥:
[root@super63 ~]# dnssec-keygen -a hmac-md5 -b 128 -n HOST abc
Kabc.+157+62584
-a hmac-md5:采用hmac-md5加密算法。
-b 128:生成的密钥长度为128位。
-n 密钥类型。我们选择主机类型:HOST 。
-n <nametype>: ZONE | HOST | ENTITY | USER | OTHER
(DNSKEY generation defaults to ZONE)
abc #为生成密钥的名字
生成时速度有点慢,因为生成密钥需要一些随机事件,因此我们可以通过移动鼠标或执行
[root@xuegod63 etc]# find /
来产生一些随机事件。
等待大约2分钟,查看生成的密钥对
查看密钥:
[root@super63 ~]# cat Kabc.+157+62584.key
abc. IN KEY 512 3 157 nZoCfrIiRAQU/zDSNbTdFg==
[root@super63 ~]# cat Kabc.+157+62584.private
Private-key-format: v1.3
Algorithm: 157 (HMAC_MD5)
Key: nZoCfrIiRAQU/zDSNbTdFg==
Bits: AAA=
Created: 20150809122304
Publish: 20150809122304
Activate: 20150809122304
编辑主配置文件:
[root@super63 ~]# vim /var/named/chroot/etc/named.conf
开启:
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
key abckey{
algorithm hmac-md5;
secret "nZoCfrIiRAQU/zDSNbTdFg==";
};
zone "super.cn" IN {
type master;
file "super.cn.zone";
allow-transfer{key abckey;}; **#** **采用密钥进行同步**
};
[root@super63 ~]# service named restart
修改从配置文件:
开启
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
key abckey{
algorithm hmac-md5;
secret "nZoCfrIiRAQU/zDSNbTdFg==";
};
zone "super.cn" IN {
type slave;
file "slaves/super.cn.zone.file";
masters{ 192.168.1.63 key abckey; }; **#** **采用密钥进行同步**
};
测试:
[root@super64 ~]# cd /var/named/chroot/var/named/slaves/
[root@super64 slaves]# rm -rf super.cn.zone.file
[root@super64 slaves]# service named restart