Интересный глюк (nslookup fails)

Metal Messiah
На сайте с 01.08.2010
Offline
152
532

Здравствуйте.

Стоит CRON задача - раз в 10 минут запускается PHP скрипт, который запрашивает главные страницы десятка сайтов (на предмет кода ответа и ключевого слова в данных, сигнализирующее о том что сайт работает) и также запрашивающий IP адреса определенных хостов у определенных DNS серверов (мониторинг их работоспособности). С первым пунктом проблем нет, а вот со вторым довольно часто возникает интересная проблема. Выводится ответ что DNS сервера недоступны (все, и сразу). Если тут же из консоли вручную запустить все тот же скрипт - все работает нормально, отовсюду ответы правильные. Проблема спонтанно возникает и спонтанно пропадает, если она возникает то длится  иногда по несколько часов. Проблем с DNS серверами нет, аналогичную задачу дублирует и другой сервер.

ОС Debian. Пример кода:

$tmp = shell_exec("nslookup ".$h." ".$ns);
echo "RAW DNS ".$tmp."\r\n\r\n"; //ответ - пусто
$list = explode("\n", $tmp);

В предыдущей версии было определение работоспособности по количеству строк ответа командой

$res = trim(shell_exec("nslookup ".$h." ".$ns." | grep 'Address:' | wc -l"));

но когда начал искать причину проблемы - перешел на ручной разбор строки ответа в коде.

Пример того что должно быть в этой переменной:

RAW DNS Server:         [АДРЕС СЕРВЕРА]
Address:        [АДРЕС СЕРВЕРА]#53

Non-authoritative answer:
Name:   mail.ru
Address: 217.69.139.200
Name:   mail.ru
Address: 94.100.180.200
Name:   mail.ru
Address: 94.100.180.201
Name:   mail.ru
Address: 217.69.139.202

В логах тишина. Куда копать?

anonymous, думай что говоришь и не забывай подписать отзыв :)
LEOnidUKG
На сайте с 25.11.2006
Offline
1731
#1

Ну так запрашиваете вы у каких DNS то? Системных? Может быть они от такой наглости просто блокируют ваши запросы ибо слишком много их.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
Metal Messiah
На сайте с 01.08.2010
Offline
152
#2
Нет. Что написано в resolv.conf тут вообще роли не играет. Я запрашиваю у двух разных сторонних DNS серверов IP адреса  доменов (зон) которые на них подняты. Раз в 10 минут, никаких рейтов и банов тут быть не может. Тем более что в момент глюка висел в консоли под тем же пользователем, прописал nslookup domain dns_server вручную и оно мне выдало правильный ответ. В тестовом варианте запрашивается адрес mail.ru или яндекса, та же проблема присутствует. Сказать что кто-то на этом сервере блокирует отправку  DNS запроса или получение ответа конкретно в этот момент времени для крон задачи иногда - не могу...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий