DNS(域名系统)是一个分布式系统,用于翻译域名对应的IP。本文将帮助你如何在CentOS 6和RHEL系统设置主从DNS服务器。
网络设置
Master DNS Server IP: 192.168.1.90 ( ns1.youcl.com )
Slave DNS Server IP: 192.168.1.91 ( ns2.youcl.com )
Domain Name : demoyoucl.com ( For Testing Purpose )
Domain IP : 192.168.1.100 ( For Testing Purpose )
第1步:安装必需的RPMS(主从设备)
在主服务器上使用下面的命令从DNS服务器上安装 bind 包。
# yum install bind bind-chroot
第2步:设置主DNS服务器(NS1)
有两种类型的配置文件中的DNS。
- 一个是名为“named.conf中的”主DNS配置文件
- 配置文件的其他类型被称为区域文件。这是单独为所有区域创建。 named.conf中保存所有区域文件的条目。
2.1使用下面的配置来配置named.conf
# vim /var/named/chroot/etc/named.conf
named.conf中的内容:
// /var/named/chroot/etc/named.conf
options {
listen-on port 53 { 127.0.0.1; 192.168.1.0/24; };
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 { localhost; 192.168.1.0/24; };
recursion yes;
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 "demoyoucl.com" IN {
type master;
file "/var/named/demoyoucl.com.db";
allow-update { none; };
};
include "/etc/named.rfc1912.zones";
[根据你的网络和域名来更改红色突出显示值]
2.2为您的域名“demoyoucl.com”创建一个区域文件
# vim /var/named/chroot/var/named/demoyoucl.com.db
区域文件的内容:
; Zone file for demoyoucl.com
$TTL 14400
@ 86400 IN SOA ns1.youcl.com. webmaster.youcl.com. (
3215040200 ; serial, todays date+todays
86400 ; refresh, seconds
7200 ; retry, seconds
3600000 ; expire, seconds
86400 ) ; minimum, seconds
demoyoucl.com. 86400 IN NS ns1.youcl.com.
demoyoucl.com. 86400 IN NS ns2.youcl.com.
demoyoucl.com. IN A 192.168.1.100
demoyoucl.com. IN MX 0 demoyoucl.com.
mail IN CNAME demoyoucl.com.
www IN CNAME demoyoucl.com.
2.3在DNS服务器中添加更多域名
在DNS中添加更多的域名,分别创建区域文件的所有域同上。之后,添加对所有区域的条目named.conf中像下面。更改demoyoucl.com与您的域名。
zone "demoyoucl.com" IN {
type master;
file "/var/named/demoyoucl.com.db";
allow-update { none; };
};
第2步.4:启动命名服务
使用在系统启动以下命令,设置自动开机启动名为(绑定)服务。
# /etc/init.d/named restart
# chkconfig named on
第3步:设置从DNS服务器(NS2)
在从DNS服务器,你只需要更新named.conf文件。所有区域文件将从主DNS服务器自动同步。在主服务做任何更改都将在指定的时间间隔后生效。
3.1使用下面的配置来配置named.conf
# vim /var/named/chroot/etc/named.conf
named.conf中的内容
// /var/named/chroot/etc/named.conf
options {
listen-on port 53 { 127.0.0.1; 192.168.1.0/24; };
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 { localhost; 192.168.1.0/24; };
recursion yes;
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 "demoyoucl.com" IN {
type slave;
file "slaves/demoyoucl.com.db";
masters { 192.168.1.90; };
};
include "/etc/named.rfc1912.zones";
第3步.2:启动 named Service
使用下面的命令启动 named (bind)服务。
# /etc/init.d/named restart
# chkconfig named on
重新命名的服务后,检查从DNS服务器上的区域文件位于/var/named/chroot/var/named/slaves/。
第4步:最后,测试你的DNS设置
查询你的主,从DNS服务器直接使用下面的命令,你会得到两个服务器相同响应。 语法:nslookup <domainname.com> <dns server name/ip>
查询主DNS服务器:
# nslookup demoyoucl.com 192.168.1.90
Server: 192.168.1.90
Address: 192.168.1.90#53
Name: demoyoucl.com
Address: 192.168.1.100
查询到从DNS服务器:
# nslookup demoyoucl.com 192.168.1.91
Server: 192.168.1.91
Address: 192.168.1.91#53
Name: demoyoucl.com
Address: 192.168.1.100
上述输出是显示该DNS服务器已经成功地解从主从DNS服务器翻译域名demoyoucl.com 。 了解更多关于DNS服务器
http://en.wikipedia.org/wiki/Name_server