CentOS7下BIND配置主从服务器和缓存服务器
系统环境:CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64
软件版本:bind-chroot-9.9.4-51.el7_4.1.x86_64
服务器规划:1台主服务器、1台从服务器,主从服务器都作为DNS缓存服务器,启用DNS转发
主DNS服务器:10.20.20.2
从DNS服务器:10.20.20.3
一、安装与主配置文件
1、安装bind-chroot
CentOS7不同于6,只需要安装bind-chroot,就会自动安装主程序包bind和库bind-libs。同时安装bind-utils(包含host和dig程序的包)
# yum install bind-chroot bind-utils
# systemctl start named-chroot.service
# systemctl enable named-chroot.service
CentOS7下安装了bind-chroot之后,若要使用named-chroot.service,则需要关闭named.service。两者只能运行一个。
2、主配置文件named.conf
acl trusted {
192.168.10.0/; #定义一个acl列表
};
options {
listen-on port { 10.20.20.2; }; #指定监听端口和ip,可以指定多个ip
listen-on-v6 port { none; };
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 { trusted; }; #允许查询的客户端列表
allow-recursion { trusted; }; #运行通过本服务器递归查询的客户端列表
forward first; #转发模式,first选项代表首先查询forwarders中的DNS服务器,如果查询失败,则从根服务器开始递归查询(需要定义zone "."区域),only选项代表只查询forwarders中的服务器,如果查询失败也不会继续从根服务器进行递归查询
forwarders { #转发DNS查询的权威DNS服务器列表
202.103.24.68;
202.103.44.150;
223.5.5.5;
223.6.6.6;
114.114.114.114;
8.8.8.8;
};
recursion yes; #允许递归查询
dnssec-enable no; #DNSSEC相关选项,国内的DNS服务器基本没有配置DNSSEC,因此关闭
dnssec-validation no;
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
#正向解析
zone "st.local" IN { #本地区域配置
type master; #主服务器
file "st.local.zone"; #区域解析文件,位于CHROOT-PATH/var/named/
allow-update { none; };
allow-transfer { 10.20.20.3; }; #允许同步区域的从服务器列表
notify yes; #定时通知从服务器刷新区域信息,时间间隔为区域解析文件中的refresh值
};
#反向解析
zone "20.20.20.in-addr.arpa" IN {
type master;
file "10.20.20.zone";
allow-update { none; };
allow-transfer { 10.20.20.3; };
notify yes;
};
这里直接在named.conf里面写zone的配置,也可以单独写到其他文件里,用include包含进来。zone里定义的区域解析文件位于CHROOT-PATH/var/named中,新建或cp的时候注意zone文件的权限,应定义为named用户或归属named组。
二、区域解析文件
1、正向解析
$TTL 1D
$ORIGIN st.local.
@ IN SOA ns1.st.local. admin.st.local. (
; serial
1D ; refresh #服务器刷新时间
1H ; retry #重新刷新的时间
1W ; expire #宣告失效的时间
3H ) ; minimum #缓存保留时间
NS ns1.st.local.
NS ns2.st.local.
IN MX mail.st.local.
ns1 IN A 10.20.20.2
ns2 IN A 10.20.20.3
mail IN A 10.20.20.2
如果修改区域解析文件后不能同步至从服务器,则需要更改serial值大于当前值。从服务器在同步主服务器时,会比对serial值,如果发现大于当前值,则立即同步。
2、反向解析
$TTL 1D
$ORIGIN 20.20..in-addr.arpa.
@ IN SOA ns1.st.local. admin.st.local. (
; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns1.st.local.
NS ns2.st.local.
IN MX mail.st.local.
IN PTR ns1.st.local.
IN PTR ns2.st.local.
IN PTR mail.st.local.
三、测试配置文件
# named-checkconf -z
zone st.local/IN: loaded serial
zone 20.20..in-addr.arpa/IN: loaded serial
# named-checkzone st.local var/named/st.local.zone
zone st.local/IN: loaded serial
OK
# named-checkzone 20.20..in-addr.arpa var/named/10.20..zone
zone 20.20..in-addr.arpa/IN: 20.20..in-addr.arpa/MX 'mail.st.local' (out of zone) has no addresses records (A or AAAA)
zone 20.20..in-addr.arpa/IN: loaded serial
OK
四、rndc管理工具
配置完成后,可直接使用rndc flush;rndc reload刷新并重载配置
rndc可用选项:
reload 重新装入配置文件和区域
reload zone [class [view]] 重新装入单个区域
refresh zone [class [view]] 安排区域的立即维护
reconfig 仅重新装入配置文件和新区域
stats 将服务器统计信息写入统计文件中
querylog 切换查询日志
dumpdb 将高速缓存转储到转储文件 (named_dump.db)
stop 将暂挂更新保存到主文件并停止服务器
halt 停止服务器,但不保存暂挂更新
trace 将调试级别增加一级
trace level 更改调试级别
notrace 将调试级别设置为 0
flush 刷新服务器的所有高速缓存
flush [view] 为某一视图刷新服务器的高速缓存
status 显示服务器的状态
五、防火墙
# iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
# iptables -I INPUT -m state --state NEW -m udp -p udp --dport -j ACCEPT
# iptables-save >/etc/sysconfig/iptables
六、从服务器配置
1、安装bind-chroot
# yum install bind-chroot bind-utils
# systemctl start named-chroot.service
# systemctl enable named-chroot.service
2、主配置文件
acl trusted {
192.168.10.0/;
};
options {
listen-on port { 10.20.20.3; };
listen-on-v6 port { none; };
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 { trusted; };
allow-recursion { trusted; };
forward first;
forwarders {
202.103.24.68;
202.103.44.150;
223.5.5.5;
223.6.6.6;
114.114.114.114;
8.8.8.8;
};
recursion yes;
dnssec-enable no;
dnssec-validation no;
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
#正向解析
zone "st.local" IN {
type slave; #类型为slave
masters { 10.20.20.2; }; #主服务器ip
file "slaves/st.local.zone";
};
#反向解析
zone "20.20.10.in-addr.arpa" IN {
type slave;
masters { 10.20.20.2; };
file "slaves/10.20.20.zone";
};
注意/var/named/slaves文件夹的权限
3、重载配置
分别重载主从服务器配置。
# rndc flush;rndc reload
4、防火墙
# iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
# iptables -I INPUT -m state --state NEW -m udp -p udp --dport -j ACCEPT
# iptables-save >/etc/sysconfig/iptables
参考
http://www.361way.com/bind-dnscache/4802.html
http://www.361way.com/bind-dns/4807.html
https://www.server-world.info/en/note?os=CentOS_7&p=dns
CentOS7下BIND配置主从服务器和缓存服务器的更多相关文章
- Centos7下安装配置Redsocks
Redsocks是一个开源的网络程序,代码依赖开源的libevent网络库.Redsocks允许你将所有TCP连接重定向到SOCKS或HTTPS代理,比如Shadowsocks(Centos7下安装配 ...
- Windows下安装配置免安装MySQL5.7服务器
Windows下安装配置免安装MySQL5.7服务器 1.下载.解压安装包 从MySQL官方网站上下载mysql-5.7.19-winx64.zip 下载完成后,把安装包解压到D:\DevSoft ...
- CentOS7下Mysql5.7主从数据库配置
本文配置主从使用的操作系统是Centos7,数据库版本是mysql5.7. 准备好两台安装有mysql的机器(mysql安装教程链接) 主数据库配置 每个从数据库会使用一个MySQL账号来连接主数据库 ...
- 【Linux】DNS服务-BIND从服务器、缓存服务器及转发服务器配置(三)
环境 操作系统:CentOS 6.5 DNS软件:bind(安装参照:[Linux]DNS服务-BIND基础配置(二)) BIND从服务器 从服务器就是在bind的主配置文件中添加从域example. ...
- Centos7 下代理配置
对于提供服务的服务器来说,一般都配置在内网环境中,而在内网下公司处于安全的考虑,一般不开放外网的访问权限.这时如果想要访问外网,一般需要配置公司提供的代理服务器再进行使用.下面介绍几种配置代理的方法: ...
- Centos7下mysql的主从配置
最近,有朋友业务并发量比较大,让我帮他配置个主从,来缓解数据库的压力.下面就是我配置的,有需要的朋友可以借鉴下. 首先,我得到2台服务器: 172.18.2.142(主) 172.18.2.141(从 ...
- CentOS7+mysql5.6配置主从
一.安装环境 操作系统:CentOS-7-x86_64-DVD-1611.iso数据库版本:mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz数据库地址: 192.1 ...
- Centos7下安装配置elasticsearch 6.3.1
1)下载 Elasticsearch 6.3.1 地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.1 ...
- centos7下安装配置redis3.0.4
安装redis 1.进入redis官网(redis.io)下载redis稳定版安装包,目前稳定版本为3.0.4 2.在linux /usr文件夹下新建redis文件夹,拷贝安装包redis-3.0. ...
随机推荐
- ElasticSearch 在3节点集群的启动
ElasticSearch的启动分前台和后台启动 先介绍前台启动: 先在master节点上启动 可以看到已经启动了 同时在slave1.slave2节点上也启动 可以看到都已经启动了! 在浏览器分别打 ...
- 1_Utilities__bandwidthTest
使用三种模式(QUICK_MODE,RANGE_MODE,SHMOO_MODE),测试三种拷贝情况下的显存带宽(HostToDevice,DeviceToHost,DeviceToDevice) ▶ ...
- CSS镂空图片处理
来源:http://www.zhangxinxu.com/wordpress/?p=5267,分享收藏 使用镂空图片,通过CSS改变颜色,达到图片切换的效果,可以同过背景图,然后改变背景色,从而达到图 ...
- 可视化库-seaborn-布局风格设置(第五天)
1. sns.set_style() 进行风格设置, sns.set() 进行设置的重置, 五种风格 # 1.darkgrid# 2.whitegrid# 3.dark# 4.white# 5 tic ...
- MM-库存表
常用的库存价值表有: 典型T-code实际上是从不同table读数据: MMBE: MARD-LABST(Valuated stock withunrestricted use) MB52: MAR ...
- storm集群相关资料
1. Storm集群组件 Storm集群中包含两类节点:主控节点(Master Node)和工作节点(Work Node).其分别对应的角色如下: 主控节点(Master Node)上运行一个被称为N ...
- Boost.Coroutine2:学习使用Coroutine(协程)
function(函数)routine(例程)coroutine (协程) 函数,例程以及协程都是指一系列的操作的集合. 函数(有返回值)以及例程(没有返回值)也被称作subroutine(子例程), ...
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 代码分层
视频地址:https://www.cctalk.com/v/15114923889408 文章 在前面几节中,我们已经实现了项目中的几个常见操作:启动服务器.路由中间件.Get 和 Post 形式的请 ...
- Hibernate 的三种状态详解
hibernate的对象有3种状态,分别为:瞬时态(Transient).持久态(Persistent).脱管态(Detached). 处于持久态的对象也称为PO(Persistence Object ...
- jremoting的功能扩展点
1 InvokeFilter,实现此接口 可以在consumer端 与provider端的调用过程中拦截住请求调用. 已经实现的InvokeFilter包括 RetryInvokeFilter:实现 ...