BIND的进阶二:视图,日志,转发,子域的授权
实验分为4部分组成:
1:DNS的转发 2:DNS日志 3:子域的授权
4:智能DNS的简单配置根据网段来分配不同的ip地址
一:DNS的转发: 转发方式有两种:only (直接把客户端请求的内容通通的发送给转发主机,自己做任何事情) first (先转发,要是没有自己再去解析)
vim /etc/named.conf \\\\ 在从服务做转发,转发可以定义在全局或者自己定义的区域
options {
directory "/var/named";
forward first; \\转发的方式,先转发给192.168.50.128
forwarders {192.168.50.128; }; \\要是请求的内容没有对方也没有的话,再自己一层一层的迭代
};
zone "." IN {
type hint;
file "named.ca";
};
zone "iccso.com" IN {
type slave;
file "slaves/iccso.com.zone";
masters {192.168.50.128; };
allow-transfer {none; };
};
zone "50.168.192.in-addr.arpa" IN {
type slave;
file "slaves/192.168.50.zone";
masters {192.168.50.128; };
allow-transfer {none; };
};
二:DNS的日志
在讲述 logging 语句的语法之前,先要熟悉一些常用术语术语 含义
channel(通道) 日志输出方式,如:syslog、文本文件、标准错误输出或 /dev/null
category(类别) 日志的消息类别,如:查询消息或动态更新消息等
module(模块) 产生消息的来源模块名称
facility(设备) syslog 设备名
severity(严重性) 消息的严重性等级
channel:定义日志的格式有2种方式
一种是由系统的syslog来帮忙继续 保存文件为/var/log/message
一种是自定义的file来记录
[print-time boolean;] // 是否在消息中添加时间前缀,仅用于 file 日志
[print-severity boolean;] // 是否在消息中添加消息严重性前缀
[print-category boolean;] // 是否在消息中添加消息类别名前缀
category :规定了日志的来源有是什么,还有保存的文件名字叫什么
client 处理客户端请求。
config 配置文件分析和处理。
database 同BIND内部数据库相关的消息,用来存储区数据和缓存记录。
default 匹配所有未明确指定通道的类别。
dnssec 处理 DNSSEC 签名的响应。
general 包括所有未明确分类的 BIND 消息。
lame-servers 发现错误授权,即残缺服务器。
network 网络操作。
notify 区更新通知消息。
queries 查询日志
resolver 名字解析,包括对来自解析器的递归查询信息。
security 批准/非批准的请求。
update 动态更新事件。
xfer-in 从远程名字服务器到本地名字服务器的区传送。
xfer-out 从本地名字服务器到远程名字服务器的区传送。
severity 语句用于指定消息的严重性等级, log_severity 的取值为(按照严重性递减的顺序):
critical
error
warning
notice
info
debug [ level ]
dynamic 是一个特殊的值,它匹配服务器当前的调试级别
配置主配置文件:
vim /etc/named.conf
options {
directory "/var/named";
notify yes;
querylog yes; \\要是单独只有这个选项的话会把日志自动记录在 /var/log/message
};
logging {
9 channel querylog {
10 file "/var/log/named/query.log" versions 5 size 10M;
severity dynamic;
12 print-time yes;
print-severity yes;};
category queries {querylog;};
};
17
zone "." IN {
type hint;
file "named.ca";
};
zone "iccso.com" IN {
type master;
file "iccso.com.zone";
allow-transfer {192.168.50.228; };
};
zone "50.168.192.in-addr.arpa" IN {
type master;
file "192.168.50.zone";
allow-transfer {192.168.50.228; };
};
[root@localhost ~]# dig -t A mail.iccso.com ; <<>> DiG 9.7.-P2-RedHat-9.7.-.P2.el6 <<>> -t A mail.iccso.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:
;; flags: qr aa rd ra; QUERY: , ANSWER: , AUTHORITY: , ADDITIONAL: ;; QUESTION SECTION:
;mail.iccso.com. IN A ;; ANSWER SECTION:
mail.iccso.com. IN A 192.168.50.129 ;; AUTHORITY SECTION:
iccso.com. IN NS ns1.iccso.com.
iccso.com. IN NS ns2.iccso.com. ;; ADDITIONAL SECTION:
ns1.iccso.com. IN A 192.168.50.128
ns2.iccso.com. IN A 192.168.50.228 ;; Query time: msec
;; SERVER: 192.168.50.128#(192.168.50.128)
;; WHEN: Wed Dec ::
;; MSG SIZE rcvd: [root@localhost ~]# tail /var/log/named/query.log
-Dec- ::54.917 info: client 192.168.50.128#: query: 128.50.168.192.in-addr.arpa IN PTR + (192.168.50.128)
-Dec- ::53.055 info: client 192.168.50.128#: query: 128.50.168.192.in-addr.arpa IN PTR + (192.168.50.128)
-Dec- ::56.917 info: client 192.168.50.128#: query: mail.iccso.com IN A + (192.168.50.128)
[root@localhost ~]#
三、子域的授权
所谓的子域就是在我们申请域名下再建立一个域名 申请:iccso.com. 我们在申请的域名下:再弄出两个子域名 fin.iccso.com. mark.iccso.com.
分两个部分完成;1:先在iccso.com的数据文件 建立两条NS记录和A记录
2:在另外一台主机安装BIND并配置对应的文件
vim /var/named/iccso.com $TTL
@ IN SOA ns1 admin (
;serial
2H ;refresh
5M ;retry
1W ;expire
3H ) ;minimum
IN NS ns1.iccso.com.
fin IN NS ns1.fin.iccso.com. \\添加NS和A记录
mark IN NS ns1.fin.iccso.com.
IN NS ns2.iccso.com.
IN MX mail.iccso.com.
ns1.fin IN A 192.168.50.3
ns1.mark IN A 192.168.50.4
ns1 IN A 192.168.50.128
ns2 IN A 192.168.50.228
mail IN A 192.168.50.129
www IN A 192.168.50.128
~
vim /etc/named.conf
options {
directory "/var/named";
notify yes;
querylog yes;
allow-query {any; }; \\是否允许查询,默认是开始的,在{}里面我们可以自己定义,可以允许可以查询的网段
recursion yes; \\eg:allow-query {172.16.10.0/24; };
}; \\recursion 是否允许给客户端递归,定义和allow-query一样
logging {
channel querylog {
file "/var/log/named/query.log" versions size 10M;
severity dynamic;
print-time yes;
print-severity yes;};
category queries {querylog;};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "iccso.com" IN {
type master;
file "iccso.com.zone";
allow-transfer {192.168.50.228; };
};
在子域配置如下:子域ip:192.168.50.3
vim /var/named.conf
options {
directory "/var/named";
forward first; //设置转发 这样我们就可以解析iccso.com域里面的数据了
forwarders {192.168.50.128; };
};
zone "." IN {
type hint;
file "named.ca";
};
zone "fin.iccso.com" IN {
type master;
file "fin.iccso.com.zone";
};
vim /var/named/fin.iccso.com $TTL
@ IN SOA ns1 admin (
;serial
2H ;refresh
5M ;retry
1W ;expire
3H ) ;minimum
IN NS ns1.fin.iccso.com.
ns1 IN A 192.168.50.3
www IN A 192.168.50.3
~
1 [root@localhost redhat]# dig -t NS iccso.com \\\在我们进行测试的时候可能在日志可以看见查询请求,但是就是没有显示出来
\\有可能是防火墙挡住 关闭防火墙:server iptables stop
; <<>> DiG 9.7.-P2-RedHat-9.7.-.P2.el6 <<>> -t NS iccso.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:
;; flags: qr rd ra; QUERY: , ANSWER: , AUTHORITY: , ADDITIONAL: ;; QUESTION SECTION:
;iccso.com. IN NS ;; ANSWER SECTION:
iccso.com. IN NS ns1.iccso.com. ;; ADDITIONAL SECTION:
ns1.iccso.com. IN A 192.168.50.128 ;; Query time: msec
;; SERVER: 192.168.50.3#(192.168.50.3)
;; WHEN: Wed Dec ::
;; MSG SIZE rcvd: [root@localhost redhat]# dig -t A www.fin.iccso.com ; <<>> DiG 9.7.-P2-RedHat-9.7.-.P2.el6 <<>> -t A www.fin.iccso.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:
;; flags: qr aa rd ra; QUERY: , ANSWER: , AUTHORITY: , ADDITIONAL: ;; QUESTION SECTION:
;www.fin.iccso.com. IN A ;; ANSWER SECTION:
www.fin.iccso.com. IN A 192.168.50.3 ;; AUTHORITY SECTION:
fin.iccso.com. IN NS ns1.fin.iccso.com. ;; ADDITIONAL SECTION:
ns1.fin.iccso.com. IN A 192.168.50.3 ;; Query time: msec
;; SERVER: 192.168.50.3#(192.168.50.3)
;; WHEN: Wed Dec ::
;; MSG SIZE rcvd:
四 、智能的DNS-->eg:我们在访问淘宝的时候,淘宝的服务会自动的判断我们对应的区域,而分配一个离我们最近的服务ip地址,不同的ip地址
指向同一个域名主机:www.taobao.com
我们引入了视 1 vim /etc/named.conf 3 options {
directory "/var/named";
querylog yes;
allow-query {any; };
recursion yes;
}; View "192.168.50-segment" {
match-clients {192.168.50.0/24; }; \\在192.168.50网络时是接入时自动给对应的数据文件
zone "." IN {
type hint;
file "named.ca";
}; zone "iccso.com" IN {
type master;
file "50.iccso.com.zone"; \\数据文件位置
allow-transfer {192.168.50.228
};
}; view "192.168.156-segment" {
match-clients {192.168.156.0/; };
zone "." IN {
type hint;
file "named.ca";
}; zone "iccso.com" IN {
type master;
file "iccso.com.zone";
allow-transfer {192.168.50.228; };
};
};
vim /var/named/.iccso.com.zone $TTL
@ IN SOA ns1 admin (
;serial
2H ;refresh
5M ;retry
1W ;expire
3H ) ;minimum
IN NS ns1.iccso.com.
fin IN NS ns1.fin.iccso.com.
mark IN NS ns1.fin.iccso.com.
IN NS ns2.iccso.com.
IN MX mail.iccso.com.
ns1.fin IN A 192.168.50.3
ns1.mark IN A 192.168.50.4
ns1 IN A 192.168.50.128
ns2 IN A 192.168.50.228
mail IN A 192.168.50.129
www IN A 192.168.50.128
~
~
~
vim /var/named/iccso.com.zone $TTL
@ IN SOA ns1 admin (
;serial
2H ;refresh
5M ;retry
1W ;expire
3H ) ;minimum
IN NS ns1.iccso.com.
fin IN NS ns1.fin.iccso.com.
mark IN NS ns1.fin.iccso.com.
IN NS ns2.iccso.com.
IN MX mail.iccso.com.
ns1.fin IN A 192.168.50.3
ns1.mark IN A 192.168.50.4
ns1 IN A 192.168.50.128
ns2 IN A 192.168.50.228
mail IN A 192.168.50.129
www IN A 192.168.156.128
~
~
~
BIND的进阶二:视图,日志,转发,子域的授权的更多相关文章
- DNS主从服务,子域授权,view视图,日志系统,压力测试
DNS主从服务,子域授权,view视图,日志系统,压力测试 DNS性能测试工具queryperfDNS查询过程: DNS主从建立: 环境: 主服务器:10.140.165.93 从服务器:10.140 ...
- centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更新 第三十节课
centos DNS服务搭建 DNS原理 使用bind搭建DNS服务器 配置DNS转发 配置主从 安装dig工具 DHCP dhclient 各种域名解析记录 mydns DNS动态更 ...
- Oracle数据库入门——物化视图日志结构
物化视图的快速刷新要求基本必须建立物化视图日志,这篇文章简单描述一下物化视图日志中各个字段的含义和用途. 物化视图日志的名称为MLOG$_后面跟基表的名称,如果表名的长度超过20位,则只取前20位,当 ...
- mysql进阶(二十八)MySQL GRANT REVOKE用法
mysql进阶(二十八)MySQL GRANT REVOKE用法 MySQL的权限系统围绕着两个概念: 认证->确定用户是否允许连接数据库服务器: 授权->确定用户是否拥有足够的权限执 ...
- Spark进阶之路-日志服务器的配置
Spark进阶之路-日志服务器的配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果你还在纠结如果配置Spark独立模式(Standalone)集群,可以参考我之前分享的笔记: ...
- MySQL进阶(视图)---py全栈
目录 mysql进阶(视图)---py全栈 一.什么是视图? 二.视图的特性 三.视图的优点 四.使用场合 五.视图基本操作 六.案例 mysql进阶(视图)---py全栈 一.什么是视图? 视图是从 ...
- Oracle案例02——ORA-12034: "SCOTT"."USER_TABLE" 上的实体化视图日志比上次刷新后的内容新
最近同事在交接工作时,发现有几个schedule job没有执行成功,我这边给看了下,其中一个是由于数据库迁移,调用dblink的host主机IP在tnsnames中没有变更导致,还有一个是无法视图的 ...
- SpringSecurity权限管理系统实战—二、日志、接口文档等实现
系列目录 SpringSecurity权限管理系统实战-一.项目简介和开发环境准备 SpringSecurity权限管理系统实战-二.日志.接口文档等实现 SpringSecurity权限管理系统实战 ...
- Oracle数据库入门——如何根据物化视图日志快速刷新物化视图
Oracle物化视图的快速刷新机制是通过物化视图日志完成的.Oracle如何通过一个物化视图日志就可以支持多个物化视图的快速刷新呢,本文简单的描述一下刷新的原理. 首先,看一下物化视图的结构:SQL& ...
随机推荐
- 使用宏命令撤销EXCEL工作表保护
EXCEL工作表编辑资料,设置了工作表保护后,不能对表格进行插入删除操作.如果没有密码,很简单:工具-选项—工作表保护——撤消工作表保护 就可以了.如果忘记密码,如下操作: 1. 打开文件 2. 工具 ...
- Qt qml listview 列表视图控件(下拉刷新、上拉分页、滚动轴)
Qt qml listview下拉刷新和上拉分页主要根据contentY来判断.但要加上顶部下拉指示器.滚动条,并封装成可简单调用的组件,着实花了我不少精力:) [先看效果] [功能] 下拉刷新 ...
- 开源监控利器grafana
前言: 做运维的很重要的基础工作就是监控,之前都是统计数据入库,然后前端js图表插件出图,费时费力,可定制性差 前几天接触到了ELK(logstash, elasticsearch, kibana)这 ...
- spine实现预加载(一)
前言 本文实现了spine动画的预加载,解决在战斗等大量加载spine动画的时候出现卡顿现象. 这里使用和修改三个类,直接修改的源码,当然你也可以继承LuaSkeletonAnimation,自己封装 ...
- sdn
#!/usr/bin/env python #from mininet.cli import CLI #from mininet.link import Link #from mininet.net ...
- Flesch Reading Ease -POJ3371模拟
Flesch Reading Ease Time Limit: 1000MS Memory Limit: 65536K Description Flesch Reading Ease, a reada ...
- Fragment全解析系列(二):正确的使用姿势
作为一个稳定的app,从后台且回到前台,一定会在任何情况都能恢复到离开前的页面,并且保证数据的完整性. 如果你没看过本系列的第一篇,为了方便后面文章的介绍,先规定一个"术语",安卓 ...
- linux开启telnet
windows客户端如果通过cmd窗口连接到远程linux服务器,可以使用telnet: centos系统默认telnet 23端口是关闭的. 服务器本地使用nmap ip地址 -p 23 查看tel ...
- eclipse添加easyExport插件,打开本地文件
下载地址:https://github.com/samsonw/OpenExplorer/downloads 官方:http://sourceforge.net/projects/easystruts ...
- 一看便知_linux安装redis和调试
rpm包下载地址: http://vault.centos.org/6.3/os/x86_64/Packages/1.进入目录,解压文件 # tar -zxvf redis-3 ...