[系统开发] Python 实现的 Bind 智能 DNS Web 管理系统
在公司的运营中,DNS还是很重要的,不仅名称解析需要DNS,一些重要的服务,比如负载均衡、HTTP 虚拟主机也会用到它。Bind 手工管理方式有一定的危险性,一旦写错格式就会造成 DNS 服务瘫痪。
之前我曾经用 Perl 开发过一套 Bind DNS 管理系统,但是它必须与 BIND DNS 运行在同一台服务器上,而且不支持集群操作。为了适应 Docker 和分布式部署的需要,我用 Python Django 重新开发了一套 Bind DNS Web 管理系统。
1. 系统特点:
- 支持 View 视图(为不同地址的用户提供不同地址的解析)
- 支持 DNS 集群(可创建主、从服务器,”从服务器“自动从“主服务器”同步)
- Web 管理服务器与 DNS 服务器分离
- 采用 Bind 默认方式,不使用 dlz 数据库模式(为了确保服务高性能和稳定性)
- DDNS 方式动态修改记录
关于第4点,根据 dlz 的测试,dlz 方式的吞吐量要比 Bind 默认方式差 20到30倍,因此我决定采用 Bind 默认方式。
2. 功能实现方式:
不采用 dlz 数据库模式给系统的设计和开发带来一定的复杂性。我采用下述方式实现相关功能:
- 视图管理:文件操作 + rndc
- 域管理:文件操作 + rndc
- 记录管理:dnspython

3. 效果图








小屏幕(手机)适配:

[系统开发] Python 实现的 Bind 智能 DNS Web 管理系统的更多相关文章
- 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 ...
- BindWeb - Bind智能DNS管理系统介绍
2019-05-08 演示网站: https://bindw.cdneks.com demo/demo 2018-11-27 修改部署架构,取消网络共享存储设备,在每台BIND服务器启用NFS4并仅向 ...
- [系统开发] 一个基于Django和PureCSS的内容管理系统
这是我刚开发的一套基于Django和PureCSS的内容管理系统,目标是优雅.简洁.实用,目前功能还在完善中. 系统参考了网上的教程,除了文章管理.搜索.RSS,还增加了类别管理.用户管理,以及评论管 ...
- [系统开发] Bind DNS 管理系统
一.问题的产生 很多公司的 DNS 是用 BIND 建立的:DNS 服务非常重要,BIND 功能虽然强大,但是是基于配置文件进行管理的,管理员对 DNS 进行的任何操作都要通过修改配置文件来实现,稍不 ...
- 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+DLZ+MySQL智能DNS的正向解析和反向解析实现方法
使用文本配置文件的配置方式结合bind的最新的acl和view特性来实现智能DNS想必很多人已经很熟悉了,使用MySQL数据库来存放zone文件的方式可能也不少.对于两者都熟悉的,实现 Bind+DL ...
随机推荐
- esxi 6 虚拟机安装复制
打开VMware vSphere Client 连接到esxi服务器,选择配置-存储器, 右击存储器标识,选择浏览存储数据, 首先新建一个文件夹,用来存放系统镜像,这里新建了iso文件夹, 选择iso ...
- PHPnow在win8下安装失败的解决办法
提示: 安装服务[ Apache_pn ]失败,可能原因如下:1.服务名已存在,请卸载或使用不同服务名.2.非管理员权限,不能操作Window NT服务. 解决方案: 搜索:命令提示符 , 右键以 ...
- iOS 微信分享
1.注册微信开放平台账号:https://open.weixin.qq.com 2.创建应用 设置图片可以使用一个小工具,详情http://www.cnblogs.com/czq1989/p/5073 ...
- [WPF]GridView或DataGrid中自定义样式:依据某一列设定其对应行的样式(背景色,字体等)
附效果照一张: 本方法使用StyleSelector来 获得依据自定义逻辑的style. ① class ConditionalStyleSelector : StyleSelector { publ ...
- 调用DiscuzNT webApi 注册 登录 发帖
注册.登录Discuz论坛比较简单,网上很多教程. 3.发帖出现的问题 1.iis8.0版本 asp.net 4.0 不能发帖 将discuz 的web.config文件里的 此代码 <htt ...
- RTSP流和USB摄像头转MJPEG使用VLC
测试环境: 系统: Ubuntu14.04 LTS Desktop 设备:海康IP摄像头和USB摄像头 1.需要先安装vlc包,命令行运行 sudo apt-get update sudo apt-g ...
- Nginx 开启gzip 压缩
随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢? gzip(GNU-ZIP)是一种压缩技术. 经过gz ...
- IC卡复位应答ATR解析
输入的是ATR,通过解析输出TA.TB.TC.TD的信息. 似乎没有容错处理,~~~~(>_<)~~~~ #include <stdio.h> #define TA_BIT ( ...
- Hibernate 随记(数据库映射流程)
ORM:Object/Relationship Mapping 对象/关系映射 实现流程: 1.项目中导入Hibernate相关类包并创建配置文件.Hibernate.cfg.xml(可 ...
- iOS开发~CocoaPods使用详细说明
一.概要 iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库. 二.安装 由于 ...