.РФ

Доменная кириллица. А как онo вообще будет работать?
 

Floyd

аксакал

Пока идет какой-то там дележ имен, сопровождаемый разными казусами ссылка, я решил поэкспериментировать немножко.

А именно, есть домашний сервер, стоит на нем bind-9.5.0P2, хостит частную зону ну и заодно опрашивает коренные сервера. Вот попробовал создать зону

code text
  1. zone "рф" in {
  2.        type master;
  3.        file "master/cyrillic1";
  4. };


Файл описания зоны

code text
  1. $TTL 1W
  2. $ORIGIN рф.
  3. @               IN SOA  @   root (
  4.                                 42              ; serial (d. adams)
  5.                                 2D              ; refresh
  6.                                 4H              ; retry
  7.                                 6W              ; expiry
  8.                                 1W )            ; minimum
  9.  
  10.                 IN NS           @
  11.                 IN A            127.0.0.1
  12. комп            IN A            192.168.1.2



Вывод при запуске бинда

code text
  1. Dec  2 22:15:54 home-nas named[3234]: reloading configuration succeeded
  2. Dec  2 22:15:54 home-nas named[3234]: dns_rdata_fromtext: master/cyrillic1:3: near '@': bad name (check-names)
  3. Dec  2 22:15:54 home-nas named[3234]: zone \209\128\209\132/IN/internal: loading from master file master/cyrillic1 failed: bad name (check-names)
  4. Dec  2 22:15:54 home-nas named[3234]: reloading zones succeeded


Вопрос в поддержке различным софтом возможности работы с днс в UTF-8 и системной совместимости кириллических доменов с нормальными, к примеру хождение электронной почты. А будет ли оно работать вообще ?

ЗЫ

Всетаки, как-то оно работает ...

http://пример.испытание/Заглавная_страница

И при этом

code text
  1. sasha@home-nas:~> nslookup
  2. > set type=any
  3. > пример.испытание
  4. Server:         127.0.0.1
  5. Address:        127.0.0.1#53
  6.  
  7. ** server can't find пример.испытание: NXDOMAIN
  8. > example.test
  9. Server:         127.0.0.1
  10. Address:        127.0.0.1#53
  11.  
  12. ** server can't find example.test: NXDOMAIN
  13. >


Винда

code text
  1. C:\Documents and Settings\Sasha>nslookup
  2. Default Server:  home-nas.wifi
  3. Address:  192.168.1.3
  4.  
  5. > set type=any
  6. > пример.испытание
  7. .
  8. > example.test
  9. Server:  home-nas.wifi
  10. Address:  192.168.1.3
  11.  
  12. *** home-nas.wifi can't find example.test: Non-existe
  13. > ru
  14. Server:  home-nas.wifi
  15. Address:  192.168.1.3
  16.  
  17. Non-authoritative answer:
  18. ru
  19.         primary name server = ns.ripn.net
  20.         responsible mail addr = hostmaster.ripn.net
  21.         serial  = 4015628
  22.         refresh = 7200 (2 hours)
  23.         retry   = 900 (15 mins)
  24.         expire  = 2592000 (30 days)
  25.         default TTL = 3600 (1 hour)
  26. ru      nameserver = ns2.ripn.net
  27. ru      nameserver = ns9.ripn.net
  28. ru      nameserver = ns2.nic.fr
  29. ru      nameserver = ns5.msk-ix.net
  30. ru      nameserver = e.dns.ripn.net
  31. ru      nameserver = ns.ripn.net
  32.  
  33. ru      nameserver = ns2.ripn.net
  34. ru      nameserver = ns9.ripn.net
  35. ru      nameserver = ns.ripn.net
  36. ru      nameserver = e.dns.ripn.net
  37. ru      nameserver = ns2.nic.fr
  38. ru      nameserver = ns5.msk-ix.net
  39. >


Но в браузере (WinXP SP3 Opera 10) страница открывается.
 
Это сообщение редактировалось 02.12.2009 в 23:39
+
-
edit
 

Balancer

администратор
★★★★☆
Не факт, что там utf-8, а не Punicode.
 
+
-
edit
 

Floyd

аксакал

Balancer> Не факт, что там utf-8, а не Punicode.

В общем-то оно так и есть IDN
По техническим ограничениям доменные имена не могут содержать нелатинские символы, поэтому для обхода этого ограничения разработаны специальные стандарты RFC 3490, RFC 3491, RFC 3492 и RFC 3454, согласно которым такие имена в обязательном порядке преобразовываются в набор латинских букв, арабских цифр и дефисы, а перед таким преобразованным именем пишется префикс «xn--» (так называемый Punycode), чтобы его можно было отличить от обычного имени.

Процесс преобразования берёт на себя браузер клиента. В этом случае можно воспользоваться специальными утилитами. Что вы введёте в строку браузера «пример.испытание», что «xn--e1afmkfd.xn--80akhbyknj4f» — это абсолютно одно и то же (для современных браузеров, но для старых будет работать только второй вариант). В базах DNS-cерверов хранится только второй вариант, так как нелатинские имена не поддерживаются — это ограничение всей доменной системы (об этом см. выше). Фактически интернационализованные доменные имена являются псевдонимами для имён начинающихся с «xn--».
 


Пуникод

А преобразованием имен из пуникода занимается клиент,к примеру веб браузер, собственно поэтому и пример.испытание у меня работало
 

Floyd

аксакал

Эксперимент:

Транслятор IDN

code text
  1. zone "xn--d1aqf" in {
  2.         type master;
  3.         file "master/cyrillic1";
  4. };



code text
  1. home-nas:/var/lib/named/master # cat cyrillic1
  2. $TTL 1W
  3. $ORIGIN xn--d1aqf.
  4. @               IN SOA  @   root (
  5.                                 42              ; serial (d. adams)
  6.                                 2D              ; refresh
  7.                                 4H              ; retry
  8.                                 6W              ; expiry
  9.                                 1W )            ; minimum
  10.  
  11.                 IN NS           @
  12.                 IN A            127.0.0.1
  13. xn--80asgm0a    IN A            192.168.1.3


Ну и результат :)
Прикреплённые файлы:
failo.JPG (скачать) [15,15 кбайт, 16 загрузок] [attach=175206]
 
 
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru