NetLab · Rules · Torrent Tracker · Have a problem? · Eng/Rus | Help Search Members Gallery Calendar |
Welcome Guest ( Log In | Register | Validation ) | Resend Validation Email |
Проблема с DNS (bind 9.7.3, Debian Squeeze) |
|
Posted: 14-01-2016, 17:24
(post 1, #1109525)
|
||
Advanced Group: Members Posts: 340 Warn:0% |
Имеется пара DNS серверов, один master, второй slave, исправно работали несколько лет. Master обслуживает как внутренних так и внешних клиентов (четыре внешних зоны), slave только внутренних. С нового года начались проблемы - систематически (2-3 раза в неделю, иногда пару раз в день) ответы обоих серверов начинают приходить с большой задержкой и в конце концов пропадают синхронно на обоих серверах. Логфайлы обоих bind показывают, что запросы приходят, но ответов клиенты не получают (time out), даже если запрос делать на самом сервере. Помогает только рестарт всей машины, рестарт только bind9 не помогает. В то же время другие сервисы (почта, ssh) работают. То есть, проблема пока наблюдается только с работой bind. В то же время, поскольку bind продолжает записывать в лог запросы и его рестарт не помогает, причина связана с чем то еще. Какая-то корреляция наблюдается с нагрузкой - когда оба сервера обслуживают всех клиентов внутренних сетей, то перестают отвечать синхронно и время работы меньше двух суток. Когда сервера обслужиавют разные сети (клиенты не прекрываются), то работают немного дольше и ответы пропадают в разное время. Физически машины не нагружены - процессор менше 1%, память 3.5%, диск 1%. Кто либо встречался с подобным? И как определить, куда деваются ответы bind (запросы он получает и пишет в лог, рестарт bind9 на помогает)? |
||
|
Posted: 15-01-2016, 07:08
(post 2, #1109563)
|
||
Agent - Provocateur Group: Prestige Posts: 4565 Warn:0% |
Я бы порылся в ситемном логе OS на предмет всяких errors о достижении лимита соединений, файлов пер процесс и т.д. |
||
|
Posted: 15-01-2016, 14:29
(post 3, #1109570)
|
||||
Advanced Group: Members Posts: 340 Warn:0% |
Там бежит только DNS, так что логи весьма пустые и ошибок не видать. Единственный "error" такой:
Лимит файлов bind сам увеличивает уже в процессе старта:
|
||||
|
Posted: 15-01-2016, 20:54
(post 4, #1109579)
|
||
Advanced Group: Members Posts: 340 Warn:0% |
По поводу лога bind. У меня все запросы и security пишуться в отдельный лог. Поскольку (кроме одного случая), серверы "зависали" в одно время, возникло подозрение, что они получили какие-то "плохие" запросы (время от времени появляются попытки захватить сервер путем всяких нехороших запросов). Однако никакого подобного криминала в логах заметно не было. Да и bind исправно принимал запросы и писал их в лог. Правда, одну интересную штуку я заметил. Похоже, что NOD32 посылает информацию в свою контору, используя для этого DNS запросы:
Или это какая-то зараза? |
||
|
Posted: 15-01-2016, 22:03
(post 5, #1109584)
|
||
Agent - Provocateur Group: Prestige Posts: 4565 Warn:0% |
Смущает что на двух серверах сразу, или почти сразу. Точно локально не работает когда с самого сервера запрос идет (имя из кеша в том числе)? А если демон остановить минут на 5 и перезапустить без ребута? |
||
|
Posted: 15-01-2016, 22:38
(post 6, #1109585)
|
||||
Advanced Group: Members Posts: 340 Warn:0% |
Если (с самого сервера) запрос посылать на реальноый ИП-адрес:
Похоже, что сервера "помирают" не синхронно - начинается с того, что замедляется работа сети - задержки с DNS ответами (помер один сервер?) и через несколькко минут DNS умирает совсем (второй сервер?). |
||||
|
Posted: 15-01-2016, 23:41
(post 7, #1109596)
|
||
Сварливый Мозг Клуба Group: Roots Posts: 22885 |
что-то я не понял, сервера не отвечают на запросы на авторизированные зоны или на рекурсивные запросы? Или и на те и на те? Для начала таки проверь, что сервера именно, что свои (авторизированные) зоны не могут отресолвить. Если-же окажется, что проблема только с рекурсивными запросами, то надо смотреть куда он там далее обращается и что там может быть не так. Собственно, можно изначально послушать сеть и посмотреть что там куда идет и идет-ли. P.S. Вообще 9.7.3 в плане дырок весьма того. Его-бы проапгрейдить до 9.9.8-P2 или чего-нить подобного. |
||
|
Posted: 16-01-2016, 09:29
(post 8, #1109618)
|
||
Advanced Group: Members Posts: 340 Warn:0% |
Рекурсивные запросы точно не работают, а свои зоны я как то сознательно и не проверял, при следующем глюке обязатльно проверю. А дальше серверы обращаются к DNS серверам провайдера, т.е ражим forward only. Чтобы апгрейдить bind, придется и сам линукс проапгрейдить (9.7.3 для Squeeze последняя версия). Поскольку там кроме DNS ничего нет, то запустить новые серверы на свежем линуксе очень просто и явно решит проблему. Но очеь хочется сперва узнать, "откуда происходит подземный стук". |
||
|
Posted: 16-01-2016, 15:43
(post 9, #1109624)
|
||
Advanced Group: Members Posts: 340 Warn:0% |
Поразмышлял над вашми впросами/советами и, возможно, понял, что не так. Собак зарыт в "forward only". Это пережиток старых времен, когда ответ от сервера провайдера приходил гораздо быстрее чем при самостоятельном поиске. Сервера провайдера имеют какой-то лимит на число запросов в секунду с одного IP. Когда число запросов с одного из серверов переходит эту границу, ответы перстают поступать (или приходят с очень большой задержкой). Далее все наши запросы идут со второго сервера и скоро блокируется и второй сервер. Это объясняет, почему рестарт bind9 на помогает - рестарт очень быстрый и запросы практически не прерываются. А при рестарте всего сервера возникает более знчительная пауза в запросах и сервер провайдера начинает отввечать нормально. Проверка проста (при следующем глюке): 1. С сервера запрос локального адреса из своей зоны. Если я прав, ответ будет. 2. С сервера запросить прямо сервер провайдера. Если я прав, будет тайм-аут. 3. Остановить bind9 на несколько минут и запустить опяь. Если я прав, все заработает. Для лечения достаточно будет изменить "forward only" на "forward first" или вообще убрать. В общем, увидим на будущей неделе, когда у серверов опять будет полная нагрузка. |
||
|
Posted: 16-01-2016, 22:55
(post 10, #1109641)
|
||
Сварливый Мозг Клуба Group: Roots Posts: 22885 |
ну что там с настройками у провайдера - это к штатному телепату. Что касается более новой версии - тут зависит. Если лень переставлять систему, то можно скомпилить новый бинд на старой. Не великий труд. |
||
|
Posted: 18-01-2016, 21:26
(post 11, #1109714)
|
||
Advanced Group: Members Posts: 340 Warn:0% |
Сегодня подземного стука не было. Буду ждать дальше. По крайней мере ясно, как сузить круг поиска. FiL ПО поводу ограничений на сервере провайдера просто мое предположение, почему-то не написал слово "возможно" |
||
|
Posted: 19-01-2016, 15:13
(post 12, #1109738)
|
||
Advanced Group: Members Posts: 340 Warn:0% |
Сегодня опять замолчал один из серверов. 1. На любые рекурсивные nslookup запросы (все рано, локально или из сети) ответ:
3. Все запросы пишутсяв лог запросов. 3. Forward серверы на запрос отвечают сразу. 4. На файерволе прямые обращения к Forward серверам регистрируются и не блокируются. 5. Не успел проверить, идет ли обращение к Forward серверам, если обращаться к bind, так как к этому времени (прошло примерно 5 мин) все вдруг заработало! Другими словами, картина такая: 1. Все обращения к bind9 пишутся в лог, т.е. сервер живой. 2. Запросы про свои сети работают нормально. 3. Рекурсивные запросы не работают - таймаут, так как forward only. 4. Прямые обращения к Forward серверам с серверной машины работают нормально (т.е. внешней блокировки нет). 5. Не успел выяснить причину таймаута, то есть посылет ли bind9 вообще запрос к форвардерам или посылает запрос но не воспринимет ответа, так как (см следующий пункт) 6. Примерно через 5 мин все оживает само и сервер работает нормально. Вот такие пироги. |
||
|
Posted: 20-01-2016, 20:45
(post 13, #1109768)
|
||
Сварливый Мозг Клуба Group: Roots Posts: 22885 |
Ну, если bind на свои зоны отвечает, а проблемы только с рекурсивными запросами к форвардерам, то это скорее надо у форвардеров проблему искать. А лучше впиши в список форвардеров еще пару гугловых серверов, авось поможет. |
||
|
Posted: 20-01-2016, 23:25
(post 14, #1109773)
|
||||||
Advanced Group: Members Posts: 340 Warn:0% |
FiL В том то и дело, что
Или ты имел в виду, что сервер провайдера отличет запросы bind9 и nslookup с одной и той же машины и игнорирует первые но отвечает на вторые? PS. Добавил 8.8.8.8, но боюсь, это не поможет. |
||||||
|
Posted: 21-01-2016, 00:09
(post 15, #1109775)
|
||
Сварливый Мозг Клуба Group: Roots Posts: 22885 |
Тоже правда. Уговорил. И все-таки, для проверки, не поленись, скачай и скомпилируй новенький bind. Это со всех сторон полезно будет. |
||