Федорино горе 14.
Linux 2.6.35.11-83.fc14.i686 ... GNU/Linux
BIND 9.7.3-RedHat-9.7.3-1.fc14суть проблемы, иногда при перегрузке ppp интерфейса делаю (потому что BIND тупит и не знает куда запросы слать)
service named restart
скрипт долго думает, а потом выдаёт что не может он остановится, помогает только kill -9
При выключении системы так же думает минут 5 потом прибивает процесс.
В интернете есть темы по похожим проблемам, но решения там не нашёл, какие-то невнятные мысли про то что в 9-ке порождается несколько потоков.Почему так происходит и как с этим бороться ?
>(потому что BIND тупит и не знает куда запросы слать)Нельзя ли поподробнее, что это такое?
до подъёма ppp (VPN,интернет) запросы к некоторым хостам идут через forward, когда же поднимается ppp и появляется возможность разрешать все узлы, BIND упорно не видит этого, приходится ему пинка давать через рестарт.
>когда же поднимается pppТо есть bind стартует раньше под`ема ppp ?
естественно, а то как поднять VPN соединение к узлу записанному буковками.
> естественно, а то как поднять VPN соединение к узлу записанному буковками.- а пингануть и потом букофки на циферки поменять не судьба?
- ну на тебе мое стряпанье. я бинд из сырцов всегда собирал и стартовые скрипты обычно сам пишу. в начале только переменные поправь. у меня он стоит в /chroot/bind и все соотвествующие пути заданы от него. FedoraCore-4.
[root@local ~]# cat /usr/local/etc/std/init.d/named
#!/bin/bash###
### LS - FC 9.0
###
### this script will control DNS server.
### use 'chkconfig --add named' command to activate
### this script.
##
#
# chkconfig: 345 45 45
# description: DNS-server control
#
###
### 12.10.2008
###selfname="named" # this script name
daemname="named" # bind daemon name
testname="named-checkconf" # checking tool name
ctrlname="rndc" # control tool name
confname="named.conf" # configuration file name
syscname="named" # system config file name
netcname="network" # network config name
funcname="functions" # functions name
lockname="${selfname}" # lock namedaempath="/usr/local/sbin/bind" # daemon directory
testpath="${daempath}" # checking tool path
ctrlpath="${daempath}" # control tool path
confpath="/etc" # configuration directory
syscpath="/etc/sysconfig" # system config directory
netcpath="${syscpath}" # network config path
funcpath="/etc/rc.d/init.d" # functions path
lockpath="/var/lock/subsys" # lock pathdaemfile="${daempath}/${daemname}" # daemon binary file
testfile="${testpath}/${testname}" # checking tool file
ctrlfile="${ctrlpath}/${ctrlname}" # control tool file
conffile="${confpath}/${confname}" # configuration file
syscfile="${syscpath}/${syscname}" # system config file
netcfile="${netcpath}/${netcname}" # network config file
funcfile="${funcpath}/${funcname}" # functions file
lockfile="${lockpath}/${lockname}" # lock filejailargs="" # chroot directory option
userargs="" # bind user option
optnargs="" # another bind options[ -f ${funcfile} ] && source ${funcfile} || exit 2
function error()
{
if [ -n "${1}" ]
then
echo -n "${selfname}: ${1}"
failure "${1}"
echoexit 1
fi
}# initialization
initinfo=""
[ -f ${syscfile} ] && source ${syscfile}
[ -f ${netcfile} ] && source ${netcfile}[ "${NETWORKING}" = "no" ] && exit 0
userargs="${BINDUSER}"
optnargs="${OPTIONS}"[ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ] && jailargs="${ROOTDIR}"
[ -f ${jailargs}${conffile} ] || error "can't find ${jailargs}${conffile}"
[ -f ${daemfile} ] || error "can't find ${daemfile}"function start()
{
daeminfo="Starting DNS service:"echo -n "${daeminfo}"
daempids=`/sbin/pidof -o ${$} -o ${PPID} -o %PPID ${daemfile} || \
/sbin/pidof -o ${$} -o ${PPID} -o %PPID ${daemname}`if [ -n "${daempids}" ]
then
echo -n " already started:"
passed "${daeminfo} already started:"
echo
return 0
fi[ -n "${jailargs}" ] && optnargs="${optnargs} -t ${jailargs}"
[ -n "${userargs}" ] && optnargs="${optnargs} -u ${userargs}"
${daemfile} ${optnargs}daemcode=${?}
if [ ${daemcode} -eq 0 ]
then
success ${daeminfo}
echo
touch ${lockfile}
[ -n "${jailargs}" ] && \
[ -h "/var/run/named.pid" ] ||
ln -s ${jailargs}/var/run/named.pid /var/run/named.pid
else
failure ${daeminfo}
echo
fi
return ${daemcode}
}function stop()
{
daeminfo="Stopping DNS service:"echo -n "${daeminfo}"
daempids=`/sbin/pidof -o ${$} -o ${PPID} -o %PPID ${daemfile} || \
/sbin/pidof -o ${$} -o ${PPID} -o %PPID ${daemname}`if [ -z "$daempids" ]
then
echo -n " already stopped:"
passed "${daeminfo} already stopped:"
echoreturn 0
fi${ctrlfile} stop 2>&1 >/dev/null
daemcode=${?}
if [ ${daemcode} -eq 0 ]
then
for waittime in 30000 50000 700000 1000000
do
usleep ${waitime}daempids=`/sbin/pidof -o ${$} -o ${PPID} -o %PPID ${daemfile} || \
/sbin/pidof -o ${$} -o ${PPID} -o %PPID ${daemname}`if [ -z "${daempids}" ]
then
success ${daeminfo}
echo/bin/rm -f ${lockfile}
[ -h "/var/run/named.pid" ] && /bin/rm -f "/var/run/named.pid"
return 0
fi
done
fifailure ${daeminfo}
echodaeminfo="Killing ${daemname}:"
echo -n "${daeminfo}"
for killsign in "TERM" "KILL"
do
for waittime in 0 30000 50000 1000000
do
usleep ${waittime}daempids=`/sbin/pidof -o ${$} -o ${PPID} -o %PPID ${daemfile} || \
/sbin/pidof -o ${$} -o ${PPID} -o %PPID ${daemname}`if [ -z "${daempids}" ]
then
success ${daeminfo}
echo/bin/rm -f ${lockfile}
[ -h "/var/run/named.pid" ] && /bin/rm -f "/var/run/named.pid"
return 0
fi/bin/kill -s ${killsign} -- ${daempids}
done
donefailure ${daeminfo}
echoreturn ${daemcode}
}function status()
{
local exitcode="0"${ctrlfile} status 2>/dev/null ; exitcode=${?}
[ ${exitcode} -eq 0 ] || echo "Can't bind to '${daemname}'"
}function restart()
{
stop
start
}function reload()
{
${ctrlfile} reload > /dev/null 2>&1 || killall -HUP ${daemfile}
}function check()
{
if [ -n "${jailargs}" ]
then
${testfile} -t ${jailargs} ${conffile}
else
${testfile} ${conffile}
fi
}function probe()
{
${ctrlfile} reload > /dev/null 2>&1 || start
return ${?}
}function help()
{
local selfname=`basename ${0}`echo $"Usage: ${selfname} {start|stop|status|restart|reload|check|probe}"
return 1
}case "${1}" in
start) start
;;
stop) stop
;;
status) status
;;
restart) restart
;;
reload) reload
;;
check) check
;;
probe) probe
;;
*) help
;;
esacexit ${?}
>> естественно, а то как поднять VPN соединение к узлу записанному буковками.
> - а пингануть и потом букофки на циферки поменять не судьба?А шо его пинговать, он же через этот же сервер будет разрешать буковки в циферки :)
А если сервису капут, то и не разрешить и не перегрузить его.> - ну на тебе мое стряпанье. я бинд из сырцов всегда собирал
> и стартовые скрипты обычно сам пишу. в начале только переменные поправь.
> у меня он стоит в /chroot/bind и все соотвествующие пути заданы
> от него. FedoraCore-4.Благодарю, но скрипт я и тот могу переделать в том месте где ошибка завершения kill -9 вставлю и капут ему.
Мне хочется разобраться откуда у этого глюка ноги растут.
>>> естественно, а то как поднять VPN соединение к узлу записанному буковками.
>> - а пингануть и потом букофки на циферки поменять не судьба?
> А шо его пинговать, он же через этот же сервер будет разрешать
> буковки в циферки :)какой ты трудный. пингании его раз, пока днс жив - получишь IP. и пропиши этот IP в настройках соединения вместо имени сервера. все - ДНС для коннекта к серверу не нужен.
еще проще это имя=IP в /etc/hosts записать.> А если сервису капут, то и не разрешить и не перегрузить его.
>> - ну на тебе мое стряпанье. я бинд из сырцов всегда собирал
>> и стартовые скрипты обычно сам пишу. в начале только переменные поправь.
>> у меня он стоит в /chroot/bind и все соотвествующие пути заданы
>> от него. FedoraCore-4.
> Благодарю, но скрипт я и тот могу переделать в том месте где
> ошибка завершения kill -9 вставлю и капут ему.
> Мне хочется разобраться откуда у этого глюка ноги растут.хз какая у тебя ОС, хз как сеть настроена, хз какой бинд, хз какой у бинда конфиг. задал вопрос, а оказывается сам все можешь. ну тогда рАсти ноги.
понятно, специалистов тут нима.
> При выключении системы так же думает минут 5 потом прибивает процесс.Может быть проблема в фаерволе?
Вывод iptables-save можно посмотреть?
>> При выключении системы так же думает минут 5 потом прибивает процесс.
> Может быть проблема в фаерволе?
> Вывод iptables-save можно посмотреть?Не вижу связи с iptables, все порты для исходящих открыты, и не в работе сервиса дело, а в том что процесс не желает выгружаться, приходится "убивать".
показывать не буду, там персональная информация присутствует.
>>> При выключении системы так же думает минут 5 потом прибивает процесс.
>> Может быть проблема в фаерволе?
>> Вывод iptables-save можно посмотреть?
> Не вижу связи с iptables, все порты для исходящих открыты, и нено она есть, bind управляется через rndc по сети, хоть и 127.0.0.1, но это сеть и ее можно порезать в iptables. если это произошло то rndc к bind просто не подключится и bind никаких команд, в том числе и на остановку, не получит.
> в работе сервиса дело, а в том что процесс не желает
> выгружаться, приходится "убивать".
> показывать не буду, там персональная информация присутствует.если все настолько секретно, тогда вам к специалистам-ясновидцам.
> но она есть, bind управляется через rndc по сети, хоть и 127.0.0.1,
> но это сеть и ее можно порезать в iptables. если это
> произошло то rndc к bind просто не подключится и bind никаких
> команд, в том числе и на остановку, не получит.rndc работает, сервис в большинстве случаев выгружается, вы невнимательно читали, в заголовке темы указано "иногда"
>> в работе сервиса дело, а в том что процесс не желает
>> выгружаться, приходится "убивать".
>> показывать не буду, там персональная информация присутствует.там и IP адреса и порты открытые, мне нет резона это фильтровать, тем более не вижу причину в iptables. Т.к. bind висит и при завершении системы, когда выгружены уже почти все процессы.
>[оверквотинг удален]
>> произошло то rndc к bind просто не подключится и bind никаких
>> команд, в том числе и на остановку, не получит.
> rndc работает, сервис в большинстве случаев выгружается, вы невнимательно читали, в заголовке
> темы указано "иногда"
>>> в работе сервиса дело, а в том что процесс не желает
>>> выгружаться, приходится "убивать".
>>> показывать не буду, там персональная информация присутствует.
> там и IP адреса и порты открытые, мне нет резона это фильтровать,
> тем более не вижу причину в iptables. Т.к. bind висит и
> при завершении системы, когда выгружены уже почти все процессы.вот тут как раз и нужно проверить, выгружается ли правила iptables раньше и какими они становятся
помоему как то в мадриве было что правила iptables выгружались, до остановки bind и оставались только DROP и как следствие после этого bind не завершался через rndc.
Если бы дело было в правилах, он иногда на ровном месте глючит.
Поменяю какие нибудь настройки или кэшь очистить захочется и делаю ему
service named restart
а он гад выгружаться не хочет, хотя сутки или двое назад (система работала без изменений) нормально перегружался. Как в лотерее.Уже думаю мож с железом что не так.
> Если бы дело было в правилах, он иногда на ровном месте глючит.
> Поменяю какие нибудь настройки или кэшь очистить захочется и делаю ему
> service named restart
> а он гад выгружаться не хочет, хотя сутки или двое назад (система
> работала без изменений) нормально перегружался. Как в лотерее.
> Уже думаю мож с железом что не так.да чем тебя kill не устраивает????
тем более с локальной машины - добро бы правда по rndc рулить было надо.
> Если бы дело было в правилах, он иногда на ровном месте глючит.а кто ОН? named? rndc? /etc/init.d/named? хотите разобраться - копайте сырцы, а не жуйте вафлю.
> Поменяю какие нибудь настройки или кэшь очистить захочется и делаю ему
> service named restart
> а он гад выгружаться не хочет, хотя сутки или двое назад (система
> работала без изменений) нормально перегружался. Как в лотерее.
> Уже думаю мож с железом что не так.
понимаю что вам нравится в рот всякую гадость брать, но меня интересовали ответы тех кто понимает, а не вчерашних студентов.
> понимаю что вам нравится в рот всякую гадость брать, но меня интересовали
> ответы тех кто понимает, а не вчерашних студентов.- тебе скрипт дали, который может решить твою проблему
- тебе сказали где смотреть, чтобы понять откуда у проблемы ноги растут
- твоя проблема высосана из пальца: тебе не нужен rndc для управления демономНо нет - надо выежопываться. Что ты сделал из перечисленного в верхних постах? Ничего - только ноешь.
Или ты думаешь за тебя тут любую проблему решать будут, а ты за это станешь зарплату получать?
Любой вчерашний студент тебя пошлет. И я тоже посылаю - даю посылку на добро.
Кури сырцы и задавай вопросы на соответствующих форумах разработчикам (какого Х студентов спрашивать раз сам такой умный?).
PS
Про две русские беды даже вспоминать не буду. Дорог как не было, так и нет...
>>[оверквотинг удален]
> помоему как то в мадриве было что правила iptables выгружались, до остановки
> bind и оставались только DROP и как следствие после этого bind
> не завершался через rndc.да-да. давайте для bind restart на работающей системе еще предварительно iptables stop делать...
>>>[оверквотинг удален]
>> помоему как то в мадриве было что правила iptables выгружались, до остановки
>> bind и оставались только DROP и как следствие после этого bind
>> не завершался через rndc.
> да-да. давайте для bind restart на работающей системе еще предварительно iptables stop
> делать...читайте внимательней на что ответ был дан
"Т.к. bind висит и при завершении системы, когда выгружены уже почти все процессы."и свой пыл поумерте, другие как нибудь и без ваших рекомендаций разберутся когда и что делать.
>>>>[оверквотинг удален]
>>> помоему как то в мадриве было что правила iptables выгружались, до остановки
>>> bind и оставались только DROP и как следствие после этого bind
>>> не завершался через rndc.
>> да-да. давайте для bind restart на работающей системе еще предварительно iptables stop
>> делать...
> читайте внимательней на что ответ был дан
> "Т.к. bind висит и при завершении системы, когда выгружены уже почти все
> процессы."ага. какой вопрос - такой и ответ.
отключать сетевой фильтр ДО отключения сетевых сервисов - это правильный подход. флаг в руки - Ваше решение супер-пупер. и Ваш ответ конечно поможет решить этот вопрос. Не важно что сервис просто не стопится при нормальной работе - Вы сделали правильный акцент на том моменте, что он не стопится ИМЕННО при завершении работы системы (какая глубина мысли). Вы д`Артаньян - бесспорно.> и свой пыл поумерте, другие как нибудь и без ваших рекомендаций разберутся
> когда и что делать.как скажете. теперь ни-ни на это форум. ничего тут больше писать не буду - пИсак тут и так хватает.
>[оверквотинг удален]
>> читайте внимательней на что ответ был дан
>> "Т.к. bind висит и при завершении системы, когда выгружены уже почти все
>> процессы."
> ага. какой вопрос - такой и ответ.
> отключать сетевой фильтр ДО отключения сетевых сервисов - это правильный подход. флаг
> в руки - Ваше решение супер-пупер. и Ваш ответ конечно поможет
> решить этот вопрос. Не важно что сервис просто не стопится при
> нормальной работе - Вы сделали правильный акцент на том моменте, что
> он не стопится ИМЕННО при завершении работы системы (какая глубина мысли).
> Вы д`Артаньян - бесспорно.Где я предлагал " отключать сетевой фильтр ДО отключения сетевых сервисов"?
Высосали из пальца и выводы делаете.
Есть решение проще, изменить порядок остановки демонов, но это в контексте завершения работы.В отношении того что происходит у ТС, раз уж добиться постоянного воспроизведения этой ошибки не получается, то и разбираться с ней ему придется самому.
>> и свой пыл поумерте, другие как нибудь и без ваших рекомендаций разберутся
>> когда и что делать.
> как скажете. теперь ни-ни на это форум. ничего тут больше писать не
> буду - пИсак тут и так хватает.И после какого слова я должен начать Вас умолять так не поступать?
>[оверквотинг удален]
> Есть решение проще, изменить порядок остановки демонов, но это в контексте завершения
> работы.
> В отношении того что происходит у ТС, раз уж добиться постоянного воспроизведения
> этой ошибки не получается, то и разбираться с ней ему придется
> самому.
>>> и свой пыл поумерте, другие как нибудь и без ваших рекомендаций разберутся
>>> когда и что делать.
>> как скажете. теперь ни-ни на это форум. ничего тут больше писать не
>> буду - пИсак тут и так хватает.
> И после какого слова я должен начать Вас умолять так не поступать?Уже осознал. Немного перепутал со сходной темой. Прошу прощения.
Ваша фраза была "помоему как то в мадриве было что правила iptables выгружались, до остановки bind и оставались только DROP и как следствие после этого bind не завершался через rndc."
То есть как раз обратное о том, что я сказал.
После перекидки с другого форума и Вашего "другие как нибудь и без ваших рекомендаций разберутся" не в тему вступил. Еще раз прошу прощения.
>[оверквотинг удален]
>>> как скажете. теперь ни-ни на это форум. ничего тут больше писать не
>>> буду - пИсак тут и так хватает.
>> И после какого слова я должен начать Вас умолять так не поступать?
> Уже осознал. Немного перепутал со сходной темой. Прошу прощения.
> Ваша фраза была "помоему как то в мадриве было что правила iptables
> выгружались, до остановки bind и оставались только DROP и как следствие
> после этого bind не завершался через rndc."
> То есть как раз обратное о том, что я сказал.
> После перекидки с другого форума и Вашего "другие как нибудь и без
> ваших рекомендаций разберутся" не в тему вступил. Еще раз прошу прощения.Все нормально, бывает, я тоже наверно погорячился. :)