2009/06/29

Как безболезненно сменить ip-адрес сайта (хоста)?

За разрешение имён хостов в ip-адреса и наоборот ответственна служба DNS. Чтобы снизить нагрузку на уполномоченные за зону (домен) сервера используется кеширование dns-запросов, и в настройках DNS-сервисов есть параметры, помогающие гибко сконфигурировать данную функциональность.

В описании зоны есть параметры для вторичных серверов:
refresh - интервал обновления зоны (в секундах) для вторичных уполномоченных серверов
retry - интервал попытки обновления зоны (в секундах) при неудаче обновления
expire - интервал истечения полномочий для вторичных уполномоченных серверов при неудаче обновления (в секундах)

В рамках вопроса, который интересовал меня (см. subject) наиболее интересны параметры Default TTL, TTL, Minimum TTL. Они определяют время TTL (Time-to-live - "время жизни"), в течение которого DNS-серверы (кроме вторичных), получившие информацию о записях с любого DNS-сервера, будут ее хранить в своей памяти (кэше) и сообщать ее по запросам других DNS-серверов.

  • TTL - этот параметр определяет период времени (в секундах), в течение которого другие DNS-сервера должны хранить запись в кэше. Если значение параметра в записи не указано, то "время жизни" определяется параметром Default TTL.
  • Default TTL - определяет значение параметра TTL для тех записей, для которых это значение не установлено явно. Обычно используется именно Default TTL вместо указания TTL для каждой записи.
  • Minimum TTL - определяет "время жизни" отрицательных ответов на запросы о ресурсах, не существующих в DNS.

Таким образом, если Вы готовитесь сменить ip-адрес сайта (хоста) и хотите об этом объявить через СМИ (с указанием конкретной даты), Вам необходимо заранее изменить (Default)TTL-записи Вашей зоны (либо конкретных хостов в зоне) на маленькие значения, например 5 минут (60 секунд), подождать, пока изменения вступят в силу и обязательно проверить.
После того как перенос будет завершён не забудьте вернуть значения назад, чтобы снизить нагрузку на уполномоченные за Вашу зону dns-сервера.
Безусловно, это не решит всех проблем, так как есть крупные dns-forward'еры (dns-сервера), которые используются большим числом людей (например, провайдер даёт пользоваться своим dns-сервером) и которые могут игнорировать заданные Вами TTL-значения. В данном случае ничего кроме пресловутого "ждите" не поможет. Хотя можете попробовать добраться до админов данного dns-сервера и попросить их руками выбросить из кэша данные о Вашем старом ip-адресе :)

Links:
  1. DNS-Master - Редактор файлов зон DNS :: Помощь
  2. Bog BOS: DNS (Domain Name System)
  3. Moving your website to another server? Tune your DNS for minimum downtime.

2009/06/10

Замена PGP ключей в Debian для подписывания пакетов

Debian в очередной раз меняют pgp-ключи, которыми подписаны deb-пакеты в официальных репозитариях. Чтобы apt продолжал работать, необходимо выполнить следущее:
# gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 9AA38DCD55BE302B
gpg: keyring `/root/.gnupg/secring.gpg' created
gpg: requesting key 55BE302B from hkp server wwwkeys.eu.pgp.net
gpg: key 55BE302B: public key "Debian Archive Automatic Signing Key (5.0/lenny) " imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
# gpg --armor --export 9AA38DCD55BE302B | apt-key add -
OK
# apt-get update

Ссылки:
  1. Debian Archive Signing Key to be changed
  2. Apt-key gpg tip