bindの再起動ができん…
bindの設定中、再起動ができない事態に遭遇…。なぜ?なぜ?
なにやらrndcが127.0.0.1:953portで何かしようとして失敗したようです。
1 2 3 |
root@example ~]# service named restart Stopping named: rndc: connect failed: 127.0.0.1#953: operation canceled |
以下は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番ポート以外にも解放が必要なんですねー。
1 2 |
iptables -A INPUT -p tcp -d 127.0.0.1 --dport 953 -j ACCEPT iptables -A OUTPUT -p tcp -s 127.0.0.1 --sport 953 -j ACCEPT |