dns bind配置教程
实验环境
三台centos7虚拟机,一台ip为192.168.52.130,一台为192.168.52.131,最后一台为192.168.52.132
安装bind
使用yum -y insall bind bind-libs bind-utils来安装bind
使用rpm -ql bind来查询bind的生成了哪些工具,比如dig等等
备份文件
之后的文件,比如/etc/named.conf等等,都是安装bind的之后有的,建议在实验前,使用mv 文件 文件.backup备份一下,等学习完后,在去看看默认文件是怎么样的
另外bind的sample配置文件在/usr/share/doc/bind-*/sample下,可以进行参考
配置bind
单台dns服务器
操作包含3个文件
/etc/named.conf # 整个dns服务器配置
/etc/named.rfc1912.zones # 上面的文件通过include命令导入此文件,bind的sample里面注释写着这个文件包含的zone应该包含所有localhost名称和地址的定义,如RFC1912中所建议的那样,并且不应该泄漏给别的nameserver(这只是一个规范,不是强制要求)
/var/named/test.com.zone # 具体某个zone的配置,后面详细说明
使用单台虚拟机ip为192.168.52.130
配置文件
/etc/named.conf
options{
directory "/var/named"; # 指定之后单独zone文件的路径
};
# 所有这个文件都有这样的配置,好像是root域的配置
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones"; # 符合rfc要求的一类zone
include "/etc/named.root.key"; # 暂不清楚,应该和加密相关
/etc/named.rfc1912.zones
zone "test.com" IN {
type master; # 主从设置,如果是从(slave),还要设置字段masters
file "test.com.zone";
};
/var/named/test.com.zone
该文件和前面2个不一样,使用;为注释,前面2个可以#,//或/**/
$TTL 600 ;全局ttl设定
; 配置soa,必须要有一个,且要在开头,@表示当前域,也就是test.com,IN表示internet,soa为类型,test.com.暂不确定,好像是该域的ns的名称,root.qq.com为管理者邮箱,第一个.表示@,因为和当前域@重复,所以写成.
@ IN SOA test.com. root.qq.com(
1811201955 ; 序列号,在主从中有作用(serial)
1H ; 刷新时间(refresh)
5M ; 重试时间(retry)
1W ; 超时时间(expire)
10M) ; 否定答案缓存时间(minimum),以上中文来源于网络,英文来源于文档注释,单位不确定什么意思,比如那个w
; 配置ns服务,至少要有一个,且必须配套要有ns的a记录
IN NS ns1
ns1 IN A 192.168.52.130
; 上面的写法可以这样,补全后缀,注意要加.,选择一个就好
; IN NS ns1.test.com.
; ns1 IN A 192.168.52.130
; @表示当前域,即test.com,第二行名称为空,表示同上,即还有一个test.com,ip为2.2.2.2
@ IN A 1.1.1.1
IN A 2.2.2.2
; 表示www.test.com的ip为3.3.3.3
www IN A 3.3.3.3
; 通配符,都指向255.255.255.255
* IN A 255.255.255.255
使用指令进行检测语法错对
named-checkconf检测conf文件,自然也会检查include进去的文件
named-checkzone "test.com" /var/named/test.com.zone检测zone文件
启动dns
service named start启动服务,其实就是systemctl start named.service
service named stop关闭服务
rndc reload用于在不关闭服务的情况下,更新配置,但是这个配置在配置文件有错误的情况下,也是显示更新成功,但是不会生效,使用要注意(todo)
检查
使用host -t a www.test.com 192.168.52.130来测试,如果没错,按照设置会输出1.1.1.1和2.2.2.2
两台服务器测试主从同步设置
主从服务器以zone为粒度,也就是这里这里的主从是相对于zone来说的,一个主服务器在这个zone里是主,在另一个就可能是从了
就只操作test.com为例,进行操作,
test.com的主服务器IP为192.168.52.130
test.com的从服务器ip为192.168.52.131
操作的文件
主:
修改/var/named/test.com.zone
从:
新增/etc/named.conf
新增/etc/named.rfc1912.zones
/var/named/slaves/test.com.zone(这个文件不用新建,bind在同步过程中,自动生成)
配置文件
主服务器/var/named/test.com.zone
$TTL 600
@ IN SOA test.com. root.qq.com(
1811201955
1H
5M
1W
10M)
IN NS ns1
;新增ns记录,注意新增的名称为空,即为默认的test.com.
IN NS nsSlave
;新增对应的a记录
nsSlave IN NS 192.168.52.131
ns1 IN A 192.168.52.130
@ IN A 1.1.1.1
IN A 2.2.2.2
www IN A 3.3.3.3
* IN A 255.255.255.255
从服务器/etc/named.conf
options{
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
从服务器/etc/named.rfc1912.zones
zone "test.com" IN {
type slave; # 这里为slave
masters {192.168.52.130;}; # 这里注意加s和;
masterfile-format text; # 默认生成的zone文件是乱码的,加上这个设置,输出就不会乱码了
file "slaves/test.com.zone"; # 同步文件的路径
};
启动服务
在检查完配置文件的准确性后,分别启动主和备服务器,可以看到从服务器在/var/named/下生成了zone文件
使用host -t a www.test.com 196.128.52.131,如果没错误,在主从服务器下都会输出1.1.1.1和2.2.2.2
防火墙
使用centos7默认防火墙开启,只有22端口是开放的,如果在非本机测试,要开启端口53,这里我直接关闭了防火墙,使用systemctl stop firewalld
测试增量传送
修改主服务器的/var/named/test.com.zone文件,来进行增量修改
$TTL 600
@ IN SOA test.com. root.qq.com(
1811201955
1H
5M
1W
10M)
IN NS ns1
;新增ns记录,注意新增的名称为空,即为默认的test.com.
IN NS nsSlave
;新增对应的a记录
nsSlave IN NS 192.168.52.131
ns1 IN A 192.168.52.130
@ IN A 1.1.1.1
IN A 2.2.2.2
www IN A 3.3.3.3
; 增量传送
; 新增一个,放在通配符前面,同时修改序列号为1811202031,使用rndc reload在不用关闭服务器服务下来更新配置
hello IN A 4.4.4.4
* IN A 255.255.255.255
在新增域名和更新序列号后,更新配置,可以看到从服务器的配置文件也会很快更新
测试
再次使用之前的命令host -t a hello.test.com 196.128.52.130和host -t a hello.test.com 196.128.52.131进行测试,应该都会输出一样的4.4.4.4
两台服务器进行子域授权
将一台dns服务器的子域授权给另一台dns服务器管理
以sub.test.com为例
父dns服务器为192.168.52.130
子dns服务器为192.168.52.132
配置文件
修改父dns的/var/named/sub.test.com.zone
新增子dns的/etc/named.conf
新增子dns的/etc/named.rfc1912.zones
新增子dns的/var/named/sub.test.com.zone
配置文件
父dns的/var/named/test.com.zone
$TTL 600
@ IN SOA test.com. root.qq.com(
1811201955
1H
5M
1W
10M)
IN NS ns1
IN NS nsSlave
; 添加新的ns记录,第一个代表要授权的子域
sub IN NS nsSub
; 为ns记录设置a记录,指向子dns服务器
nsSub IN A 192.168.52.132
nsSlave IN NS 192.168.52.131
ns1 IN A 192.168.52.130
@ IN A 1.1.1.1
IN A 2.2.2.2
www IN A 3.3.3.3
hello IN A 4.4.4.4
* IN A 255.255.255.255
子dns的/etc/named.conf
options{
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
子dns的/etc/named.rfc1912.zones
zone "sub.test.com" IN {
type master;
file "sub.test.com.zone";
};
子dns的/var/named/sub.test.com.zone
$TTL 600
@ IN SOA sub.test.com. root.qq.com(
1811201031
1H
5M
1W
10M)
IN NS ns1
ns1 IN A 192.168.52.130
@ IN A 11.11.11.11
hello IN A 22.22.22.22
测试
在检查后配置文件没有错误后,对父dns输入rndc reload重新装载配置,对子dns输入service named start启动服务
host -t A sub.test.com 192.168.52.130和host -t A sub.test.com 192.168.52.132进行测试,如果配置没有出错,输出11.11.11.11
参考文档
配置:http://blog.51cto.com/anyisalin/1753638
配置:http://cn.linux.vbird.org/linux_server/0350dns_3.php
记录类型:http://www.178linux.com/67851
待完成
1.view的使用
2.主从的原理,是主提醒,还是从去取
3.文档的一些阅读,比如序列号的范围,比如序列号自动策略
dns bind配置教程的更多相关文章
- DNS BIND配置 配置基本缓存服务器 DNS正向解析 DNS反向解析
一. 缓存服务器配置 1.DNS:BIND Berkeley Internet Name Domain 版本bind97: RPM服务器端包的名字 安装bind-libs bind ...
- BIND简易教程(3):DNSSec配置
目录:BIND简易教程(1):安装及基本配置BIND简易教程(2):BIND视图配置BIND简易教程(3):DNSSec配置 (本篇) DNSSec,有个半英半中的名字叫DNS安全扩展.说的好听一点, ...
- BIND简易教程(2):BIND视图配置
目录:BIND简易教程(1):安装及基本配置BIND简易教程(2):BIND视图配置(本篇)BIND简易教程(3):DNSSec配置 上文书说到,我们把aaa.apple.tree解析到192.168 ...
- BIND简易教程(1):安装及基本配置
首先,为什么说是简易教程呢?因为BIND的功能实在太多,全写出来的话要连载好久,我觉得我没有那么多精力去写:而我了解的仅仅是有限的一点点,不敢造次.百度上的文章也是一抓一大把呐!所以,教点基本使用方法 ...
- DNS(bind)服务器安装和配置
一.前言 DNS 域名系统(英文:Domain Name System,缩写:DNS)是因特网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网.DNS使用TCP ...
- centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课
centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更 ...
- 基于Bind实现的DNS正反向解析及主从DNS的配置
一.什么是DNS? 1.1 简单的理解,Domain Name System,是互联网一项核心的服务,他作为一个桥梁可以将域名和IP地址相互因素的一个分布式数据库,能够使人更加方便的访问互联网,而不用 ...
- DNS和Bind配置指南
/////////////////////////////目录//////////////////////////////////////一.DNS原理相关二.使用bind搭建最简单的DNS服务器三. ...
- VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程
VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程 在VMware Workstation虚拟机下面,Linux虚机要上网,一般是桥接模式,但我自己的电脑上网的环境 ...
随机推荐
- Netty 心跳服务之 IdleStateHandler 源码分析
前言:Netty 提供的心跳介绍 Netty 作为一个网络框架,提供了诸多功能,比如我们之前说的编解码,Netty 准备很多现成的编解码器,同时,Netty 还为我们准备了网络中,非常重要的一个服务- ...
- c#中Socket网络通信的入门
请访问 http://balabiu.com/?p=16 后续本文更新将在这里: 将设计服务器端异步接受客户端连接和客户端消息.
- PowerDesigner Constraint name uniqueness 错误
使用PowerDesigner生成数据库脚本时报 Constraint name uniqueness 错误: 双击每行错误,发现外键引用的名字有重复的: 惯性去网上找解决办法,找到的主要是两个方法: ...
- 关于centos 防火墙设置(nginx无法访问)
参考:http://blog.csdn.net/rosten/article/details/25053523 或者:http://blog.csdn.net/zhang197093/article/ ...
- 用MSBuild和Jenkins搭建持续集成环境(1)[收集]
你或其他人刚刚写完了一段代码,提交到项目的版本仓库里面.但等一下,如果新提交的代码把构建搞坏了怎么办?万一出现编译错误,或者有的测试失败了,或者代码不符合质量标准所要求的底限,你该怎么办? 最不靠谱的 ...
- Linux常用基本命令( ls, alias)
ls命令 作用:列举目录文件信息( list directory content ) 格式:ls [option] [file] 1,命令不跟任何选项与目录,表示列举当前目录的文件信息 ghostwu ...
- POJ2533(KB12-N LIS)
Longest Ordered Subsequence Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 50827 Acc ...
- 01-MySql的前戏
[转]01-MySql的前戏 MySql的前戏 在学习Mysql之前,我们先来想一下一开始做的登录注册案例,当时我们把用户的信息保存到一个文件中: #用户名 |密码root|123321 alex|1 ...
- 说说gogoTester-nodejs 的实现
一直在使用goagent,所以对于查找google可用ip有了很大的兴趣,在github上面发现有一个项目是gogoTester,是用来查找google ip的,于是突发奇想自己用nodejs写了一个 ...
- 【读书笔记】iOS-网络-保护网络传输
一,验证服务器通信. 二,HTTP认证. 手机银行应用有两种认证模式:标准验证与快速验证.标准验证只是提示用户输入用户名与密码,而快速验证则让用户注册设备,然后使用PIN进行验证,每次验证时无需用户名 ...