现今使用最为广泛的DNS服务器软件就是Bind(Berkeley Internet Name Domain Service)。Bind原本是美国DARPA资助伯克利大学(Berkeley)开设的一个研究生课题,后来经过多年的变化发展,已经成为世界上使用最为广泛的DNS服务器软件,现在最新的版本是9,由ISC(Internet Systems Consortium)编写和维护。
BIND支持现今绝大数的操作系统(Linux、UNIX、Mac、Windows), 本例使用的是红帽7.0的Linux操作系统
BIND服务器的名称称之为named
#安装bind
[root@ashen1 ~]# yum -y install bind*
#设成开机自启
[root@ashen1 ~]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.
#BIND配置文件保存在两个主要位置:
/etc/named.conf # BIND服务主配置文件
/var/named/ # zone文件
配置一个域的主服务器需要以下几个步骤:
- 在bind的主配置文件中注释或修改
- 在/var/named/中创建该域的zone文件
- 添加资源记录文件,添加需要的信息
- 给zone文件相应的权限以及所属用户
- 启动bind服务
- 检测域信息是否正常
[root@ashen1 ~]# vim /etc/named.conf
options {
listen-on port 53 { any; }; //监听任何IP对53端口的请求
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; }; //接受任何来源查询DNS
recursion yes;
#添加正向解析域
[root@ashen1 ~]# vim /etc/named.rfc1912.zones
#在最后添加想要设置的域
zone "lothric.com" IN {
type master;
file "lothric.com.zone";
};
[root@ashen1 ~]# cd /var/named/
[root@ashen1 named]# cp named.localhost lothric.com.zone
[root@ashen1 named]# vim lothric.com.zone
$TTL 1D
@ IN SOA lothric.com. admin.lothric.com. (
0 ; serial
1D ; refresh #主从刷新时间
1H ; retry #主从通讯失败的充实时间间>隔
1W ; expire #缓存过期时间
3H ) ; minimum #没有ttl定义时的最小生存时
间
NS www.lothric.com.
NS ftp.lothric.com.
A 127.0.0.1
AAAA ::1
MX 10 mx.lothric.com
www IN A 192.168.161.200
ttl IN A 192.168.161.200
ftp IN A 192.168.161.200
~
#添加反向解析域
[root@ashen1 named]# vim /etc/named.rfc1912.zones #注意反写网段
zone "161.168.192.in-addr.arpa" IN {
type master;
file "161.168.192.zone";
};
[root@ashen1 named]# vim /var/named/161.168.192.zone
$TTL 1D
@ IN SOA lothric.com. admin.lothric.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ttl.lothric.com.
A 127.0.0.1
AAAA ::1
88 IN PTR lothric.com
88 IN PTR www.lothric.com
#给zone权限
[root@ashen1 named]# chmod 755 lothric.com.zone
[root@ashen1 named]# chmod 755 161.168.192.zone
[root@ashen1 named]# chown named.named 161.168.192.zone
[root@ashen1 named]# chown named.named 161.168.192.zone
[root@ashen1 named]# systemctl start named
#配置检查
[root@ashen1 named]# named-checkzone "lothric.com" /var/named/lothric.com.zone
zone lothric.com/IN: loaded serial 0
OK
开启另一台虚拟机,将其DNS设置为上面的主机地址
[root@bogon ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.161.200
[root@bogon ~]# nslookup 192.168.161.200
Server: 192.168.161.200
Address: 192.168.161.200#53
200.161.168.192.in-addr.arpa name = www.lothric.com.161.168.192.in-addr.arpa.
200.161.168.192.in-addr.arpa name = ftp.lothric.com.161.168.192.in-addr.arpa.
200.161.168.192.in-addr.arpa name = mx.lothric.com.161.168.192.in-addr.arpa.
200.161.168.192.in-addr.arpa name = lothric.com.161.168.192.in-addr.arpa.
[root@bogon ~]# nslookup www.lothric.com
Server: 192.168.161.200
Address: 192.168.161.200#53
Name: www.lothric.com
Address: 192.168.161.200