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

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. kali中安装arpspoof 报错

    情境今天在使用arpspoof这个命令的时候,提示没有命令找不到,此时就想着安装一下没想到,碰上kali源不支持的问题  解决所以,此时需要做的就是安装阿里云或者其他镜像  步骤1. vim /etc ...

  2. CSS多种方式实现元素水平垂直居中

    html结构: <div class="center">确定宽高水平垂直居中</div> <div class="center2" ...

  3. nginx实现后端tomcat的负载均衡调度

    一.编译安装nginx 请跳转查阅:编译安装nginx 二.tomcat的二进制安装 请跳转查阅:二进制安装tomcat 三.配置nginx代理 # cat /apps/nginx/conf/ngin ...

  4. Java两个整数相除保留n位小数

    方式1:被除数转double后,除以除数,结果是一个double类型的数,将double结果按要求保留n位小数即可. 保留n位小数的写法 int a = 10; int b = 3; double r ...

  5. SQL server 查询当前数据库所有表的行数

    SELECT OBJECT_NAME(ii.id) TableName ,rows FROM sysindexes ii INNER JOIN sysobjects oo ON ( oo.id = i ...

  6. find+grep+正则表达式

    目录 find+grep+正则表达式 1.find 2.grep 3.正则表达式 find+grep+正则表达式 1.find 根据文件的名称或者属性查找文件. # 自己在 /root/adc目录下长 ...

  7. 6、Linux基础--文件类型、属性信息、创建用户与用户组

    笔记 1.晨考 1.解析映射文件 /etc/hosts 2.磁盘挂载文件 /etc/fstab 3.设置开机自启动脚本的步骤 1.修改/etc/rc.local 2.设置可执行权限 chmod +x ...

  8. 在这个插件帮助下,终于用上免费的Https协议外链的图床了

    前天,强哥发了一篇推文,讲述了应该如何免费且快速的生成自己的博客网站: 期间也有提到一点就是我们在写博客的时候,因为使用的是Markdown格式的文件,而如果想要​Markdown格式的文件在图片上传 ...

  9. IDA FLIRT使用

    IDA FLIRT/FLAIR   FLIRT是IDA提供的一种函数识别技术,即库文件快速识别与鉴定技术(Fast Library Identification and Recognition Tec ...

  10. python的format

    python的format 就是一个参数传递+格式化的过程 参数传递 1.位置传递,默认 fmt = "{} {}" fmt.format("hello",&q ...