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. HYSBZ-4033-树上染色(树上DP)

    链接: https://vjudge.net/problem/HYSBZ-4033 题意: 有一棵点数为N的树,树边有边权.给你一个在0~N之内的正整数K,你要在这棵树中选择K个点,将其染成黑色,并 ...

  2. 如何在生产环境下实现每天自动备份mysql数据库

    1.描述 通"shell脚本+定时任务"的方式来实现自动备份mysql数据库. 2.环境 备份路径:/data/mysqlbak/ 备份脚本:/data/mysqlbak/mysq ...

  3. 【NOIP2017提高组模拟12.24】B

    题目 现在你有N个数,分别为A1,A2,-,AN,现在有M组询问需要你回答.每个询问将会给你一个L和R(L<=R),保证Max{Ai}-Min{Ai}<=R-L,你需要找出并输出最小的K( ...

  4. mysql存储ip数值

    字段使用 int unsigned 类型就可以满足存贮ip2long(ip)的数值 插入时,可以使用inet_aton('100.200.30.22') 将ip地址转换为数值 查询时,使用inet_n ...

  5. 常见的NullPointerException总结

    NullPointerException在这里简称为NPE 通过一些实例总结下常见的NPE问题: 1. 自动拆箱抛NPE 实体类: public class User { private String ...

  6. 论文阅读:Flow-level State Transition as a New Switch Primitive for SDN

    Name of article:Flow-level State Transition as a New Switch Primitive for SDN Origin of the article: ...

  7. free查看内存使用情况

    查看当前内存使用情况 [xiaoxi@xiaoxitest data]$ free -m total used free shared buffers cached Mem: -/+ buffers/ ...

  8. sqli-labs(18)

    开始挑战第十八关(Header Injection - Uagent field - Error based) 常见的HTTP注入点产生位置为[Referer].[X-Forwarded-For].[ ...

  9. gitblit 数据迁移(复制)

    gitblit 数据迁移 完全拷贝方式: 将原服务器上的gitblit的安装目录.数据目录等相关目录拷到另一台服务器上即可,这样启动方式和使用端口及数据和原服务上的一模一样.(因为gitblit是不用 ...

  10. YV12和NV12格式

    害怕搞忘 直接保存图片