镜像下载、域名解析、时间同步请点击 阿里巴巴开源镜像站

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的更多相关文章

  1. centos7 部署dns服务器

    =============================================== 2017/12/6_第2次修改                       ccb_warlock 20 ...

  2. 【Docker】 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二)

    系列目录: [Docker] CentOS7 安装 Docker 及其使用方法 ( 一 ) [Docker] 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二) [D ...

  3. [原]CentOS7部署osm2pgsql

    转载请注明原作者(think8848)和出处(http://think8848.cnblogs.com) 部署Postgresql和部署PostGis请参考前两篇文章 本文主要参考GitHub上osm ...

  4. centos7 部署ssserver

    centos7 部署shadowsocks服务端 为什么要选centos7? 以后centos7 肯定是主流,在不重要的环境还是尽量使用新系统吧 centos7 的坑 默认可能会有firewall 或 ...

  5. centos7 部署 docker compose

    =============================================== 2019/4/10_第1次修改                       ccb_warlock == ...

  6. centos7 部署 docker ce

    =============================================== 2019/4/9_第1次修改                       ccb_warlock === ...

  7. centos7 部署 open-falcon 0.2.0

    =============================================== 2019/4/29_第3次修改                       ccb_warlock 更新 ...

  8. centos7 部署 docker、shipyard

    =============================================== 2019/4/9_第3次修改                       ccb_warlock 更新说 ...

  9. centos7 部署 docker swarm

    =============================================== 2019/4/9_第3次修改                       ccb_warlock 更新说 ...

随机推荐

  1. js金额转中文大写

    基础参数: var AIW_number = {0:'零', 1:'壹', 2:'贰', 3:'叁', 4:'肆', 5:'伍', 6:'陆', 7:'柒', 8:'捌', 9:'玖'} var AI ...

  2. MySQL表单查询

    一.表单查询的语法 select 字段1.字段2....from 表名 where MySQL备份

  3. 【故障公告】k8s 开船记:增加控制舱(control-plane)造成的翻船

    春节期间我们更换了 kubernetes 生产集群,旧集群的 kubernetes 版本是 1.17.0,新集群版本是 1.23.3,新集群上部署了 dapr,最近准备将更多独立部署的服务器部署到 k ...

  4. TensorFlow优化器浅析

    本文基于tensorflow-v1.15分支,简单分析下TensorFlow中的优化器. optimizer = tf.train.GradientDescentOptimizer(learning_ ...

  5. Latex公式导出word,Latex转换MathML使用POI导出公式可编辑的Word文件

    背景 之前在 使用spire.doc导出支持编辑Latex公式的标准格式word 博客中写过,使用spire.doc来生成word,不得不说spire.doc的api操作起来还是比较方便,但是使用的过 ...

  6. 使用java程序完成大量文件目录拷贝工作

    java程序完成目录拷贝工作 背景描述:我目录有140多个,每个目录里面都有一个src目录.我现在想要所有的src目录移动到同一个目录中. package com.util.cp; import ja ...

  7. Java IO模型:BIO、NIO、AIO

    Java IO模型:BIO.NIO.AIO 本来是打算直接学习网络框架Netty的,但是先补充了一下自己对Java 几种IO模型的学习和理解.分别是 BIO.NIO.AIO三种IO模型. IO模型的基 ...

  8. pytest(13)-多线程、多进程执行用例

    有些项目的测试用例较多,测试用例时需要分布式执行,缩短运行时间. pytest框架中提供可用于分布式执行测试用例的插件:pytest-parallel.pytest-xdist,接下来我们来学习这两个 ...

  9. PostgreSQL VACUUM 之深入浅出 (二)

    AUTOVACUUM AUTOVACUUM 简介 PostgreSQL 提供了 AUTOVACUUM 的机制. autovacuum 不仅会自动进行 VACUUM,也会自动进行 ANALYZE,以分析 ...

  10. css文字超出指定行数显示省略号

    display: -webkit-box; overflow: hidden; word-break: break-all; /* break-all(允许在单词内换行.) */ text-overf ...