2019-05-08

演示网站:

https://bindw.cdneks.com

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管理系统介绍的更多相关文章

  1. [系统开发] Python 实现的 Bind 智能 DNS Web 管理系统

    在公司的运营中,DNS还是很重要的,不仅名称解析需要DNS,一些重要的服务,比如负载均衡.HTTP 虚拟主机也会用到它.Bind 手工管理方式有一定的危险性,一旦写错格式就会造成 DNS 服务瘫痪. ...

  2. bind智能DNS + bindUI管理系统

    bind UI 管理系统 https://github.com/cucker0/BindUI # bind安装 cd /usr/local/src wget http://ftp.isc.org/is ...

  3. 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 ...

  4. Bind+DLZ构建企业智能DNS/DNS

    Bind+DLZ构建企业智能DNS   目录:一.简介二.服务规划三.安装BIND及基本环境四.配置Bind-View-DLZ-MYSQL五.添加相关记录并进行测试六.配置从DNS七.补充 一.简介: ...

  5. lvs+keepalived+bind实现负载均衡高可用智能dns【转】

    转:https://www.cnblogs.com/mikeluwen/p/7068356.html 整体架构: 1.IP地址规划: Dns1:172.28.0.54 Dns2:172.28.0.55 ...

  6. 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 ...

  7. 使用BIND安装智能DNS服务器(三)---添加view和acl配置

    智能DNS的配置主要修改named.conf文件,利用view和acl来实现. acl文件内容,这里只列出一部分,具体详细的可以参考这个网址 纯真IP库,给出了十分详细的IP地址,下载安装后,打开软件 ...

  8. Bind+DLZ+MySQL智能DNS的正向解析和反向解析实现方法

    使用文本配置文件的配置方式结合bind的最新的acl和view特性来实现智能DNS想必很多人已经很熟悉了,使用MySQL数据库来存放zone文件的方式可能也不少.对于两者都熟悉的,实现 Bind+DL ...

  9. DNS(bind)添加A、CNAME、MX、PTR记录、智能DNS(ACL)

    1.添加一条A记录(记得更改serial): vim /var/named/chroot/etc/lnh.com.zone 重启一下: rndc reload 查看从服务器: 测试结果: master ...

随机推荐

  1. VUE DIV模拟input框的基本处理

    关键代码 <div class="dialog-main" :contenteditable= "editable" v-text="notic ...

  2. print和赋值

    赋值 #可同时(并行)给多个变量赋值 x, y, z = 1, 2, 3 #交换多个变量的值 x, y = y, x 序列解包(或可迭代对象解包):将一个序列(或任何可迭代对象)解包,并将得到的值存储 ...

  3. alpine操作

    设置镜像源 使用其他版本把v3.7改成对应版本就行 查看版本 cat /etc/os-release 阿里 echo http://mirrors.aliyun.com/alpine/v3.7/mai ...

  4. druid配置以及监控

    1.druid监控的功能: . 数据源 . SQL监控 对执行的MySQL语句进行记录,并记录执行时间.事务次数等 . SQL防火墙 对SQL进行预编译,并统计该条SQL的数据指标 . Web应用 对 ...

  5. PHP+FLASH大文件断点续传功能分享

    1.使用PHP的创始人 Rasmus Lerdorf 写的APC扩展模块来实现(http://pecl.php.net/package/apc) APC实现方法: 安装APC,参照官方文档安装,可以使 ...

  6. UI编辑

    UI编辑 基本部件介绍 (1)Layout(布局) (2)Space(空间) (3)Button (4)ItemView (5)ItemWidget Widget继承自View,即ListWidget ...

  7. 序列式容器————string

    目录 前言 1.构造函数 2.size() 3.length() 4.maxsize() 5.capacity() 6.reserve() 7.resize() 8.获取元素at() 9.字符串比较c ...

  8. JMS学习三(ActiveMQ消息的可靠性)

    下面我们来学习一下消息接受确认和发送持久化消息.消息的过期.消息的选择器和消息的优先级. 一.消息接收确认 1.jms消息只有在被确认之后才认为成功消费了这条消息.消息的成功消费通常包括三个步骤:(1 ...

  9. gdb break 断点设置

    http://sourceware.org/gdb/current/onlinedocs/gdb/ 断点设置 gdb断点分类: 以设置断点的命令分类: breakpoint 可以根据行号.函数.条件生 ...

  10. 测开之路一百四十二:ORM框架之SQLAlchemy建库、建表、数据库操作

    flask-SQLAlchemy是在原生SQLAlchemy的基础之上做了一层封装,安装flask-SQLAlchemy会自动安装SQLAlchemy 安装 传统的sql建表建字段 通过flask-S ...