IDN (Internationalized Domain Names) — международные доменные имена, которые могут содержать символы национальных алфавитов: кириллицы, арабского, китайского, японского и др.
Как работают IDN-домены
Браузер отображает домен на кириллице: пример.рф. Внутри система переводит его в Punycode-формат, понятный DNS-серверам:
пример.рф → xn--e1afmapc.xn--p1ai
украина.ua → xn--80aaxfb7a.ua
DNS-серверы работают только с Punycode. Punycode всегда начинается с xn--.
Плюсы IDN-доменов
- Запоминаемость для аудитории, не использующей латиницу
- Брендинг на родном языке
- Доступны зоны .рф (Россия), .укр (Украина), .中国 (Китай)
Минусы и риски IDN-доменов
- Гомографические атаки — символы кириллицы визуально похожи на латинские (а vs a). Злоумышленники регистрируют фишинговые домены
- Проблемы с email — не все почтовые клиенты поддерживают IDN
- SEO-сложности — Google индексирует Punycode-версию, что может запутать
- Совместимость — старые системы не понимают IDN
Нужен ли IDN-домен вашему сайту
| Ситуация | Рекомендация |
|---|---|
| Локальный бизнес для UA-аудитории | Лучше .ua или .com.ua на кириллице |
| Международный проект | Только .com — IDN создаёт проблемы |
| Защита бренда | Можно зарегистрировать IDN-версию с редиректом |
Punycode: как формируется ACE-префикс
Punycode — алгоритм из RFC 3492, который кодирует символы вне ASCII в строку, состоящую только из латинских букв, цифр и дефиса. Итоговая метка получает префикс xn-- (ACE — ASCII Compatible Encoding), после которого идёт закодированная часть. DNS-серверы, реестры и большинство регистраторов работают только с этой ASCII-формой — кириллическое написание существует лишь на уровне браузера и панели управления.
# Прямое и обратное преобразование (пакет libidn2, утилита idn2)
idn2 пример.рф
# xn--e1afmapc.xn--p1ai
idn2 --decode xn--e1afmapc.xn--p1ai
# пример.рф
Важный нюанс: один и тот же видимый текст может кодироваться по-разному в зависимости от версии таблицы IDNA (IDNA2003 vs IDNA2008). Домены, зарегистрированные до перехода реестра на IDNA2008, иногда дают другой Punycode для символов вроде «ß» или отдельных букв с диакритикой — при переносе такого домена к другому регистратору стоит сверить ACE-строку побуквенно, а не полагаться на визуальное сравнение.
Частые ошибки при работе с IDN-доменами
Ниже — сообщения, с которыми реально сталкиваются при регистрации и обслуживании IDN-доменов, и что за ними стоит.
| Сообщение или симптом | Причина | Решение |
|---|---|---|
| «Invalid domain name format» в форме регистратора | Кириллица введена напрямую в поле, которое ожидает ASCII, без клиентского преобразования в Punycode | Преобразовать домен через idn2 или онлайн-конвертер и вводить готовую форму xn--... |
| dig возвращает NXDOMAIN для кириллического написания | Запрос ушёл к резолверу как есть, в UTF-8, а не в ACE-форме — зона с таким именем не существует | Запрашивать только Punycode-форму: dig xn--e1afmapc.xn--p1ai |
| Письмо отклонено с «550 5.1.1 Recipient address rejected» | Часть до «собаки» в адресе — кириллица, а почтовый сервер получателя не поддерживает SMTPUTF8/EAI (RFC 6531) | Использовать латинское имя почтового ящика на Punycode-домене вместо кириллического local-part |
| Браузер вместо кириллицы показывает голую строку xn--... | Антифишинговый фильтр браузера определил «смешение скриптов» в метке и намеренно отключил Unicode-отображение | Штатное поведение защиты от гомографов — не ошибка конфигурации домена, менять нечего |
Последняя строка таблицы — самый частый повод для обращений в поддержку: владелец домена уверен, что «домен сломался», хотя на самом деле сработала защита самого браузера, и на резолвинг и доставку почты это не влияет.
Проверка IDN-домена
# DNS и WHOIS запрашиваются только в Punycode-форме
dig xn--e1afmapc.xn--p1ai A +short
whois xn--e1afmapc.xn--p1ai
# Проверить, что регистратор вернул именно ожидаемый ACE-префикс
idn2 пример.рф
Если whois для Punycode-формы возвращает «No match for domain», а кириллическое написание при этом «занято» у другого регистратора — скорее всего, это два разных домена в разных TLD или ошибка при ручном формировании ACE-строки, а не совпадение.
Когда IDN-домен не подходит
- Международный B2B-проект, где основная аудитория печатает адрес на клавиатуре с латинской раскладкой
- Нужны email-адреса для внешних партнёров — часть корпоративных почтовых серверов до сих пор отклоняет EAI-адреса с не-ASCII local-part
- Домен придётся диктовать по телефону в кол-центре — Punycode-строку невозможно продиктовать голосом
- Нет ресурсов на постоянный мониторинг похожих гомографических регистраций конкурентами и мошенниками
- Основной канал трафика — офлайн-реклама и вывески, где адрес вводят вручную по буквам
Если задача — обычный проект без национального алфавита, выбор конкретной зоны для домена разобран в статье как выбрать доменную зону.