实验环境
VMware NAT模式 CentOS6.5
永久关闭iptables防火墙
(实验环境下建议永久)
# chkconfig iptables off
安装
yum install bind
bind-9.8.2-0.68.rc1.el6.x86_64 //DNS服务器软件
bind-utils-9.8.2-0.68.rc1.el6.x86_64 //DNS服务器的查询工具
bind-chroot-9.8.2-0.68.rc1.el6.x86_64 //DNS服务器的安全保护软件
bind-libs-9.8.2-0.68.rc1.el6.x86_64 //DNS服务器的类库文件
//缺少什么包,自行安装
相关文件
/etc/named.conf //主配置文件
/var/named/named.ca //缓存服务器的配置文件
正向区域文件 //由named.conf文件指定,用于实现区域内主机名到IP地址的正向解析
反向区域文件 //由named.conf文件指定,用于实现区域内IP地址到主机名的反向解析
配置/etc/named.conf文件
配置DNS主服务器必须修改named.conf文件,并建立器管辖区域的正/反向解析文件,其中反向解析文件虽不是必需的的,单使用反向解析文件有助于提高解析速度。
配置符合以下条件的主域名服务器:
- 域名注册为example.com,网段地址为202.127.50.*
- 主域名服务器的IP地址为202.127.50.100,主机名为dns.example.com
- 要解析的服务器由:www.example.com(IP地址为202.127.50.100),ftp.example.com(IP地址为202.127.50.200)
配置解析
- master:表示定义的是主域名服务器
- slave :表示定义的是辅助域名服务器
- hint:表示是互联网中根域名服务器
修改/etc/named.conf文件如下
[root@localhost Desktop]# vim /etc/named.conf
options {
listen-on port 53 { 192.168.213.130;127.0.0.1; }; //监听哪个网卡的DNS服务,有多个中间逗号隔开
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; }; //允许哪些主机可以访问,any表示所有
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
/* 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 "name.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
在/etc/named.rfc1912.zones文件下 添加正反向解析设置
zone "example.com" IN {
type master;
file "example.com.zone";
allow-update { none; };
};
zone "50.127.202.in-addr.arpa" {
type master;
file "202.127.50.rev";
allow-update { nona; };
};
创建正向区域文件example.com.zone文件 保存再/var/named/chroot/var/named/目录下
$TTL 宏定义全局TTL时间
域名 IN SOA 主机名 管理员电子邮件地址(
序列号
刷新时间
重试时间
过期时间
最小时间
)
IN NS 服务器主机名
IN MX 优先级 邮件服务器名
IN A ip4
IN AAAA ip6
IN CNAME 服务器别名
# vi /var/named/chroot/var/named/example.com.zone
$TTL 1D
@ IN SOA dns.example.com. root.dns.example.com. (
20210423 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
IN NS dns.example.com.
IN AAAA ::1
dns IN A 202.127.50.100
www IN CNAME dns.example.com.
ftp IN A 202.127.50.200
创建反向区域文件202.文件 保存再/var/named/chroot/var/named/目录下
$TTL 1D
@ IN SOA dns.example.com. root.dns.exampel.com. (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.example.com.
100 PTR dns.example.com.
100 PTR dns.example.com.
200 PTR ftp.example.com.
检测配置文件语法是否正确
[root@localhost named]# named-checkzone example.com.zone /var/named/chroot/var/named/example.com.zone
zone example.com.zone/IN: loaded serial 20210423
OK
修改文件权限
# chmod 640 /var/named/chroot/var/named/example.com.zone
# chown :named /var/named/chroot/var/named/example.com.zone
# chown :named /var/named/chroot/var/named/202.127.50.rev
文件权限如下
[root@localhost named]# ll
total 28
-rw-r----- 1 root named 241 Apr 23 19:54 202.127.50.rev
-rw-r----- 1 root named 274 Apr 23 19:59 example.com.zone
启动服务
[root@localhost named]# service named restart
Stopping named: [ OK ]
Starting named: [ OK ]
测试机CentOS7 将ens33文件的DNS服务器改成相应的IP (我服务器ip为192.168.213.130)并重启网卡
[root@localhost qq]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
DNS1=192.168.213.130
[root@localhost qq]# systemctl restart network
客户机测试
[root@localhost qq]# host www.example.com
www.example.com is an alias for dns.example.com.
dns.example.com has address 202.127.50.100
[root@localhost qq]# host 202.127.50.200
200.50.127.202.in-addr.arpa domain name pointer ftp.example.com.