当前位置: 主页 > 服务器技术 > DNS服务器 > 把DNS信息都存在MySQL数据库里-mydns配置方法

把DNS信息都存在MySQL数据库里-mydns配置方法

时间:2010-3-12来源:互联网 点击:
    MyDNS 就是把DNS信息都存在MySQL数据库里,这样就可以用基于WEB界面的程序来设置DNS 了用起来真是方便啊。配置起来也很容易。 因為 MyDNS 這支程式是 PHP 所開發的,所以 Server 要安裝 Apache + PHP + MySQL 的環境,請參考小弟之前的筆記: Apache20 + Mysql41 + PHP4

Setp 2.

安裝 mydns

#cd /usr/ports/dns/mydns
#make extract
#mkdir /usr/local/www/data-dist/mydns
#cd work/mydns-1.1.0/contrib/
#cp MyDNS.pm admin.php create_domain.pl stats.php /usr/local/www/data-dist/mydns
#cd /usr/ports/dns/mydns/
#make install clean

#cd /usr/local/www/data-dist/mydns
#vi admin.php

$dbhost = "localhost";
$dbuser = "mydns";
$dbpass = "mydns_password";
$dbname = "mydns";

#mysqladmin -u root -p create mydns # 用 mysqladmin 建立 mydns 這個資料庫

#mydns --create-tables | mysql -u root -p mydns # 建立 mydns 這個資料庫的資料表

#mysql -u root -p mydns

※ 建立可以使用 mydns 這個資料庫的使用者及權限

mysql>GRANT select,insert,update,delete,create,drop ON mydns.* TO mydns@localhost IDENTIFIED BY ‘mydns_password‘;
mysql>GRANT SELECT ON mydns.* TO mydns_user@localhost IDENTIFIED BY ‘mydns_password‘;
mysql>FLUSH PRIVILEGES;
mysql>quit;

Setp 3.

設定 mydns 的設定檔

#cp /usr/local/etc/mydns.conf.sample /usr/local/etc/mydns.conf
#chmod 600 /usr/local/etc/mydns.conf
#vi /usr/local/etc/mydns.conf

db-host = localhost
db-user = mydns
db-password = mydns_password
database = mydns

#vi /etc/rc.conf # 加入開機自動啟動

mydns_enable="YES"

#/usr/local/etc/rc.d/mydns.sh start # 先手動啟動 mydns

開個 browse 即可開始使用 mydns

http://IP/mydns/admin.php

Testing...

#netstat -na |grep udp # 查看 bind udp 53 port 有無啟動
udp4 0 0 127.0.0.1.53 *.*
udp4 0 0 88.88.88.88.53 *.*

# dig @localhost wifi.ntut.idv.tw any # 進去 Browse 設定一些東西之後,就可以回到 console 下用 dig 查詢看設定是否生效

; <<>> DiG 9.3.1 <<>> @localhost wifi.ntut.idv.tw any
; (2 servers found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50178
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;wifi.ntut.idv.tw. IN ANY

;; ANSWER SECTION:
wifi.ntut.idv.tw. 1200 IN SOA wifi.ntut.idv.tw. admin.wifi.ntut.idv.tw.wifi.ntut.idv.tw. 20060 28800 7200 604800 1200

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Jun 23 17:47:36 2006
;; MSG SIZE rcvd: 91

mysql> use mydns # 也可查看 mysql 內的資料是否已寫入
Database changed

mysql> show tables;
+-----------------+
| Tables_in_mydns |
+-----------------+
| rr |
| soa |
+-----------------+
3 rows in set (0.00 sec)

mysql> SELECT * FROM rr;
+----+------+---------+-------+----------------------------+------+-------+
| id | zone | name | type | data | aux | ttl |
+----+------+---------+-------+----------------------------+------+-------+
| 1 | 1 |mail | A | 88.88.88.88 | 0 | 1200 |
| 2 | 1 |mail | MX | mail.wifi.ntut.idv.tw.| 10 | 300 |
| 3 | 1 |ftp | A | 88.88.88.88 | 0 | 300 |
+----+------+------+------+-----------------------+-------+------+-------+
3 rows in set (0.01 sec)

mysql> select * FROM soa;
+----+-------------------+-------------------+-------------------------------------+------------------+-----------+-------+-------------+-------------+--------+
| id | origin | ns | mbox | serial | refresh | retry | expire | minimum | ttl |
+----+-------------------+-------------------+-------------------------------------+-------------------+---------+-------+--------------+--------------+-------+
| 1 | wifi.ntut.idv.tw. | wifi.ntut.idv.tw. | admin.wifi.ntut.idv.tw-- | 2006062301 | 28800 | 7200 | 604800 | 1200 | 300 |
+----+-------------------+-------------------+-------------------------------------+-------------------+---------+-------+--------------+--------------+--------+
1 row in set (0.01 sec)


References.

http://mydns.bboy.net/
http://www.howtoforge.com/mydns_name_server

点击在新窗口中浏览此图片
站长资讯网
. TAG: mydns mysql dns
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言