閱讀372 返回首頁    go 阿裏雲 go 技術社區[雲棲]


powerDNS 數據庫表記錄簡要說明

數據庫連接方法


[root@gd02-qa-plxt2-nodomain /]# mysql -u vipdns -pvipdns -h 10.0.3.99

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| pdns               |
+--------------------+
2 rows in set (0.00 sec)

注:
-u 指定用戶名 (vipdns)
-p 指定密碼 (vipdns)
-h 指定主機 (10.0.3.99)
默認端口 3306

表信息


mysql> show tables;
+--------------------+
| Tables_in_pdns     |
+--------------------+
| cryptokeys         |
| domainmetadata     |
| domains            |
| perm_items         |
| perm_templ         |
| perm_templ_items   |
| records            |
| supermasters       |
| tsigkeys           |
| users              |
| zone_templ         |
| zone_templ_records |
| zones              |
+--------------------+
13 rows in set (0.00 sec)

重點關注: domain 表 records 表

 

domain 表結構


mysql> desc domains;
+-----------------+--------------+------+-----+---------+----------------+
| Field           | Type         | Null | Key | Default | Extra          |
+-----------------+--------------+------+-----+---------+----------------+
| id              | int(11)      | NO   | PRI | NULL    | auto_increment |
| name            | varchar(255) | NO   | UNI | NULL    |                |
| master          | varchar(128) | YES  |     | NULL    |                |
| last_check      | int(11)      | YES  |     | NULL    |                |
| type            | varchar(6)   | NO   |     | NULL    |                |
| notified_serial | int(11)      | YES  |     | NULL    |                |
| account         | varchar(40)  | YES  |     | NULL    |                |
+-----------------+--------------+------+-----+---------+----------------+
7 rows in set (0.01 sec)

當前 domains 表中數據


mysql> select * from domains;
+----+---------------------+--------+------------+--------+-----------------+---------+
| id | name                | master | last_check | type   | notified_serial | account |
+----+---------------------+--------+------------+--------+-----------------+---------+
|  1 | vclound.com         | NULL   |       NULL | MASTER |            NULL | NULL    |
|  2 | 3.0.10.in-addr.arpa | NULL   |       NULL | MASTER |            NULL | NULL    |
+----+---------------------+--------+------------+--------+-----------------+---------+
2 rows in set (0.00 sec)

說明:


id - 主鍵
name - 域名(當前已添加兩個), 先關注 vclound.com 
master -  未知
last_check -  未知
type - 是否主域服務器 (通常隻有一個 DNS 情況都是 MASTER)
notified_serial - 修改版本信息
account - 未知

添加 163.com 域名 , 調用 sql 例


 insert into pdns.domains (name, type) values ( '163.com', 'MASTER');

更新, 刪除, (略)

records 表結構


+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| id          | int(11)      | NO   | PRI | NULL    | auto_increment |
| domain_id   | int(11)      | YES  | MUL | NULL    |                |
| name        | varchar(255) | YES  | MUL | NULL    |                |
| type        | varchar(10)  | YES  |     | NULL    |                |
| content     | mediumtext   | YES  |     | NULL    |                |
| ttl         | int(11)      | YES  |     | NULL    |                |
| prio        | int(11)      | YES  |     | NULL    |                |
| change_date | int(11)      | YES  |     | NULL    |                |
| ordername   | varchar(255) | YES  |     | NULL    |                |
| auth        | tinyint(1)   | YES  |     | NULL    |                |
+-------------+--------------+------+-----+---------+----------------+
10 rows in set (0.00 sec)

注: records.domain_id 是 domains 的外鍵

表說明


