mydns
出典: wiki.nodoka.org
bindの一部として稼動させるため、LISTENはループバックのみ。
詳しくはbindのページを参照。
目次 |
mydns-1.1.0のインストール
mysqlが既にインストールされている前提。
cd /usr/local/src wget http://mydns.bboy.net/download/mydns-1.1.0.tar.gz tar xvfz mydns-1.1.0.tar.gz cd mydns-1.1.0 vi src/mydns/sort.c
→183行目を編集
node->sort1 = order++; |
./configure \
--prefix=/usr/local/mydns \
--with-mysql-lib=/usr/local/mysql/lib/mysql \
--with-mysql-include=/usr/local/mysql/include/mysql
make
make install
データ作成
mysql -uroot
create database mydns grant all on mydns.* to mydns@localhost identified by 'xxxx'; |
今回は既存のDNSからレコードをインポートする。
/usr/local/mydns/sbin/mydns --create-tables | mysql -umydns -pxxxx mydns /usr/local/mydns/bin/mydnsimport --axfr=192.168.0.1 localhost /usr/local/mydns/bin/mydnsimport --axfr=192.168.0.1 0.0.127.in-addr.arpa /usr/local/mydns/bin/mydnsimport --axfr=192.168.0.1 domain.com /usr/local/mydns/bin/mydnsimport --axfr=192.168.0.1 0.168.192.in-addr.arpa
設定ファイル作成
vi /usr/local/mydns/mydns.conf
db-user = mydns db-password = xxxx database = mydns listen = 127.0.0.1 |
vi /etc/resolv.conf
search domain.com nameserver 192.168.0.1 |
起動試験
/usr/local/mydns/sbin/mydns -c /usr/local/mydns/etc/mydns.conf --background
起動ファイル作成
vi /etc/init.d/mydns
#! /bin/sh
#
# mydns Start the MyDNS server
#
# Author: Falko Timme <ft@falkotimme.com>.
#
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=mydns
DAEMON=/usr/local/mydns/sbin/$NAME
DESC="DNS server"
SCRIPTNAME=/etc/init.d/$NAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
$DAEMON -c /usr/local/mydns/etc/mydns.conf --background
echo "."
;;
stop)
echo "Stopping $DESC: $NAME."
kill -9 `pidof $NAME` &> /dev/null
;;
restart)
echo "Restarting $DESC: $NAME."
$0 stop && sleep 1
$0 start
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
exit 1
;;
esac
exit 0
|
chkconfig --add mydns chkconfig mydns on service mydns start