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. idea如何在终端使用git并解决终端中文乱码

    idea使用git终端 在idea设置中 找到Settings-Tools-Terminal-Shell path,替换为git安装目录下的bin/bash.exe 解决中文乱码 在git安装目录下找 ...

  2. python -m参数

    把模块当做脚本运行,标准库和第三方库都可以 会把当前路径添加到sys.path中

  3. newInstance方法

    1.new 是java中的关键字,是创建一个新对象的关键字.用new这个关键字的话,是调用new指令创建一个对象,然后调用构造方法来初始化这个对象,如果反编译class的话,会看到一个Object o ...

  4. C++基本程序设计——面向对象程序设计课堂笔记

    主要对老师上课的ppt的笔记整理 C++基本程序设计 1.c++的输入输出 使用cin,cout和流运算符,开头须有 #include<iostream> (1)cin语句:cin> ...

  5. Python如何格式化输出

    目录 Python中的格式化输出 1.旧格式化 2.新格式format( ) 函数 Python中的格式化输出 格式化输出就是将字符串中的某些内容替换掉再输出就是格式化输出 旧格式化输出常用的有%d( ...

  6. UDP端口检查告警SHELL脚本(企业微信版机器人版)

    脚本准备 0Batch_Check.sh 1port_check.sh 2wechat_bot_alert.sh CheckList CheckList #支持大/小写 10.1.1.5 Udp 53 ...

  7. 100_第一个vue-cli项目

    目录 什么是vue-cli 主要的功能 需要的环境 Node.js : http://nodejs.cn/download/ Git : https://git-scm.com/downloads 安 ...

  8. C++的重载操作符(operator)介绍

    原文转载至:https://blog.csdn.net/liitdar/article/details/80654324 https://blog.csdn.net/liitdar/article/d ...

  9. [bzoj3670]动物园

    首先计算出s数组,s表示可以重复的前缀等于后缀的个数,显然有s[i]=s[next[i]]+1,因为有且仅有next的next满足这个条件. 然后直接暴力枚举所有next,直到它小于i的一半,这个时间 ...

  10. [bzoj5511]大中锋的游乐场

    记可乐为1,汉堡为-1,即求过程中绝对值不超过k的最短路. 然后发现k的范围仅为10,也就是说过程中合法的值仅有21种,因此跑一遍dij或spfa(嘿嘿嘿)即可. 1 #include<bits ...