首页 > 代码库 > [系统开发] python 实现的 Bind 智能 DNS Web 管理系统

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

在公司的运营中,DNS还是很重要的,不仅名称解析需要DNS,一些重要的服务,比如负载均衡、HTTP 虚拟主机也会用到它。之前我曾经用 Perl 开发过一套 Bind DNS 管理系统,但是它必须与 BIND DNS 运行在同一台服务器上,而且不支持集群操作。为了适应 Docker 和分布式部署的需要,我用 Python Django 重新开发了一套 Bind DNS Web 管理系统。

1. 系统特点:

  1. 支持 View 视图(为不同地址的用户提供不同地址的解析)
  2. 支持 DNS 集群(可创建主、从服务器,”从服务器“自动从“主服务器”同步)
  3. Web 管理服务器与 DNS 服务器分离
  4. 采用 Bind 默认方式,不使用 dlz 数据库模式(为了确保服务高性能和稳定性)

关于第4点,根据 dlz 的测试,dlz 方式的吞吐量要比 Bind 默认方式差 20到30倍,因此我决定采用 Bind 默认方式。

 

2. 功能实现方式:

  1. 视图管理:文件操作 + rndc
  2. 域管理:rndc
  3. 记录管理:dnspython

技术分享

3. 效果图

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

小屏幕(手机)适配:

技术分享

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