id - 主鍵
domain_id - domains 表(id) 的外鍵
name - 域名(vclound.com), 正向解析(ddns.vcloudn.com), 反向解析的主機名(105.3.0.10.in-addr.arpa)
type - 定義 name 字段的說明, 如 (SOA [dns 域名) A [正向解析] PTR [反向解析], MX [郵件服務器], CNAME [主機別名] 字段必須大寫
content - 定義 name 所對應的 DNS 解析 [對於 type 為 SOA 時, 比較複雜, 不過可參考當前變量值作為固定值]
ttl - 緩存時候, 可作為固定值
prio - 優先級別, 忽略
change_date - 時間戳
ordername - 忽略
auth - 未知道

當前表單中的正向解析數據

mysql> select id, name, type, content, ttl, change_date from records where domain_id=1;
+----+---------------------+------+----------------------------------------------------------------------+-------+-------------+
| id | name                | type | content                                                              | ttl   | change_date |
+----+---------------------+------+----------------------------------------------------------------------+-------+-------------+
|  1 | vclound.com         | SOA  | ddns.vclound.com ddns.vclound.com 2014013003 28800 7200 604800 86400 | 86400 |  1391015078 |
|  4 | pdnsweb.vclound.com | A    | 10.0.3.103                                                           | 86400 |  1391015359 |
|  5 | pdns.vclound.com    | A    | 10.0.3.99                                                            | 86400 |  1391015379 |
|  6 | pdnsdb.vclound.com  | A    | 10.0.3.99                                                            | 86400 |  1391015391 |
+----+---------------------+------+----------------------------------------------------------------------+-------+-------------+


反向解析數據


mysql> select id, name, type, content, ttl, change_date from records where domain_id=2;
+----+-------------------------+------+----------------------------------------------------------------------+-------+-------------+
| id | name                    | type | content                                                              | ttl   | change_date |
+----+-------------------------+------+----------------------------------------------------------------------+-------+-------------+
|  2 | 3.0.10.in-addr.arpa     | SOA  | ddns.vclound.com ddns.vclound.com 2014013002 28800 7200 604800 86400 | 86400 |  1391015099 |
|  3 | 99.3.0.10.in-addr.arpa  | PTR  | pdnsdb.vclound.com                                                   | 86400 |  1391015270 |
|  7 | 103.3.0.10.in-addr.arpa | PTR  | pdnsweb.vcloud.com                                                   | 86400 |  1391018671 |
+----+-------------------------+------+----------------------------------------------------------------------+-------+-------------+
3 rows in set (0.00 sec)

 

模擬添加 163.com 的正向解析方法
這個是域名記錄


insert into records (name, type, content, ttl, change_date) values ('163.com, 'SOA', 'dns.163.com dns.163.com 2014013002 28800 7200 604800 86400', '86400');

這個是主機名記錄

insert into records (name, type, content, ttl, change_date) values ('dns.163.com, 'A', '192.168.0.1', '86400');
insert into records (name, type, content, ttl, change_date) values ('www.163.com, 'A', '192.168.0.2', '86400');

這樣就可以增加兩個主機記錄了

反向同理, 切記域名為 0.168.192.in-addr.arpa 即可

驗證 dns 方法
/etc/resolv.conf
nameserver 10.0.3.99 <-必須指向他


[root@gd02-qa-plxt2-nodomain /]# nslookup vclound.com
Server:         10.0.3.99
Address:        10.0.3.99#53

*** Can't find vclound.com: No answer

[root@gd02-qa-plxt2-nodomain /]# nslookup pdnsweb.vclound.com
Server:         10.0.3.99
Address:        10.0.3.99#53

Name:   pdnsweb.vclound.com
Address: 10.0.3.103

[root@gd02-qa-plxt2-nodomain /]# nslookup pdnsdb.vclound.com
Server:         10.0.3.99
Address:        10.0.3.99#53

Name:   pdnsdb.vclound.com
Address: 10.0.3.99

參考, 上述例子, 注: 不可以直接解析域名

參考反向解析例子


[root@gd02-qa-plxt2-nodomain /]# nslookup 10.0.3.99
Server:         10.0.3.99
Address:        10.0.3.99#53

99.3.0.10.in-addr.arpa  name = pdnsdb.vclound.com.

[root@gd02-qa-plxt2-nodomain /]# nslookup 10.0.3.103
Server:         10.0.3.99
Address:        10.0.3.99#53

103.3.0.10.in-addr.arpa name = pdnsweb.vcloud.com.

最後更新:2017-04-03 12:54:51

  上一篇:go [LeetCode]86.Partition List
  下一篇:go bind + dhcpd 實現 動態 ddns