All Projects → qunarcorp → Open_dnsdb

qunarcorp / Open_dnsdb

Licence: apache-2.0
OpenDnsdb 是去哪儿网OPS团队开源的基于Python语言的DNS管理系统

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Open dnsdb

Nps
一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理等等……,并带有功能强大的web管理端。a lightweight, high-performance, powerful intranet penetration proxy server, with a powerful web management terminal.
Stars: ✭ 19,537 (+5562.9%)
Mutual labels:  dns
Pulsar
Network footprint scanner platform. Discover domains and run your custom checks periodically.
Stars: ✭ 314 (-8.99%)
Mutual labels:  dns
Doh Server
Fast, mature, secure DoH server proxy written in Rust (doh-proxy).
Stars: ✭ 327 (-5.22%)
Mutual labels:  dns
Vinyldns
DNS Governance for streamlining DNS operations and enabling safe and secure DNS self-service
Stars: ✭ 293 (-15.07%)
Mutual labels:  dns
Dt
DNS tool - display information about your domain
Stars: ✭ 313 (-9.28%)
Mutual labels:  dns
Hackertarget
🎯 HackerTarget ToolKit - Tools And Network Intelligence To Help Organizations With Attack Surface Discovery 🎯
Stars: ✭ 320 (-7.25%)
Mutual labels:  dns
Dnsrecords.io
A webapp to fetch dns records
Stars: ✭ 278 (-19.42%)
Mutual labels:  dns
Autoops
linux资产管理,cmdb,django, webssh,运维管理平台,数据库操作平台 本项目已停止开发!因长时间未对代码进行维护,可能会造成项目在不同环境上无法部署、运行BUG等问题,请知晓!项目仅供参考!
Stars: ✭ 340 (-1.45%)
Mutual labels:  ops
Dns
Retrieve DNS records
Stars: ✭ 313 (-9.28%)
Mutual labels:  dns
Nacos
an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.
Stars: ✭ 20,691 (+5897.39%)
Mutual labels:  dns
Baize
白泽自动化运维系统:配置管理、网络探测、资产管理、业务管理、CMDB、CD、DevOps、作业编排、任务编排等功能,未来将添加监控、报警、日志分析、大数据分析等部分内容
Stars: ✭ 296 (-14.2%)
Mutual labels:  ops
Linuxbashshellscriptforops
Linux Bash Shell Script and Python Script For Ops and Devops
Stars: ✭ 298 (-13.62%)
Mutual labels:  ops
Getaltname
Extract subdomains from SSL certificates in HTTPS sites.
Stars: ✭ 320 (-7.25%)
Mutual labels:  dns
Toriptables2
Tor Iptables script is an anonymizer that sets up iptables and tor to route all services and traffic including DNS through the Tor network.
Stars: ✭ 287 (-16.81%)
Mutual labels:  dns
Dnslivery
Easy files and payloads delivery over DNS
Stars: ✭ 332 (-3.77%)
Mutual labels:  dns
Zonemaster
The Zonemaster Project
Stars: ✭ 282 (-18.26%)
Mutual labels:  dns
Rancher Letsencrypt
🐮 Rancher service that obtains and manages free SSL certificates from the Let's Encrypt CA
Stars: ✭ 318 (-7.83%)
Mutual labels:  dns
Rbndr
Simple DNS Rebinding Service
Stars: ✭ 343 (-0.58%)
Mutual labels:  dns
De gwd
Debian bypass Gateway & DNS - <Burst Link>
Stars: ✭ 331 (-4.06%)
Mutual labels:  dns
Containerdns
a fast DNS for Kubernetes clusters
Stars: ✭ 321 (-6.96%)
Mutual labels:  dns

OpenDnsdb

项目主页

OpenDnsdb 项目相关文档: 文档链接

简介

OpenDnsdb 是去哪儿网OPS团队开源的DNS管理系统,用于添加、修改、删除zones/records. 使用简单并可靠的方法管理View、ACL、网段等. 详尽的日志,便于审计.

OpenDnsdb并不是一个DNS服务器,而是一个对现有DNS服务器的管理系统,提供Web管理UI以及命令行工具等.

