仅适用于localhost的简单DNS服务器,带有REST API
项目描述
- 日期:
- 2013-09-11
- 网站:
描述
一个小型DNS服务,用于支持本地开发。服务器默认监听端口5053。使用iptables将请求从localhost:53转发到localhost:5053。
DNS服务提供递归查询,因此您可以像往常一样继续使用DNS。
然后您可以设置新的授权域名和可用的本地A记录。
例如
$ minidns start $ host www.example.com www.example.com has address 93.184.216.119 www.example.com has IPv6 address 2606:2800:220:6d:26bf:1447:1097:aa7 $ minidns add example.com $ minidns record example.com a www 192.168.0.10 $ minidns show example.com www 192.168.0.10 $ host www.example.com www.example.com has address 192.168.0.10 $ minidns stop $ host www.example.com www.example.com has address 93.184.216.119 www.example.com has IPv6 address 2606:2800:220:6d:26bf:1447:1097:aa7
用法
Usage: minidns [options] command daemon control commands: start start the minidns server and forward localhost:53 to it stop stop the minidns server and remove iptables rules zone commands: add name add a new local authoritative zone "name" del name delete the local authoritative zones "name" list list all authoritative zones show name list records for the zone "name" record commands: record zone a host [data] create A record record zone del host delete record e.g. record example.com a www 192.168.0.1 Options: -h, --help show this help message and exit -c CONFIG, --config=CONFIG path to configuration file -n, --no-divert Do not use iptables to divert port DNS locally
iptables
作为启动和停止的一部分(除非提供-n开关),minidns会对您的iptables nat配置进行一些更改。如果您使用localhost作为您的nameserver(这是一个相当常见的配置),则此操作按原样工作。
发出iptables命令以将localhost:53重定向到minidns端口,以便它可以无缝地控制您的本地DNS。
选择这种机制是为了最不具侵入性的方式来执行此操作,特别是它不会更改/etc中的文件。
API
MiniDNS主要设计用于由自动化部署系统使用,并提供简单的REST API供这些系统使用。
通常,您应该期望在成功请求时以下响应代码
GET请求在成功时返回200
PUT请求在成功时返回201
DELETE请求在成功时返回204
Web端口上可用的资源
根资源:/
GET
返回一行管理的区域列表,每个区域占一行,由n分隔。例如
GET / 200 OK example.com foo.com
可能的响应状态码包括
200 成功
域名资源:/domain
GET
返回该域内的记录列表,每行一个记录,用n分隔。例如
GET /example.com 200 OK A www 192.168.0.1
可能的响应状态码包括
200 成功
404 域未找到。该域未在minidns中创建为权威区域。
PUT
创建此域。例如
PUT /example.com 201 Created
可能的响应状态码包括
201 已创建(成功)
200 域已存在,未更改
DELETE
删除此域。例如
DELETE /example.com 204 No Content
可能的响应状态码包括
204 成功
404 域未找到。该域未在minidns中创建为权威区域。
记录资源:/domain/host
GET
返回记录的值。例如
GET /example.com/www 200 OK A 192.168.0.1
可能的响应状态码包括
200 成功
404 记录未找到
PUT
创建记录。有效载荷应为类型和数据,用空格分隔。例如
PUT /example.com/www A 192.168.0.1 201 Created
可能的响应状态码包括
201 已创建(成功)
404 区域未找到
400 请求格式错误。原因消息将提供更多详细信息。
DELETE
删除记录。例如
DELETE /example.com/www 204 No Content
可能的响应状态码包括
204 成功
404 域或记录未找到
配置文件
不需要配置文件 - 提供合理的默认值。请注意,默认情况下使用Google的DNS服务器作为转发器。
如果您愿意,可以提供以下格式的文件
[minidns] forwarders = 8.8.8.8 8.8.4.4 udp_port = 5053 tcp_port = 5053 www_port = 5080 pidfile = minidns.pid logfile = minidns.log
LICENSE
版权所有 2013 Isotoma Limited
根据Apache License,版本2.0(“许可证”);除非遵守许可证,否则您不得使用此文件。您可以在以下位置获得许可证副本
除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。请参阅许可证了解具体的管理权限和限制。
项目详情
minidns-0.3.zip的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | cb1157750328427f0505664a49da0a575e66c2b8f59999da399e76501a534575 |
|
MD5 | ef2e4a0dab393828115f6f541d6489f7 |
|
BLAKE2b-256 | 0ca8acc8cbe472d69cf8bc8c38d61059b8efb1ddc59fb93e596f5c7ba5f65d7c |