The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Проблема DNS на Linux"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (DNS / Linux)
Изначальное сообщение [ Отслеживать ]

"Проблема DNS на Linux"  +1 +/
Сообщение от dimaonline (ok) on 27-Июл-11, 07:44 
Заметил проблему на Linux вне зависимости от реализации и места установки в Internet:

при обращении к геокластерам с балансировкой по DNS (несколько IP на одном имени DNS) Linux игнорирует TTL DNS сервера для записей и при каждом обращении к такому серверу обращается к новому IP.

Для примера пинг на www2.l.google.com

Windows (каждый раз в период TTL):
C:\dig>ping www2.l.google.com

Обмен пакетами с www2.l.google.com [74.125.79.104] с 32 байтами данных:
Ответ от 74.125.79.104: число байт=32 время=138мс TTL=49
Ответ от 74.125.79.104: число байт=32 время=138мс TTL=49


Linux:

root@www:/etc/apache2# ping www2.l.google.com
PING www2.l.google.com (74.125.79.104) 56(84) bytes of data.
64 bytes from ey-in-f104.1e100.net (74.125.79.104): icmp_seq=1 ttl=49 time=129 ms
64 bytes from ey-in-f104.1e100.net (74.125.79.104): icmp_seq=2 ttl=49 time=129 ms
--- www2.l.google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 129.428/129.470/129.512/0.042 ms

root@www:/etc/apache2# ping www2.l.google.com
PING www2.l.google.com (74.125.79.147) 56(84) bytes of data.
64 bytes from ey-in-f147.1e100.net (74.125.79.147): icmp_seq=1 ttl=49 time=131 ms
64 bytes from ey-in-f147.1e100.net (74.125.79.147): icmp_seq=2 ttl=49 time=135 ms
--- www2.l.google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 131.440/133.372/135.304/1.932 ms

root@www:/etc/apache2# ping www2.l.google.com
PING www2.l.google.com (74.125.79.99) 56(84) bytes of data.
64 bytes from ey-in-f99.1e100.net (74.125.79.99): icmp_seq=1 ttl=49 time=126 ms
64 bytes from ey-in-f99.1e100.net (74.125.79.99): icmp_seq=2 ttl=49 time=131 ms
--- www2.l.google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 126.788/128.926/131.064/2.138 ms


Как заставить Linux обращаться одному серверу в окне TTL DNS записи?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проблема DNS на Linux"  +1 +/
Сообщение от PavelR (??) on 27-Июл-11, 08:14 
> Заметил проблему на Linux вне зависимости от реализации и места установки в
> Internet:

Нет уж, это вы проблему в виндовс заметили, вне зависимости от места её установки в Internet ;-)

Это она делает кэширование. Как отключать - см. http://support.microsoft.com/kb/318803 .

> Как заставить Linux обращаться одному серверу в окне TTL DNS записи?

Тоже кэшировать на уровне приложения.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Проблема DNS на Linux"  +/
Сообщение от dimaonline (ok) on 27-Июл-11, 08:22 
> Тоже кэшировать на уровне приложения.

Что значит кешировать на уровне приложения ? и на Windows  и на Linux за это отвечает одна и та же функция gethostbyname. Так на Windows это кешируется (и это правильно, т.к. TTL на то и придумали), а на Linux - НЕТ.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Проблема DNS на Linux"  +/
Сообщение от PavelR (??) on 27-Июл-11, 10:06 
>> Тоже кэшировать на уровне приложения.
> Что значит кешировать на уровне приложения ? и на Windows  и
> на Linux за это отвечает одна и та же функция gethostbyname.

не вызывать gethostbyname повторно без явной необходимости. Одного раза достаточно.
Первый адрес не работает - не получилось соединиться - делаем повторный запрос, получаем другой адрес,  соединяемся, всё работает.

Так на всех система это так и работает (и это правильно, т.к. RoundRobin на тои придумали), а на Windows - НЕТ. Даже костылек в реестре сделали. Прочитайте текст по ссылке.


> Так на Windows это кешируется (и это правильно, т.к. TTL на
> то и придумали), а на Linux - НЕТ.

Давно ли оно кэшируется в Windows - также написано в KB Article по предоставленной ссылке.

"Есть два мнения - мое и неправильное?"


Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Проблема DNS на Linux"  +/
Сообщение от dimaonline (ok) on 27-Июл-11, 10:28 
> "Есть два мнения - мое и неправильное?"

Ну тогда это "мое мнение" следует переадресовать к разработчикам всех программ под Linux, что у меня работают под Linux. Не могу я всем сказать "Вы все идете не вногу, один я в ногу. Подстраивайтесь под меня". Тот же самый firefox часть берет с одного сайта, а часть с другого, и если на первом сайте началась какая-то транзакция с базой, то второй сайт об этой транзакции ничего не знает - в результате - ОШИБКА.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Проблема DNS на Linux"  +/
Сообщение от user (??) on 27-Июл-11, 11:10 
>[оверквотинг удален]
> Первый адрес не работает - не получилось соединиться - делаем повторный запрос,
> получаем другой адрес,  соединяемся, всё работает.
> Так на всех система это так и работает (и это правильно, т.к.
> RoundRobin на тои придумали), а на Windows - НЕТ. Даже костылек
> в реестре сделали. Прочитайте текст по ссылке.
>> Так на Windows это кешируется (и это правильно, т.к. TTL на
>> то и придумали), а на Linux - НЕТ.
> Давно ли оно кэшируется в Windows - также написано в KB Article
> по предоставленной ссылке.
> "Есть два мнения - мое и неправильное?"

То есть кэширующие ДНС - тоже неправильные?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Проблема DNS на Linux"  +/
Сообщение от PavelR (??) on 27-Июл-11, 15:56 
>[оверквотинг удален]
>> получаем другой адрес,  соединяемся, всё работает.
>> Так на всех система это так и работает (и это правильно, т.к.
>> RoundRobin на тои придумали), а на Windows - НЕТ. Даже костылек
>> в реестре сделали. Прочитайте текст по ссылке.
>>> Так на Windows это кешируется (и это правильно, т.к. TTL на
>>> то и придумали), а на Linux - НЕТ.
>> Давно ли оно кэшируется в Windows - также написано в KB Article
>> по предоставленной ссылке.
>> "Есть два мнения - мое и неправильное?"
> То есть кэширующие ДНС - тоже неправильные?

А что, они при Round Robin из пачки IP выхватывают один?
Они как-то целым ответом от вышестоящего сервера оперируют, его же и кэшируют, и его же отдают на запросы своих клиентов. Ответ. Целиком. А не часть ответа, в виде одного IP.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Проблема DNS на Linux"  +/
Сообщение от dimaonline (ok) on 27-Июл-11, 16:03 
> Они как-то целым ответом от вышестоящего сервера оперируют, его же и кэшируют,
> и его же отдают на запросы своих клиентов. Ответ. Целиком. А
> не часть ответа, в виде одного IP.

Нифига. Специально проверил tcpdump-ом. каждый пинг порождает отдельный запрос к DNS и сервер возвращает ему ОДИН IP, а не все как ты утверждаешь.


Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру