BIND服务企业实例安装配置
防伪码:思而不学则罔,学而不思则殆。
前言:BIND是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain 它是目前世界上使用最为广泛的DNS。
理论知识:
DNS的分类:
主DNS服务器:就是一台存储着原始资料的DNS服务器。
从DNS服务器:使用自动更新方式从主DNS同步数据的DNS服务器。也称为辅助DNS服务器。
缓存服务器:不负责本地解析,采用递归方式转发客户机查询请求,并返回结果给客户机的DNS服务器。
转发器:这台DNS发现非本机负责的查询请求时,不再向根域发起请求,而是直接转发给制定的一台或多台服务器。自身并不缓存查询结果。
DNS的流程:
1)检查DNS服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息。
2)若没有查到,则在数据库中查找,若查到请求的地址或名字,即向客户机发出应答信息。
3)若没有查到,则将请求发给根域DNS服务器,并依序从根域查找顶级域,由顶级查找二级域,二级域查找三级,直到解析到地址或 名字,即向客户机所在网络的DNS服务器发出应答信息,DNS服务器收到应答后先在缓存中存储,然后,将解析结果发给客户机。
4)若没找到,则返回错误信息。
企业环境:
服务器:dell
主服务器:192.168.226.129
从服务器:192.168.226.142
在主从服务器上安装BIND服务包:
一. 配置yum在线yum源,使用yum安装
安装BIND服务包:(主从服务器都必须安装BIND包)
yum install bind-utils bind bind-devel bind-chroot
检查是否安装好:
注意:以上两步都需要在主从服务器上操作。
下面我们来配置BIND主服务器:
二.BIND主服务器配置:
首先安装完毕后,需要修改如下几个配置文件:
vim /etc/named.conf (主配置文件,默认位于/var/named/chroot/etc/目录下。)
配置如下:
options {
version "1.1.1";
listen-on port 53 {any;}; (监听端口)
directory "/var/named/chroot/etc/";(chroot优化根目录,增加安全认证)
pid-file "/var/named/chroot/var/run/named/named.pid";(pid文件位置)
allow-query { any; };(允许谁来连接)
Dump-file "/var/named/chroot/var/log/binddump.db";
Statistics-file "/var/named/chroot/var/log/named_stats";
zone-statistics yes;
memstatistics-file "log/mem_stats";
empty-zones-enable no;
forwarders {202.106.196.115;8.8.8.8; };(当自己无法解析时转发给谁)
};
key "rndc-key" {
algorithm hmac-md5;
secret "Eqw4hClGExUWeDkKBX/pBg==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
logging {
channel warning {
file "/var/named/chroot/var/log/dns_warning" versions 10 size 10m; (没个配置文件最大100M最多10个文件)
severity warning;
print-category yes;
print-severity yes;
print-time yes;
};
channel general_dns {
file "/var/named/chroot/var/log/dns_log" versions 10 size 100m;
severity info;(日志级别)
print-category yes;
print-severity yes;
print-time yes;
};
category default {
warning;
};
category queries {
general_dns;
};
};
include "/var/named/chroot/etc/view.conf";(扩展配置文件,指定功能自定义配置文件)
vim /etc/rndc.key(此文件需要添加)
key "rndc-key" {
algorithm hmac-md5;
secret "Eqw4hClGExUWeDkKBX/pBg==";
};
vim /etc/rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "Eqw4hClGExUWeDkKBX/pBg=="; (注意secret后面的必须和/etc/rndc.key里面一样)
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
以上三个文件,配置完毕后,以后基本不需要做更改。如有更改,修改如下的两个配置文件即可。
vim /var/named/chroot/etc/view.conf (一般情况下主要修改此文件即可)
view "View" {
zone "lnh.com" {
type master;
file "lnh.com.zone";
allow-transfer {
10.255.253.211;
};
notify yes;
also-notify {
10.255.253.211;
};
};
};
vim /var/named/chroot/etc/lnh.com.zone (此文件也经常修改)
$ORIGIN .
$TTL 3600 ; 1 hour
lnh.com IN SOA op.lnh.com. dns.lnh.com. (
2000 ; serial
900 ; refresh (15 minutes)
600 ; retry (10 minutes)
86400 ; expire (1 day)
3600 ; minimum (1 hour)
)
NS op.lnh.com.
$ORIGIN lnh.com.
shanks A 1.2.3.4
op A 1.2.3.4
www A 1.1.2.2 (这一条是我为了做测试自己添加的)
ps:如果想要测试主从,可以在此处根据自己公司需求添加。
一下是如上文件的一些简单解释:
编辑权限并设置为开机自启动:
cd /var && chown -R named.named named/
/etc/init.d/named start
chkconfig named on
Ps:注意权限问题。
解析测试:
输入命令:dig @127.0.0.1 shanks.lnh.com
看到如上测试的截图报告,说明测试成功。
好了,到现在为止BIND主服务器先告一段落,下面我们来配置BIND从服务器。
三.BIND从服务器配置操作如下:
从服务器也需要配置一下四个文件:
vim /etc/named.conf
vim /etc/rndc.key
vim /etc/rndc.conf
vim /var/named/chroot/etc/view.conf
vim /var/named/chroot/etc/lnh.com.zone
(以上配置文件添加请参考BIND主服务器的配置文件)
编辑权限并设置为开机自启动:
cd /var && chown -R named.named named/
/etc/init.d/named start
chkconfig named on
启动成功后,使用netstat -anput | grep named 查看端口号
到目前为止我们从服务器已经搭建完成了,
下面我们要做BIND主从服务并且测试,需要修改如下配置文件:
四.BIND做主从服务
BIND主服务器修改位置:
vim /var/named/chroot/etc/view.conf
view "View" {
zone "lnh.com" {
type master;
file "lnh.com.zone";
allow-transfer {
192.168.226.142; (修改为从服务器的ip地址)
};
notify yes;
also-notify {
192.168.226.142; (修改为从服务器的ip地址)
};
};
};
BIND从服务器配置需修改文件如下:
vim /var/named/chroot/etc/view.conf
view "SlaveView" {
zone "lnh.com" {
type slave;
masters {192.168.226.129; }; (修改为主服务器ip地址)
file "slave.lnh.com.zone";
};
};
重启服务:(主从都需重启服务)
Ps:注意iptables防火墙和selinux是否开启。
在从服务器上查看:
cat /var/named/chroot/etc/slave.lnh.com.zone
如有此配置文件则成功。
到此为止我们的BIND主从服务已经配置完毕了。
BIND主从服务完成后,我们可以nsklookup解析看一下:
五.添加A CNAME MX PTR..
添加A记录:
编辑master节点,/var/named/chroot/etc/lnh.com.zone,添加节点
a A 10.1.1.11 (根据自己真实物理环境添加,此处仅为测试)
测试A节点:
nslookup a.lnh.com 192.168.226.129
Ps:每次添加完后,需要修改/var/named/chroot/etc/lnh.com.zone内的
(2003 ; serial)这个值需要加一。
添加CNAME记录:
编辑master节点,/var/named/chroot/etc/lnh.com.zone,添加节点
mx MX 5 192.168.122.101
测试MX节点:
host mx.lnh.com 192.168.226.129
添加PTR记录:
编辑master节点,/var/named/chroot/etc/view.conf,添加节点
zone "168.192.in-addr.arpa" {
type master;
file "168.192.zone";
allow-transfer {
192.168.226.142; (修改为从服务器ip)
};
notify yes;
also-notify {
192.168.226.142; (修改ip地址)
};
};
编辑/var/named/chroot/etc/168.192.zone,(需要添加此文件)
添加内容如下:
$TTL 3600 ; 1 hour
@ IN SOA op.lnh.com. dns.lnh.com. (
2004 ; serial
900 ; refresh (15 minutes)
600 ; retry (10 minutes)
86400 ; expire (1 day)
3600 ; minimum (1 hour)
)
NS op.lnh.com.
102.122 IN PTR a.lnh.com.
给168.192.zone 文件权限:
chown named.named 168.192.zone
在slave上此文件中添加如下配置:
vim /var/named/chroot/etc/view.conf
zone "168.192.in-addr.arpa" {
type slave;
masters {192.168.226.129; };
file "slave.168.192.zone";
};
测试PTR节点:
host 192.168.122.102 192.168.226.129
今天的企业配置BIND服务就到这里了,下次为大家简单讲解通过DNS实现服务的负载均衡和配置DNS视图(智能DNS)。
如有问题,请大神们提出,大家互相学习、互相交流
本文出自 “卢春宁” 博客,请务必保留此出处http://luchunning.blog.51cto.com/12092606/1897435
原文地址:http://luchunning.blog.51cto.com/12092606/1897435