1. 简介

1.1. 实现的功能:DNS解析以及智能转发

1.2. 官方文档:

1.3. 基础概念:http://www.cnblogs.com/demonzk/p/6494968.html

2. 环境:

2.1. OS:Red Hat Enterprise Linux Server release 7.4 (Maipo)

2.2. Kernel:3.10.0-693.el7.x86_64

2.3. Bind:9.9.4-51.el7_4.1

3. 安装:

3.1. 操作系统:(略)

3.2. 配置yum:(略)

3.2. 安装bind

yum install bind

3.3. 在主节点172.16.0.81上修改配置文件/etc/named.conf,监听端口打开,不必要的选项注释掉或者写no

options {
listen-on port 53 { 172.16.0.81; };
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 { localhost; }; /*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion yes; dnssec-enable no;
dnssec-validation no; /* Path to ISC DLV key */
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 {
file "/var/log/named/default.log";
severity dynamic;
};
channel query_logs {
file "/var/log/named/bind.log";
severity info;
print-severity yes;
print-time yes;
print-category yes;
};
}; zone "." IN {
type hint;
file "named.ca";
}; include "/etc/named.rfc1912.zones";
include "/etc/named.root.key"; zone "hccos.cn" IN {
type master;
file "hccos.cn.zone";
allow-transfer { 172.16.0.82; };
notify yes;
also-notify { 172.16.0.82; };
}; zone "0.16.172.in-addr.arpa" IN {
type master;
file "0.16.172.in-addr.arpa.zone";
allow-transfer { 172.16.0.82; };
notify yes;
also-notify { 172.16.0.82; };
};

在主节点上配置正向解析文件/var/named/hccos.cn.zone

$TTL 3600
$ORIGIN hccos.cn.
@ IN SOA hctjosinfra01.hccos.cn. hctjosinfra01.hccos.cn. (
2018010301 ; serial
2H ; refresh
10M ; retry
1W ; expire
1D ; negative answer ttl
)
;ns server
IN NS hctjosinfra01
IN NS hctjosinfra02
;docker+k8s
hctjosinfra01 IN A 172.16.0.81
hctjosinfra02 IN A 172.16.0.82
hctjosetcd01 IN A 172.16.0.83
hctjosetcd02 IN A 172.16.0.84
hctjosetcd03 IN A 172.16.0.85
hctjcephmon01 IN A 172.16.0.86
hctjcephmon02 IN A 172.16.0.87
hctjcephmon03 IN A 172.16.0.88
hctjcephadm01 IN A 172.16.0.89
hctjosk8smaster01 IN A 172.16.0.90
hctjosk8sslave01 IN A 172.16.0.91
hctjosk8sslave02 IN A 172.16.0.92
hctjcephblock01 IN A 172.16.0.93
hctjcephblock02 IN A 172.16.0.94
hctjosk8snode01 IN A 172.16.0.95
hctjosk8snode02 IN A 172.16.0.96
hctjosk8snode03 IN A 172.16.0.97
hctjosk8snode04 IN A 172.16.0.98
;openstack
hctjosmysql01 IN A 172.16.0.25
hctjosmysql02 IN A 172.16.0.26
hctjosmysql03 IN A 172.16.0.27
hctjoscache01 IN A 172.16.0.45
hctjoscache02 IN A 172.16.0.46
hctjoscache03 IN A 172.16.0.47
hctjosdr01 IN A 172.16.0.48
hctjosdr02 IN A 172.16.0.49

在主节点上配置反向解析文件/var/named/0.16.172.in-addr.arpa.zone

$TTL 3600
$ORIGIN 0.16.172.in-addr.arpa.
@ IN SOA hctjosinfra01.hccos.cn. hctjosinfra01.hccos.cn. (
20180103
1H
10M
3D
12H
)
IN NS hctjosinfra01.hccos.cn.
IN NS hctjosinfra02.hccos.cn.
;docker+k8s
81 IN PTR hctjosinfra01.hccos.cn.
82 IN PTR hctjosinfra02.hccos.cn.
83 IN PTR hctjosetcd01.hccos.cn.
84 IN PTR hctjosetcd02.hccos.cn.
85 IN PTR hctjosetcd03.hccos.cn.
86 IN PTR hctjcephmon01.hccos.cn.
87 IN PTR hctjcephmon02.hccos.cn.
88 IN PTR hctjcephmon03.hccos.cn.
89 IN PTR hctjcephadm01.hccos.cn.
90 IN PTR hctjosk8smaster01.hccos.cn.
91 IN PTR hctjosk8sslave01.hccos.cn.
92 IN PTR hctjosk8sslave02.hccos.cn.
93 IN PTR hctjcephblock01.hccos.cn.
94 IN PTR hctjcephblock02.hccos.cn.
95 IN PTR hctjosk8snode01.hccos.cn.
96 IN PTR hctjosk8snode02.hccos.cn.
97 IN PTR hctjosk8snode03.hccos.cn.
98 IN PTR hctjosk8snode04.hccos.cn.
;openstack
25 IN PTR hctjosmysql01.hccos.cn.
26 IN PTR hctjosmysql02.hccos.cn.
27 IN PTR hctjosmysql03.hccos.cn.
45 IN PTR hctjoscache01.hccos.cn.
46 IN PTR hctjoscache02.hccos.cn.
47 IN PTR hctjoscache03.hccos.cn.
48 IN PTR hctjosdr01.hccos.cn.
49 IN PTR hctjosdr02.hccos.cn.

3.4. 在slave节点上配置/etc/named.conf

