BIND主从服务器搭建

            DNS域名解析服务 (搭建主,从域名服务器)

BIND域名服务器基础
1 搭建主域名服务器
2 搭建 缓存服务器
3 搭建从域名服务器

BIND简介
BIND不是唯一能够提供域名服务的DNS服务程序,但是它是应用最广泛的,BIND可以运行大多数Linux/UNIX主机中。

官方地址 https://www.isc.org/
安装前的准备
第一步网关指向自己DNS 指向自己
更改ip地址方法
cd /etc/sysconfig/network-scripts/
ip a
查看自己的网卡 eth* (1或者2不定)
ls 列出目录下的文件会有一个
ifcfg-eth*这样的文件
将其改为和查看的网卡一致
mv ifcfg-eth* ifcfg-eth*
然后vim ifcfg-eth*
DEVICE=eth* 网卡名称 要改与ip a查到的一样
ONBOOT=yes
IPADDR=192.168.1.20 //IP地址
NEIMASK=255.255.255.0 // 子网掩码
GATEWAY=192.168.1.20 // 默认网关
DNS1=192.168.1.20 // DNS
第二更改主机名 为了查询方便
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=accp.com //主机名
NTPSERVERARGS=iburst
~
第三查看/etc/resolv.conf
# Generated by NetworkManager
search accp.com com
nameserver 192.168.1.20 //域名服务器是不是自己
不是就去看ifcfg-eth*的DNS1选项
第四 修改hosts文件 /etc/hosts
最后一行添加
192.168.1.20 ns1.accp.com ns1

1-1安装Bind软件
在RHEL 6.5 系统中,系统光盘自带了BIND服务的安装文件
BIND相关的软件包
bind-9.8.2-0.17.rc1.el6_4.6.x86_64
bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64
bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64
bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64
一般系统默认装了bind-utils bind-libs。我们只要安装bind bind-chroot。就好了不过保险起见应该先查看一下
rpm -qa | grep “^bind”这个命令是查看
各个软件包的相关作用如下
Bind : 提供了域名服务的主要程序及相关文件
Bind-utils : 提供了对DNS服务器的测试工具程序 如nslookup等
Bind-libs :提供了bind bind-utils需要使用的库函数
Bind-chroot : 为BIND服务提供一个伪装目录的根目录 (将/var/named/chroot/文件夹作为BIND的根目录) 以提高安全性
开始安装
yum -y install bind
yum –y install bind-chroot
安装完成后会自动增加一个名为 named的系统服务
查看系统服务状态
service named status
1-2 BIND服务配置文件
使用BIND构建的域名服务时 主要涉及两种类型的配置文件
主配置文件:用于设置named服务的全局选项,注册区域以及访问控制等各种运行参数等。
区域配置文件:用于存放某个DNS区域的地址解析记录(正向或反向记录)
1-2-1主配置文件
主配置文件通常在/etc/named.conf文件中
分为全局配置部分 options{} 和 区域配置部分zone{}(一定;收尾)
options {
listen-on port 53 { 192.168.1.20; }; //监听的地址和端口
listen-on-v6 port 53 { ::1; };
directory “/var/named”; //区域文件默认存放位置
dump-file “/var/named/data/cache_dump.db”; //1 这三个是指定缓存数据库文件,状态统计文件的位置的
statistics-file “/var/named/data/named_stats.txt”; //2
memstatistics-file “/var/named/data/named_mem_stats.txt”; //3
allow-query { 192.168.1.0/24; 192.168.1.0/24; //允许使用本DNS的网段 多个网段以空格隔开
forwarders ( 202.10.0.20;) //这个手动添加代表启动缓存服务器
//缓存服务器:为了提高效率,不像根区域查询,而是来自客户端的请求转发给国内的运营商的DNS服务器 查询结果返回服务器
};

正向区域配置
zone “accp.com” IN {
type master; //类型为主区域
file “accp.com.zone”; //区域数据文件为”accp.com.zone”
allow-transfer {192.168.1.2;}; //允许从服务器下载正向区域数据
};
反向区域配置
zone “1.168.192.in-addr.arpa” IN {
type master;
file “192.168.1.arpa”;
allow-transfer {192.168.1.2;};
};
不需要反向解析就去掉 zone “……..in-addr.arpa”
没有从主机就去掉 allow-transfer
不需要缓存服务器就去掉forwarders
1-3 区域数据文件 在/var/named
cd /var/named
cp named.localhost accp.com.zone(必须与区域配置中的区域数据文件名字保持一致)
区域数据的模板
vim accp.com.zone (正向区域数据文件)

$TTL 1D
@ SOA accp.com. admin.accp.com. (
2017072901 ; serial //一般会写当天的时间
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS ns1.accp.com.
IN MX 10 mail.accp.com.
ns1 IN A 192.168.1.20
www IN A 192.168.1.1
mail IN A 192.168.1.100

cp named.localhost 192.168.1.arpa(主文件配置了,反向区域配置就可以创建 没有就不用)
反向的区域配置文件
$TTL 1D
@ SOA accp.com. admin.accp.com. (
2017072901 ; serial 一般会写当天的时间
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS ns1.accp.com.
1 IN PTR www.accp.com.
20 IN PTR ns1.accp.com.
100 IN PTR mail.accp.com
然后就是检测两个文件的正确性了
检测区域文件 一定要进入 /var/named里执行
进入/var/named
named-checkzone accp.com accp.com.zone
. 搜索域 正向的配置文件
named-checkzone accp.com 192.168.1.arpa
结果为ok就代表没问题 有报错请更具报错信息修改
检测主配置文件
Named-checkconf -z /etc/named.conf
出现 “…file not found” 表示找不到对应文件
Error 代表主配置文件有错误
2 更改权限
chown named:named /var/named //1,2没有更改的话 named服务会启动失败
chown named:named /etc/named.conf //2
chown named:named /var/named/accp.com.zone //3 3 或者 4没有更改的话 所代表的区域将无法解析
chown named:named /var/named/192.168.1.arpa//4
重新启动主机
Init 6
重启完成后
开始 启动named服务
service named start
解析域名
[root@accp 桌面]# nslookup ns1.accp.com
Server: 192.168.1.20
Address: 192.168.1.20#53

Name: ns1.accp.com
Address: 192.168.1.20
完成
从域名服务器的配置
在从服务器上的网关指向主服务器
IP地址配置里面添加 DNS2=自己的ip地址
主服务器也添加DNS2=指向从服务器
主服务器区域配置项里添加allow-transfer {从服务器的ip地址;};
在从服务器中全局配置逻辑与主服务器一样
区域配置有变化
zone “accp.com” IN {
type slave; //类型为备份
masters { 主服务器的地址;}; //指定主服务器的IP地址
file “slaves/accp.com.zone”; //下载的区域数据文件保存到/var/named/slaves 文件名尽量与主一致”accp.com.zone”
};
修改权限
因为从服务器的区域数据文件是从主服务器哪里下载的所以权限与主服务器的一样
主配置文件的权限要修改
Named目录也需要修改
init 6重新启动
启动完成后
启动named服务
查看 /var/named/slaves/是不是有新文件且与主的区域数据文件一模一样

排错思路
1确定主从互通
2 安装前的准备要到位
3 两大文件的检测确定无异常
4 权限的更改

你可能感兴趣的:(基础)