DNSBrood使用文档 有更新!

Published on in 后端 with 1,681 views

DNSBrood是一个基于dnsJava的域名解析系统。

项目源码:DNSBrood

安装

  • 在Github上star本项目

  • 下载项目源码到本地任意目录(请确保您的操作系统为Linux/Unix)

  • 在项目根目录下执行

    chmod -R 777 make.sh dnsbrood.sh
    
  • 执行./make.sh

  • 执行

    cd /usr/local/DNSBrood
    
  • 启动命令

    dnsbrood.sh start
    
  • 重启命令

    dnsbrood.sh restart
    
  • 停止命令

    dnsbrood.sh stop
    
  • 测试:(使用dig测试工具)

    dig @127.0.0.1 test.liumapp.com
    

    如果出现反馈信息:

    sh-3.2# dig @127.0.0.1 test.liumapp.com
    
    ; <<>> DiG 9.8.3-P1 <<>> @127.0.0.1 test.liumapp.com
    ; (1 server found)
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2998
    ;; flags: qr rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
    ;; WARNING: recursion requested but not available
    
    ;; QUESTION SECTION:
    ;test.liumapp.com.		IN	A
    
    ;; ANSWER SECTION:
    test.liumapp.com.	2000	IN	A	1.2.3.4
    
    ;; Query time: 49 msec
    ;; SERVER: 127.0.0.1#53(127.0.0.1)
    ;; WHEN: Thu Aug 17 09:03:20 2017
    ;; MSG SIZE  rcvd: 50
    

    那表明安装成功

使用

在使用DNSBrood上有两种方式,一种是直接修改config目录下的zones文件,另一种是通过DNSQueen项目,以字符串指令的形式来管理。

这篇文档纪录的使用方式为后者。

或者您可以通过DNSBee项目在web图形界面上进行DNS解析的管理。

在项目源码的test目录下,找到ZonesFileRefresherTest这个Junit测试单元,我们运行testAdd方法,即可在DNSBrood中添加一条test2.liumapp.com的解析纪录。同样的,改Junit测试单元还包含了update、delete、select、multyDelete等等测试方法,基本涵盖了我们常用的CURD操作。

添加解析示例:
运行代码:

Queen  queen = new  Queen();
try  {
	queen.connect();
	queen.say("add_zones_ip_LM09000:4.5.6.7 test2.liumapp.com");
	System.out.print(queen.hear());
} catch  (IOException  e) {
	e.printStackTrace();
}

成功返回值:

SUCCESS, 1 patterns added.

测试:

dig @127.0.0.1 test2.liumapp.com

返回:

sh-3.2# dig @127.0.0.1 test2.liumapp.com

; <<>> DiG 9.8.3-P1 <<>> @127.0.0.1 test2.liumapp.com

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45092

;; flags: qr rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; WARNING: recursion requested but not available

;; QUESTION SECTION:

;test2.liumapp.com.  IN  A

;; ANSWER SECTION:

test2.liumapp.com.  2000  IN  A  4.5.6.7

;; Query time: 0 msec

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Thu Aug 17 09:50:44 2017

;; MSG SIZE rcvd: 51

Responses