[系统开发] 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 ...
随机推荐
- Jquery仿彩票更换数字动画效果
<script type="text/javascript" src="jquery-1.11.3.min.js"></script> ...
- [windows]部分前缀以及其意义
前缀 意义 CS 类风格选项 CW 创建窗口选项 DT 文本绘制选项 IDI 图标的ID号 MB 消息框选项 SND 声音选项 WM 窗口消息 WS 窗 ...
- Drools环境搭建(转)
Eclipse3.5安装Drools5.2.0.Final插件 到Drools下载页面(现在是http://www.jboss.org/drools/downloads.html) -下载并解压Dro ...
- javascript之小积累-匿名函数表达式的最佳实践
在写js的时候,还是经常会用的匿名函数表达式,比如 setTimeout(function() { console.log(110); }, 1000); 上面那个function()就是匿名函数表达 ...
- PHP 记录日志
public function writelog($message) { $logFileDir = LOG_PATH; $logFile = 'monitor' . date('Y-m-d') . ...
- AllanCodeMaker 代码生成器 release0.9.0 下载 支持C#,Java,可自订模板
接我前面的文章(2015-8-18 更新下载链接) http://www.cnblogs.com/allanyang/p/4687534.html 这几天事情多,所以改动不大,修改了一些小细节.公司那 ...
- 关于Windows7的安装纠结过程
关于Windows7的安装过程 背景交代 因为自己有两个笔记本,一个是伴我读过四年大学生活的老华硕笔记本,一个是姐夫不用的上网本.自己的构想是将老笔记本装上Ubuntu Server当作平时开发pyt ...
- 浅谈 HTTPS 和 SSL/TLS 协议的背景与基础
来自:编程随想 >> 相关背景知识 要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义 大致了解 HTTP 和 ...
- DSL 或者说是抽象 或者说是沉淀 ,我看到的不错的一篇文章
作者:张浩斌 链接:https://www.zhihu.com/question/45552115/answer/99388265 来源:知乎 著作权归作者张浩斌和知乎所有. ---------- ...
- JSP-JSTL学习
<%@page import="com.Student"%> <%@page import="com.Person"%> <%@p ...