搭建DNS服务
一、yum install -y bind
cp /etc/named.conf /etc/named.conf.bak
> /etc/named.conf
vim /etc/named.conf 加入下面内容:
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};
cd /var/named
dig -t NS . > named.ca
vim named.local 加入下面内容:
$TTL 86400
@ IN SOA localhost. admin.localhost. (
2013081601
1H
10M
7D
1D
)
@ IN NS localhost.
1 IN PTR localhost
vim localhost.zone 加入下面内容:
$TTL 86400
@ IN SOA localhost. admin.localhost. (
2013081601
1H
10M
7D
1D
)
@ IN NS localhost.
localhost. IN A 127.0.0.1
保存退出:wq
l检测配置是否有问题: named-checkconf
检测正解析: named-checkzone "localhost" /var/named/localhost.zone //出现ok正确;
检测反解析: named-checkzone "0.0.127.in-addr.arpa" /var/named/named.local //出现OK正确;
rndc-confgen -r /dev/urandom -a // 这一步是生成rndc.key,如果没有这个keynamd是启动不了的。
chown named named/etc/rndc.key
/etc/init.d/named start
首先测试正向解析:dig @127.0.0.1 localhost.
接着测试反解析:dig @127.0.0.1 -x 127.0.0.1
二、加入一个域名
我以abc.com这个域名为例
vim /var/named/abc.com.zone 加入下面内容:
$TTL 600
@ IN SOA abc.com. root.abc.com. (
2013081601
1H
10M
7D
1D
)
IN NS ns1.abc.com.
IN NS ns2.abc.com.
IN MX 10 mail.abc.com.
ns1 IN A 192.168.174.10
ns2 IN A 192.168.174.11
www IN A 192.168.174.88
mail IN A 192.168.174.10
bbs IN CNAME www.abc.com.
#vim /var/named/192.168.zone 加入下面内容(这个是反向解析):
$TTL 600
@ IN SOA ns1.abc.com. root.abc.com. (
2013081601
1H
10M
7D
1D
)
@ IN NS ns1.abc.com.
IN NS ns2.abc.com.
10 IN PTR ns1.abc.com.
11 IN PTR ns2.abc.com.
11 IN PTR mail.abc.com.
73 IN PTR www.abc.com.
修改 named.conf 配置文件:
vim /etc/named.com 在最后面加入现在内容:
zone "abc.com" IN {
type master;
file "abc.com.zone";
};
zone "174.168.192.in-addr.arpa" IN {
type master;
file "192.168.zone";
};
l分别检测两个配置文件是否有问题:
lnamed-checkzone "abc.com" abc.com.zone //出现OK正确;
lnamed-checkzone "174.168.192.in-addr.arpa" 192.168.zone //出现OK正确;
l重启named服务,测试dig @127.0.0.1 www.abc.com
ldig @127.0.0.1 -x 192.168.137.11
三、配置DNS转发
vim /etc/named.conf //在options{} 里面增加
forward first;
forwarders { 8.8.8.8; };
四、配置主从
从dns主服务器上复制以下三个文件:
copy:/etc/named.conf /var/named/localhost.zone /var/named/named.local
vim /etc/named.conf 修改成下面的内容:
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};
zone "abc.com" IN {
type slave;
file "slaves/abc.com.zone";
masters { 192.168.0.11; }; //这里的ip为主服务器的地址;
};
zone "137.168.192.in-addr.arpa" IN {
type slave;
file "slaves/192.168.zone";
masters { 192.168.0.11; }; //这里的ip为主服务器的地址;
};
rndc-confgen -r /dev/urandom -a //生成一个启动key;
chownnamed:named /etc/rndc.key
在从服务器启动上named: /etc/init.d/named start
启动成功后会在/var/named/下生成一个slaves目录,这个目录下
有192.168.zone, abc.com.zone这两个文件,内容是和主上的一样的 //如果发现
slaves目
录下没有
生成这两个文件,先查看named.conf里配置的主服务器的ip地址有没有错,然后再
看selinux
有没有关
闭,如果还是不行,就把iptables关闭,(关闭方法:/etc/init.d/iptables
stop)或者也
可以用规
则开通53端中;
在从服务器上测试: dig @127.0.0.1 www.abc.com
测试主从同步
在主上修改abc.com.zone 一定要修改编号,必须往大的写
在从服务器上的named.conf 中,abc.com的zone中添加
notifyyes;
also-notify { 192.168.0.12; };
启动查看是否一样!