Очередная напоминашка для внесения в cookbook.
Часто встречается ситуация, что для какого-то хоста в большом, великом и могучем интернете среди прочих утех в базе данных DNS имеются AAAA-записи (которые ресолвят IPv6-адрес по имени). А вот клиентская машина не имеет IPv6-connectivity. Ну вот не умеет ещё гадкий дядька-провайдер IPv6 и не собирается. В этом случае клиентская система пытается подключиться по IPv6 (так как он приоритетнее), вываливается либо с отлупом, либо по таймауту, после чего ломится уже по IPv4. Всё бы ничего, но это приводит к довольно явно ощущаемым субъективным "тормозам" при работе в интернете.
Вариантов решения может быть несколько.
- Отключить совсем на клиентской машине IPv6 (net.ipv6.conf.all.disable_ipv6 = 1).
- Отфильтровывать AAAA-записи на DNS-ретрансляторе (если конечно он нам подконтролен и поддерживает такой функционал).
- Изменить предпочтительный порядок разрешения имён на клиентском ресолвере.
В последнем варианте нужно подправить конфиг "/etc/gai.conf", раскомментировав в нём строчку "precedence ::ffff:0:0/96 100".
Это приведёт к присвоению адресам из пространства IPv6 минимального приоритета (чем больше число, тем меньше приоритет). Таким образом, системный ресолвер будет отдавать предпочтение A-записям, если таковые имеются.