BindWeb - Bind智能DNS管理系统介绍
2019-05-08
演示网站:
demo/demo
2018-11-27
修改部署架构,取消网络共享存储设备,在每台BIND服务器启用NFS4并仅向BindWeb共享/var/named。
2017-11-05
交流或购买请发邮件或加QQ群
MAIL: hahp AT qq.com

--------------------------------
在公司的运营中,DNS很重要,不仅名称解析需要DNS,一些重要的服务,比如负载均衡、HTTP 虚拟主机也会用到它。
ISC Bind DNS软件是DNS服务器领域事实上的标准、久经生产环境考验、功能全面(支持基于视图的智能DNS解析、支持动态修改记录)、性能强、运行稳定,短时间内难以被其它DNS服务器软件取代。
Bind的缺点也很明显:配置复杂、手工管理具有危险性,一旦写错格式就会造成 DNS 服务瘫痪。为了解决这个问题,我用Python Django开发了一套Bind DNS Web管理工具。
1. 系统特点:
- 支持 View 视图(为不同地址的用户提供不同地址的解析)
 - 支持 DNS 集群(可创建主、从服务器,自动同步)
 - 采用 Bind 原生方式,不使用 dlz 数据库模式(确保高性能和稳定性)
 - 动态修改 DNS 记录、无需 reload Bind 服务
 - WEB 管理服务器与 DNS 服务器分离
 - UI 屏幕自适应,便于电脑、平板、手机同时操作
 
关于第3点,根据 dlz 的测试,dlz 方式的吞吐量要比 Bind 原生方式差 20到30倍,因此我采用了 Bind 原生方式。
附:dlz 与 bind 性能测试数据
http://bind-dlz.sourceforge.net/perf_tests.html

2. 功能实现方式:
不采用 dlz 数据库模式给系统设计和开发带来一定的难度。我采用下述方式实现相关功能:
- 视图管理:文件操作 + rndc
 - 域管理:rndc
 - 记录管理:dnspython 动态更新
 

3. 效果图








小屏幕(手机)适配:

BindWeb - Bind智能DNS管理系统介绍的更多相关文章
- [系统开发] Python 实现的 Bind 智能 DNS Web 管理系统
		
在公司的运营中,DNS还是很重要的,不仅名称解析需要DNS,一些重要的服务,比如负载均衡.HTTP 虚拟主机也会用到它.Bind 手工管理方式有一定的危险性,一旦写错格式就会造成 DNS 服务瘫痪. ...
 - bind智能DNS + bindUI管理系统
		
bind UI 管理系统 https://github.com/cucker0/BindUI # bind安装 cd /usr/local/src wget http://ftp.isc.org/is ...
 - bind智能DNS + bindUI管理系统(postgresql + bind dlz)
		
# 软件环境: * Centos 7.6 * bind-9.14.1.tar.gz * postgresql 11 * python 3.7 * django 2.2.1 QPS:单节点1590 qp ...
 - Bind+DLZ构建企业智能DNS/DNS
		
Bind+DLZ构建企业智能DNS 目录:一.简介二.服务规划三.安装BIND及基本环境四.配置Bind-View-DLZ-MYSQL五.添加相关记录并进行测试六.配置从DNS七.补充 一.简介: ...
 - lvs+keepalived+bind实现负载均衡高可用智能dns【转】
		
转:https://www.cnblogs.com/mikeluwen/p/7068356.html 整体架构: 1.IP地址规划: Dns1:172.28.0.54 Dns2:172.28.0.55 ...
 - lvs+keepalived+bind实现负载均衡高可用智能dns
		
整体架构: 1.IP地址规划: Dns1:172.28.0.54 Dns2:172.28.0.55 Dr服务器主:172.28.0.57 Dr服务器从:172.28.0.67 Vip:172.28.0 ...
 - 使用BIND安装智能DNS服务器(三)---添加view和acl配置
		
智能DNS的配置主要修改named.conf文件,利用view和acl来实现. acl文件内容,这里只列出一部分,具体详细的可以参考这个网址 纯真IP库,给出了十分详细的IP地址,下载安装后,打开软件 ...
 - Bind+DLZ+MySQL智能DNS的正向解析和反向解析实现方法
		
使用文本配置文件的配置方式结合bind的最新的acl和view特性来实现智能DNS想必很多人已经很熟悉了,使用MySQL数据库来存放zone文件的方式可能也不少.对于两者都熟悉的,实现 Bind+DL ...
 - DNS(bind)添加A、CNAME、MX、PTR记录、智能DNS(ACL)
		
1.添加一条A记录(记得更改serial): vim /var/named/chroot/etc/lnh.com.zone 重启一下: rndc reload 查看从服务器: 测试结果: master ...
 
随机推荐
- mysql视图创建
			
create or replace view partner_v as select a.id,vendorname,address,nation,contactperson,tel1,tel2,jy ...
 - 微信小程序模板消息后端代码
			
利用spring 事件发送模板消息 1.定义事件 import com.ruoyi.project.salerauth.domain.TemplateMessage; import org.sprin ...
 - js-点击tab按钮,同一页面显示不同的内容
			
效果: html: JS: css: .tabs-two{ .two{ display: inline-block; font-size:14px; height: 17px; font-weight ...
 - js  复杂研究
			
function test_001() { var t =0; return t || out_str("t未定义"), //1 // 执行1句;在执行2句; t||null // ...
 - HOG行人目标检测
			
行人检测是自动驾驶中重要的内容,对于驾驶安全具有重要意义. HOG特征提取: (1)灰度化处理 (2)Gamma变换和梯度计算 (3)Cell划分 (4)Cell组成block,归一化处理 (5)bl ...
 - C# walls
			
在学习C#的阶段中,我们一点一点的往前爬, 此代码需要添加selenium ,和 获取 引用. using Ivony.Html.Parser; using Ivony.Html; using Ope ...
 - 京东面试题:Java中 ++i 的操作是线程安全的么?为什么?如何使其线程安全呢?
			
你真的了解volatile关键字吗?http://blog.csdn.net/FansUnion/article/details/79495080 面试题:为什么最后两行没有运行?http://blo ...
 - 密度聚类 DBSCAN
			
刘建平:DBSCAN密度聚类算法 https://www.cnblogs.com/pinard/p/6208966.html API 的说明: https://www.jianshu.com/p/b0 ...
 - SQL server   从创建数据库到查询数据的简单操作
			
目录. 创建数据库 创建表 插入数据 查询 1.创建数据库 --创建数据库 create database db_Product go --使用数据库use db_Productgo 2.创建表 -- ...
 - springMVC的常用注解有哪些?
			
1.@Controller @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象.分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否 ...