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 ...
随机推荐
- javaIO--数据流之IO流与字节流
0.IO流 0.1.IO(Input Output)流的概念 Java中将不同设备之间的数据传输抽象为“流”:Stream设备指的是:磁盘上的文件,网络连接,另一个主机等等 按流向分:输入流,输出流: ...
- Codeforces Round #568 (Div. 2) A.Ropewalkers
链接: https://codeforces.com/contest/1185/problem/A 题意: Polycarp decided to relax on his weekend and v ...
- UIScrollView的简单使用
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds]; //将scrollView添加到当前 ...
- py从入门到实践 第四章
4.1 遍立列表 ~= shell 数组————————————————————————————————————————————thrink = ['link','path','pwd']for i ...
- 30. ClustrixDB 分布式架构/Rebalancer
Rebalancer是一个自动化系统,用于维护集群中数据的健康分布.通过修改数据的分布和位置来响应“不健康”集群是Rebalancer的工作.Rebalancer是一个在线进程,它影响对集群的更改,对 ...
- 访问SpringBoot中的Swagger的方法
1.首先启动springboot+swagger的工程. 2.在application.yml里面查看服务的端口号,比如这里是9510. 3.访问URL:http://localhost:9510/t ...
- 解决eclipse部署maven项目无法导入lib的问题
eclipse版本为2018-12(4.10.0) 1.默认tomcat的server配置 改成: 2.项目部署 按上面的配置,项目会部署到你配置的本地tomcat的webapps目录下. 部署了项目 ...
- 30 分钟理解 CORB 是什么
写在前面 前些日子在调试 bug 的时候,偶然发现这么一个警告: Cross-Origin Read Blocking (CORB) blocked cross-origin response htt ...
- html acronym标签 语法
html acronym标签 语法 作用:定义首字母缩略词. 说明:如果首字母缩略词是一个单词,则可以被读出来,例如 NATO, NASA, ASAP, GUI.通过对只取首字母缩略词进行标记,您就能 ...
- Vue(核心思想)
1.Es6语法普及 let和var的区别: var:定义变量时,在全局范围内都有效;所以在变量没有声明之前就能使用,值为undefined, 称为变量提升; let:声明的变量一定要在声明后使用,而且 ...