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