options {
listen-on port 53 { 172.16.0.82; };
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 { localhost; }; /*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion yes; //dnssec-enable yes;
//dnssec-validation yes; /* Path to ISC DLV key */
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 {
file "/var/log/named/default.log";
severity dynamic;
};
channel query_logs {
file "/var/log/named/bind.log";
severity info;
print-severity yes;
print-time yes;
print-category yes;
}; }; zone "." IN {
type hint;
file "named.ca";
}; include "/etc/named.rfc1912.zones";
include "/etc/named.root.key"; zone "hccos.cn" IN {
type slave;
file "slaves/hccos.cn.zone";
masters { 172.16.0.81; };
}; zone "0.16.172.in-addr.arpa" IN {
type slave;
file "slaves/0.16.172.in-addr.arpa.zone";
masters { 172.16.0.81; };
};

【Linux】【Services】【DNS】使用Bind搭建DNS服务的更多相关文章

  1. centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课

    centos  DNS服务搭建  DNS原理  使用bind搭建DNS服务器 配置DNS转发 配置主从  安装dig工具  DHCP  dhclient  各种域名解析记录  mydns DNS动态更 ...

  2. 使用Bind搭建DNS服务

    DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析: 正向解析:根据主机名(域名)查找对应的IP地址. 反向解析:根据I ...

  3. Bind搭建DNS服务

    DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析与反向解析: 正向解析:根据主机名(域名)查找对应的IP地址. 反向解析:根据I ...

  4. 利用bind搭建dns

    下载bind,我下载的是bind-9.3.1rc1.tar.gz 我下载的文件放在/root目录下 进入目录解压缩 [root@linux root]#tar xfz bind-9.3.1rc1.ta ...

  5. 基于bind搭建DNS主从

    使用bind的主从复制功能可以实现的功能:提供冗余,避免单点故障:均衡负载查询需求,从而提高系统可用性. 一.安装 #bind-chroot 负责DNS安全作用,将bind进程严格限制在特定的目录中 ...

  6. Linux搭建基于BIND的DNS服务器

    Linux搭建基于BIND的DNS服务器   实验目标: 通过本实验掌握基于Linux的DNS服务器搭建. 实验步骤: 1.安装BIND 2.防火墙放通DNS服务 3.编辑BIND的主配置文件 4.编 ...

  7. 使用BIND搭建内部DNS服务

    ​​‌‌​​​‌‌​‌​​‌‌‍​‌​‌‌‌​​‌‌‌‌​‌​‍​‌​​‌​​​‌​​​‌‌​‍​‌ ...

  8. 【Linux】【Services】【DNS】bind基础

    1. 概念 1.1. DNS: Domain Name Service, 应用层协议,占用53/udp, 53/tcp 1.2. tld(顶级域):Top Level Domain 组织域:.com, ...

  9. 《搭建DNS负载均衡服务》RHEL6

    搭建DNS负载均衡环境: 1.至少三台的linux虚拟机,一台主的DNS服务器,1台副的(可以N台),1台测试机. 负载均衡有很多种,apache那样的是为了缓解人们访问网站时给服务器造成太大的压力, ...

随机推荐

  1. RabbitMQ (五):死信队列

    什么是TTL RabbitMQ的TTL全称为Time-To-Live,表示的是消息的有效期.消息如果在队列中一直没有被消费并且存在时间超过了TTL,消息就会变成了"死信" (Dea ...

  2. ES6—数值(Number,Math对象)(复习+学习)

    ES6-数值(Number,Math对象)(复习+学习) 每天一学,今天要学习ES6的关于数的扩展以及复习,然后通过看书,查阅资料,以及webAPI来搞清楚遇到的,没见过的对象方法等等,下面为本次学习 ...

  3. Python--基本数据类型(可变/不可变类型)

    目录 Python--基本数据类型 1.整型 int 2.浮点型 float 3.字符串 str 字符串格式 字符串嵌套 4.列表 list 列表元素的下标位置 索引和切片:字符串,列表常用 5.字典 ...

  4. 菜鸡的Java笔记 api 文档

    package 包的用法    为什么需要 package ?        为了解决类之间的重名问题        为了便于管理类:合适类位于合适的包        package 怎么用?     ...

  5. difflib模块详解

    1.两个字符串对比 import difflib text1=""" test1 #定义字符串 hellow my name is machanwei! difflib ...

  6. C# Pechkin初始化一次后被锁住的问题

    Pechkin.dll可用于pdf的生成,常规用法网上都有介绍:https://www.cnblogs.com/felixnet/p/5143934.html 但是当在一个页面上执行过一次之后,再次就 ...

  7. Devs--开源规则引擎介绍

    Devs Devs是一款轻量级的规则引擎. 开源地址:https://github.com/CrankZ/devs 基础概念 此规则引擎的基础概念有字段.条件.规则等. 其中字段组成条件,条件组成规则 ...

  8. 提升 RTC 音频体验 - 从搞懂硬件开始

    前言 RTC(实时音视频通信)技术的快速发展,助力了直播.短视频等互动娱乐形式的普及:在全球疫情持续蔓延的态势下,云会议需求呈现爆发式增长,进一步推动了 RTC 行业的快速发展.为了给客户提供稳定可靠 ...

  9. 如何理解Casbin的权限控制

    概念: Casbin是什么? Casbin是一个访问控制框架,可以支持多种访问控制模型(如ACL.RBAC.ABAC等) 目的: 我们最终想要实现的效果: 可以控制某一个人/角色(sub)能否对某个资 ...

  10. 从一个简单的Delete删数据场景谈TiDB数据库开发规范的重要性

    故事背景 前段时间上线了一个从Oracle迁移到TiDB的项目,某一天应用端反馈有一个诡异的现象,就是有张小表做全表delete的时候执行比较慢,而且有越来越慢的迹象.这个表每次删除的数据不超过20行 ...