0
点赞
收藏
分享

微信扫一扫

如何在RedHat6上使用Bind搭建DNS服务

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。


Fayson的github:https://github.com/fayson/cdhproject


提示:代码块部分可以左右滑动查看噢


1.文档编写目的



搭建私有的DNS服务的方式有多种,如Window Server、Dnsmasq、BIND等,前面Fayson介绍了《​​如何利用Dnsmasq构建小型集群的本地DNS服务器​​​》,《​​如何在Windows Server2008搭建DNS服务并配置泛域名解析​​​》和《​​如何在Windows Server2012搭建DNS服务并配置泛域名解析​​》,在文章描述了如何搭建DNS服务及配置泛域名解析。本篇文章主要介绍如何在RedHat6上使用BIND搭建DNS服务及配置泛域名解析。


  • 内容概述

1.安装BIND服务

2.修改配置文件

3.配置DNS及测试

4.常见问题


  • 测试环境

1.RedHat6.5

2.采用root用户操作


2.测试环境描述



DNS服务器IP地址

DNS服务器HOSTNAME

172.31.9.33

cdh04.fayson.com


3.Bind服务安装



1.在命令执行如下命令安装bind服务


[root@cdh04 ~]# yum -y install bind bind-utils bind-chroot

(可左右滑动)


如何在RedHat6上使用Bind搭建DNS服务_服务器


2.检查bind服务是否安装成功


[root@cdh04 ~]# rpm -qa |grep bind

(可左右滑动)


如何在RedHat6上使用Bind搭建DNS服务_配置文件_02


如上图显示则表示bind服务已安装成功


4.修改bind服务配置文件



1.编辑/etc/named.conf文件,内容如下


[root@cdh04 ~]# vim /etc/named.conf 
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
#listen-on port 53 { 127.0.0.1; };
#listen-on-v6 port 53 { ::1; };
listen-on 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;
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";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

(可左右滑动)


如何在RedHat6上使用Bind搭建DNS服务_配置文件_03


标注部分说明

listen-on:修改为监听所有IP地址

allow-query:允许所有IP查询

dnssec-lookaside:设置为auto,named在启动时将被加载


2.在/etc/named.rfc1912.zones文件中配置区域信息,在文件的末尾增加如下配置


zone "fayson.com" IN {
type master;
file "fayson.com.zone";
allow-update { none; };
};
zone "31.172.in-addr.arpa" IN {
type master;
file "32.172.zone";
allow-update { none; };
};

(可左右滑动)


如何在RedHat6上使用Bind搭建DNS服务_服务器_04


3.在/var/named目录下新增正向解析文件fayson.com.zone


