跳转到主要内容

Easy Zone的分支 - DNS区域抽象模块

项目描述

dnszone

概述

本软件包是从Easyzone分支而来,由Chris Miles创建。我已经分支它以包括安装的bug修复,并更新软件包以兼容Python 3。

DNSZone是一个用于管理区域文件中常见记录类型(包括SOA记录)的软件包。此模块位于dnspython之上,并为常见区域文件操作用例提供高级抽象。

主要功能

  • 在dnspython之上提供高级抽象。
  • 将区域文件加载到对象中。
  • 修改/添加/删除区域/记录对象。
  • 将更改保存回区域文件。
  • 自动更新序列号(如有必要)。

网站

要求

构建/测试/安装

构建:

  $ python setup.py build

测试:

  $ python setup.py test

安装:

  $ python setup.py install

或使用setuptools:

  $ easy_install dnszone

示例

dnszone:

  >>> from dnszone import dnszone
  >>> z = dnszone.zone_from_file('example.com', '/var/namedb/example.com')
  >>> z.domain
  'example.com.'
  >>> z.root.soa.serial
  2007012902L
  >>> z.root.records('NS').items
  ['ns1.example.com.', 'ns2.example.com.']
  >>> z.root.records('MX').items
  [(10, 'mail.example.com.'), (20, 'mail2.example.com.')]
  >>> z.names['foo.example.com.'].records('A').items
  ['10.0.0.1']

  >>> ns = z.root.records('NS')
  >>> ns.add('ns3.example.com.')
  >>> ns.items
  ['ns1.example.com.', 'ns2.example.com.', 'ns3.example.com.']
  >>> ns.delete('ns2.example.com')
  >>> ns.items
  ['ns1.example.com.', 'ns3.example.com.']

  >>> z.save(autoserial=True)

ZoneCheck:

  >>> from dnszone.zone_check import ZoneCheck
  >>> c = ZoneCheck()
  >>> c.isValid('example.com', '/var/named/zones/example.com')
  True
  >>> c.isValid('foo.com', '/var/named/zones/example.com')
  False
  >>> c.error
  'Bad syntax'
  >>>
  >>> c = ZoneCheck(checkzone='/usr/sbin/named-checkzone')
  >>> c.isValid('example.com', '/var/named/zones/example.com')
  True
  >>>

ZoneReload:

  >>> from dnszone.zone_reload import ZoneReload
  >>> r = ZoneReload()
  >>> r.reload('example.com')
  zone reload up-to-date
  >>> r.reload('foo.com')
  rndc: 'reload' failed: not found
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "dnszone/zone_reload.py", line 51, in reload
      raise ZoneReloadError("rndc failed with return code %d" % r)
  dnszone.zone_reload.ZoneReloadError: rndc failed with return code 1
  >>>
  >>> r = ZoneReload(rndc='/usr/sbin/rndc')
  >>> r.reload('example.com')
  zone reload up-to-date
  >>>

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

dnszone-3.1.1.tar.gz (14.4 kB 查看散列值)

上传时间 源码

构建分发版

dnszone-3.1.1-py3-none-any.whl (9.6 kB 查看散列值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面