对OpenDnsdb的操作,会生成DNS配置文件并同步给DNS服务器。也就是说OpenDnsdb的故障或不可用并不会对DNS服务本身造成任何影响.

OpenDnsdb is an open source DNS management system for the OPS team. It is used to add, modify, and delete zones/records. Use simple and reliable methods to manage View, ACL, network segment, etc. Detailed logs for auditing.

OpenDnsdb is not a DNS server, but a management system for existing DNS servers, providing Web management UI and command line tools.

For OpenDnsdb operations, a DNS configuration file is generated and synchronized to the DNS server. That is to say, the failure or unavailability of OpenDnsdb does not affect the DNS service itself.

主要功能

  • 支持 Bind 9.
  • IP管理, 管理公司网段及ip,可以实现域名和ip的自动绑定
  • 域名管理, 域名的增、删、改、查.
  • View域名管理, view域名的增删改查、状态修改,view域名的迁移.
  • 配置管理, 管理zone文件,线上配置与数据库配置同步,修改配置自动完成部署.
  • 日志, 关键操作都有日志记录,并可通过页面进行查询,便于审查
  • 支持RESTful API, 支持Webhook.
  • 基于Python 3 开发, 支持Postgresql和SQLite.

应用结构

  • docs/ 各种说明文档、手册, copyright/license等.

  • dnsdb_fe/ web ui

  • tools/ 同步脚本, 各种工具.

  • etc/ 开发、测试环境的配置文件, 配置模板等.

  • dnsdb_command.py 数据库初始脚本

  • dnsdb/constant 常量设置,用到的正则匹配规则

安装手册

  • 环境 Python:3.6.8 pip:19.0.3

  • 支持的浏览器: chrome, Firefox

  • 安装virtualenv: pip install virtualenv

  • 项目克隆

  • 目录创建:mkdir -p /var/log/open_dnsdb/

    ; 日志目录配置: etc/beta/common.conf
    [log]
    log-dir = /var/log/open_dnsdb/
    
  • 切换到项目目录: cd open_dnsdb

  • 初始化项目python环境:

    $ python tools/install_venv.py -p /usr/bin/python3.6
    # 命令行参数:
    # 	-p 使用的python解释器版本, 确保使用virtualenv创建虚拟环境是python3.6+
    #		如果确认virtualenv命令是用python3安装的, 这个参数可以省略
    
  • 启用虚拟环境

     $ source .venv/bin/activate
     $ python -V 	# 确认python版本为3.6+
    
  • 初始化数据库

    • 数据库配置: etc/beta/common.conf
      [DB]
      connection=sqlite:////usr/local/open_dnsdb/dnsdb.db
      
    • touch /usr/local/open_dnsdb/dnsdb.db 新建数据文件
    • export FLASK_APP=dnsdb_command.py
    • export FLASK_ENV=beta
    • flask deploy (生成测试账号: test 密码:123456)
  • 生成程序控制脚本: tools/with_venv.sh python setup.py install

  • 安装supervisor用于管理python进程:

    • 安装: sudo pip install supervisor # python3版本supervisor安装 pip install git+https://github.com/Supervisor/supervisor

    • 生成默认配置: echo_supervisord_conf > /etc/supervisord.conf

    • 修改配置文件 vim /etc/supervisord.conf

      [supervisord]
      childlogdir=/var/log/open_dnsdb         ;日志文件位置
      
      [include]
      files = /etc/supervisor/conf.d/*.conf
      
    • mkdir -p /etc/supervisor/conf.d

    • 添加openDnsdb项目配配置:

      • dnsdb: cp etc/beta/supervisor-dnsdb.conf /etc/supervisor/conf.d/open-dnsdb.conf
      • updater(仅bind服务器需要): cp etc/beta/supervisor-updater.conf /etc/supervisor/conf.d/open-dnsdb-updater.conf
    • 启动: supervisord -c /etc/supervisord.conf

    • 查看是否启动成功: ps aux | grep supervisord

    • supervisorctl -c /etc/supervisord.conf

ChangeLog

  • v0.2 - 2019-03-21

    添加

    ​ 添加ipv6支持(暂不支持ipv6反解)

    修改

    ​ 升级python版本,支持python3.6+

感谢

感谢以下同学对项目修改提出的宝贵建议:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].