[root@cdh04 named]# vim /var/named/fayson.com.zone
$TTL 1D
@ IN SOA cdh04.fayson.com. admin.fayson.com (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS cdh04.fayson.com.
cdh04 IN A 172.31.9.33
cdsw IN CNAME cdh04
*.cdsw IN CNAME cdh04

(可左右滑动)


如何在RedHat6上使用Bind搭建DNS服务_服务器_05


注意:第二行配置的为当前主机的hostname和邮箱地址。


4.在/var/named目录下新增反向解析文件31.172.zone


[root@cdh04 named]# vim /var/named/31.172.zone
$TTL 1D
@ IN SOA cdh04.fayson.com. admin.fayson.com (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS cdh04.fayson.com.
33.9 IN PTR cdh04.fayson.com.

(可左右滑动)


如何在RedHat6上使用Bind搭建DNS服务_服务器_06


注意:在配置反向解析是ip段需要反转。


5.完成以上配置后使用如下命令检查配置是否正确


[root@cdh04 named]# named-checkzone fayson.com fayson.com.zone
zone fayson.com/IN: loaded serial 1
OK
[root@cdh04 named]# named-checkconf
[root@cdh04 named]#

(可左右滑动)


如何在RedHat6上使用Bind搭建DNS服务_服务器_07


6.启动named服务


[root@cdh04 named]# service named restart
Stopping named: . [ OK ]
Starting named: [ OK ]
[root@cdh04 named]#

(可左右滑动)


如何在RedHat6上使用Bind搭建DNS服务_服务器_08


5.配置DNS服务及测试



1.修改/etc/sysconfig/network-scripts/ifcfg-eth0


如何在RedHat6上使用Bind搭建DNS服务_服务器_09


这里需要根据自己的网卡名来修改相应的配置配置ifcfg-{网卡名}


如何在RedHat6上使用Bind搭建DNS服务_配置文件_10


2.使用如下命令重启network


[root@cdh04 named]# service network restart

(可左右滑动)


如何在RedHat6上使用Bind搭建DNS服务_服务器_11


3.检查/etc/resolv.conf配置文件是否为最新的DNS地址


如何在RedHat6上使用Bind搭建DNS服务_域名解析_12


有如上截图表示DNS配置已生效。


4.使用nslookup命令测试域名是否能够正常解析


[root@cdh04 named]# nslookup cdh04.fayson.com

(可左右滑动)


如何在RedHat6上使用Bind搭建DNS服务_域名解析_13


以上为正向解析正常。


[root@cdh04 named]# nslookup 172.31.9.33

(可左右滑动)


如何在RedHat6上使用Bind搭建DNS服务_服务器_14


反向解析正常。


[root@cdh04 named]# nslookup cdsw.fayson.com

(可左右滑动)


如何在RedHat6上使用Bind搭建DNS服务_域名解析_15


别名解析正常。


[root@cdh04 named]# nslookup qq.cdsw.fayson.com

(可左右滑动)


如何在RedHat6上使用Bind搭建DNS服务_配置文件_16


泛域名解析正常。


6.常见问题



在配置完成测试的过程中遇到无法正常解析异常,如下截图


如何在RedHat6上使用Bind搭建DNS服务_域名解析_17


异常原因:

1.确认DNS服务器的IP地址配置是否正确

2.有可能由于配置文件属主及权限原因导致,这里我们需要修改我们正向和反向配置文件的属组及权限。

文件所在目录,如下截图为没有修改前的属主及权限


如何在RedHat6上使用Bind搭建DNS服务_配置文件_18


[root@cdh04 ~]# chmod 640 /var/named/chroot/var/named/fayson.com.zone 
[root@cdh04 ~]# chmod 640 /var/named/chroot/var/named/31.172.zone
[root@cdh04 ~]# chown root:named /var/named/chroot/var/named/fayson.com.zone
[root@cdh04 ~]# chown root:named /var/named/chroot/var/named/31.172.zone

(可左右滑动)


如何在RedHat6上使用Bind搭建DNS服务_域名解析_19


修改完成后重启named服务。


7.总结



  • 在安装BIND服务时安装了bind-chroot包,该包提供了一个伪根目录,保证正真的根目录以增强安全性,安装后伪根目录为/var/named/chroot。
  • 在配置区域信息时未指定域数据文件文件的具体目录,是由于/etc/named.conf文件中options配置中directory参数已指定了named路径。
  • 可以使用named-checkzonenamed-checkconf来检查配置文件是否正确。


常见配置说明:

SOA记录域权威记录说明此服务器为管理服务器

NS记录域名服务器记录

MX记录邮件记录,指定域内的邮件服务器需要指定优先级

A记录正向解析记录

CNAME记录别名记录添加别名

PTR记录反向解析记录


@代表zone所定义的域名称这里是SOA的域名

TTL值为其他域名服务器将数据放在缓存中的时间

IN 定义网络的地址类型,对于TCP/IP而言设置为IN(INERNET

root.example.com.代表了主域名服务器的主机名以.结束

shudaipiaoling.163.com代表了DNS邮件管理员的地址,用.代替@

serial:定义这个区域文件的版本号,为整数,每次更改加1,这样的话bind可以确定这个文件的更改时间

refresh:从服务器检查主服务器应等待的时间默认秒为单位

retry:重新尝试应等待的时间,发生在主服务器不能使用时

expire:主从无法通信,区域信息保存时间

minimum:上面第一行$TTL值没有设置时,默认最小值为3小时

注意:如果域数据文件中记录没有以“.”结尾,那么系统将自动加上域名城,如果某条记录名称为空或者制表符,那么BIND也会直接使用上一条记录的名称



提示:代码块部分可以左右滑动查看噢


为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。



推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

如何在RedHat6上使用Bind搭建DNS服务_配置文件_20

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操


举报

相关推荐

0 条评论