bindが再起動不可できなくて少しハマったお話

bindの再起動ができん…

bindの設定中、再起動ができない事態に遭遇…。なぜ?なぜ?
なにやらrndcが127.0.0.1:953portで何かしようとして失敗したようです。

以下はbindのコントロールスクリプトコマンド(/etc/init.d/named)の抜粋です。
ググってみるとbindの制御はrndcを用いて行われるようで、
953番ポート経由でコントロールを使うみたいです。今回の起動不可の原因はiptablesによって953portへの通信が遮断されていたためでした。

stop() {
[ “$EUID” != “0” ] && exit 4# Stop daemons.
echo -n $”Stopping named: ”
[ -x /usr/sbin/rndc ] && /usr/sbin/rndc stop >/dev/null 2>&1;
RETVAL=$?
# was rndc successful?
[ “$RETVAL” -eq 0 ] || \
killproc -p “$ROOTDIR/$PIDFILE” “$named” -TERM >/dev/null 2>&1timeout=0
RETVAL=0
while pidofnamed &>/dev/null; do
if [ $timeout -ge $NAMED_SHUTDOWN_TIMEOUT ]; then
RETVAL=1
break
else
sleep 2 && echo -n “.”
timeout=$((timeout+2))
fi;
doneumount_chroot_conf

以下のとおりiptablesのチェインに追加して解決しました。DNSのクエリ要求の為の53番ポート以外にも解放が必要なんですねー。

Bookmark this on Google Bookmarks
LINEで送る
Pocket