CentOS7部署Bind
镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站
1.简介
DNS(Domain Name System),域名系统,因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。DNS服务器的作用就是就好比生活中的电话簿、114查号台一样,为各种网络程序找到对应目标主机的IP地址或对应的主机域名
2.功能
每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。
3.主从部署
主服务端(访问外网)
安装DNS服务所需要的软件包
yum -y install bind bind-chroot bind-util bind-libs
备注:
bind 提供了域名服务的主要程序及相关文件
bind-utils 提供了对DNS服务器的测试工具程序(如nslookup、dig等)
bind-chroot 为bind提供一个伪装的根目录以增强安全性(将“/var/named/chroot/”文件夹作为BIND的根目录)
cat /etc/named.conf
options {
listen-on port 53 { any; }; #使用53端口监听,默认监听的是127.0.0.1,这里修改为any(或者直接修改为服务端的ip地址)
listen-on-v6 port 53 { ::1; }; #监听ipv6的IP地址选项
directory "/var/named"; #DNS的根目录,由于安装了bind-chroot的所致,因此服务的实际工作目录为/var/named/chroot/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; }; #允许查询的主机,默认为localhost,这里修改为any
recursion yes; #可以递归查询
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging { #named服务的日志文件信息
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN { #根(.)域的配置及信息(也可以通过其它上级域名转发功能来配置缓存域名服务器,可以去了解下)
type hint;
file "named.ca";
};
zone "test.com" IN { #指定区名。正向解析
type master; #服务器类别,master为主域名
file "test.com.zone"; #正向解析区域文件名wangshibo.com_zone,在/var/named目录下创建
allow-transfer {192.168.1.253;}; #指定从(辅助)域名服务器IP。即DNS从服务器的ip是192.168.1.253
};
zone "1.168.192.in-addr.arpa" IN { #域名对应的ip地址网段为192.168.1.0,此处必须按照相 。反向解析 同的格式写
type master;
file "192.168.1.zone"; #反向解析文件名192.168.1.zone
allow-transfer {192.168.1.23;};
};
正向解析
cat /var/named/test.com.zone
$TTL1D
@ IN SOA ns1.test.com. mail.test.com. (
2021121401 #主DNS的此解析文件没改动一次,都要修改一次这个值,然后重启naned或rndc reload重启,从DNS就会自动同步过去
1D
1H
1W
3H )
@ IN NS ns1.test.com. #主域名的域名地址。NS是域名服务器
ns1.test.com. IN A 192.168.1.254 #主域名的ip地址
@ IN NS ns2.test.com. #从域名的域名地址。NS是域名服务器
ns2.test.com. IN A 192.168.1.253 #从域名的ip地址
@ IN MX 10 mail.test.com. #邮件服务器的域名地址
mail.test.com. IN A 192.168.1.252
www.test.com. IN A 192.168.1.100
cc.test.com. IN CNAME ns1.test.com.
反向解析
cat /var/named/192.168.1.zone
$TTL 1D
@ IN SOA ns1.test.com. mail.test.com. (
2021121401 #主DNS的此解析文件没改动一次,都要修改一次这个值,然后重启naned或rndc reload重启,从DNS就会自动同步过去
1D
1H
1W
3H )
@ IN NS ns1.test.com.
@ IN NS ns2.test.com.
254 IN PTR ns1.test.com.
253 IN PTR ns2.test.com.
@ IN MX 10 mail.test.com.
252 IN PTR mail.test.com.
200 IN PTR www.test.com.
/etc/init.d/named start
客户端
cat /etc/resolv.conf
nameserver 192.168.1.254
dig @192.168.1.254 www.baidu.com
从服务端(访问外网)
安装DNS服务所需要的软件包
yum -y install bind bind-chroot bind-util bind-libs
cat /etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
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;
forwarders { 8.8.8.8; };
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
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";
};
zone "test.com" IN {
type slave;
file "test.com.zone";
masters {192.168.1.254;};
};
zone "1.168.192.in-addr.arpa" IN {
type slave;
file "192.168.1.zone";
masters {192.168.1.254;};
};
/etc/init.d/named start
dig @192.168.1.253 www.baidu.com
备注
最后查看/var/log/messages日志的内容,确认DNS主从是否启动正常,是否实现了同步。
本文转自:
https://blog.51cto.com/zzzhao/4799064
CentOS7部署Bind的更多相关文章
- centos7 部署dns服务器
=============================================== 2017/12/6_第2次修改 ccb_warlock 20 ...
- 【Docker】 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二)
系列目录: [Docker] CentOS7 安装 Docker 及其使用方法 ( 一 ) [Docker] 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二) [D ...
- [原]CentOS7部署osm2pgsql
转载请注明原作者(think8848)和出处(http://think8848.cnblogs.com) 部署Postgresql和部署PostGis请参考前两篇文章 本文主要参考GitHub上osm ...
- centos7 部署ssserver
centos7 部署shadowsocks服务端 为什么要选centos7? 以后centos7 肯定是主流,在不重要的环境还是尽量使用新系统吧 centos7 的坑 默认可能会有firewall 或 ...
- centos7 部署 docker compose
=============================================== 2019/4/10_第1次修改 ccb_warlock == ...
- centos7 部署 docker ce
=============================================== 2019/4/9_第1次修改 ccb_warlock === ...
- centos7 部署 open-falcon 0.2.0
=============================================== 2019/4/29_第3次修改 ccb_warlock 更新 ...
- centos7 部署 docker、shipyard
=============================================== 2019/4/9_第3次修改 ccb_warlock 更新说 ...
- centos7 部署 docker swarm
=============================================== 2019/4/9_第3次修改 ccb_warlock 更新说 ...
随机推荐
- Solution -「ARC 104D」Multiset Mean
\(\mathcal{Description}\) Link. 读题时间≈想题时间,草.( 给定 \(N,K,M\),对于每个 \(x\in[1,N]\) 的整数 \(x\),统计多重集 ...
- head 插件 Content-Type header [application/x-www-form-urlencoded] is not supported
{ "error": "Content-Type header [application/x-www-form-urlencoded] is not supported& ...
- Redis 学习-上
一.Redis 概述 1.1.Redis 定义 Redis (Remote Dictionary Server):远程字典服务 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化 ...
- 【axios三部曲】一、使用axios
axios作为一个基于promise的网络请求库,它同时支持浏览器和node环境,是我们开发中常用的一个库 它的一些特性: 从浏览器发出XMLHttpRequests 从node.js发出http ...
- python-通过configparser模块读取后缀为 .ini 的配置文件信息
前言 一般为了方便会将路径,连接信息等写到配置文件(通常会将这些信息写到yaml,ini....配置文件)中,configparser模块读取后缀为 .ini 的配置文件信息 配置文件格式 #存在 c ...
- Django框架路由分发-名称空间
目录 一:路由分发 1.路由分发简介 2.总路由分发配置 3.总路由终极配置(不需要导应用路由,直接点应用即可) 4.子路由配置 二:名称空间 1.名称空间应用场景 3.解决方式二>>&g ...
- can_has_stdio?
得到一个用±<>这样符号组成的五角星,结合题目stdio,估计是c语言编译后的文件 查到BrianFuck语言,找个在线编译器或者找到编译码(c++)得到flag 在线编译网站 brain ...
- 三大数据库 sequence 之华山论剑 (中篇)
sequence 用法四 AUTO INCREMENT 通过 DEFAULT 还是需要手动创建 sequence.有没有更简单的用法呢? 当然,就是通过 AUTO INCREMENT 方式,自动创建 ...
- 【C# 线程】线程池 epoll和IOCP之比较
总结:IOCP :我的打印文件放在店里面排队,轮到我打印了,店长帮我打印一下,打印好了通知我来拿 Epoll :我的打印文件放在店里面排队,轮到我叫我一下,我自己来打印. 直入正题:Epoll 是L ...
- C# init用法
init是什么意思? init就 modreq([System.Runtime]System.Runtime.CompilerServices.IsExternalInit) 类型的缩写 modreq ...