14 мая
Автор: Meg@DED Рубрики: Technology, Интернет
Оригинал . Рекомендуется всячески способствовать распространению данного текста.
= esib.softw (2:5070/66.35) ===================================================
Msg : 57 of 57 Rcv Snt Loc Scn
From : Svyatoslav Lempert 2:5070/66.35 14 май 08 02:45:58
To : Svyatoslav Lempert
Subj : Punicode и кириллические корневые зоны (.ру, .ком, .нет)
===============================================================================
Hello Svyatoslav!13 май 08 02:31, Svyatoslav Lempert --> All:
SL> Берем домены
SL> домены.ру
SL> кремль.ruSL> Берем браузеры Firefox 2.0 и IE 6.0 и Windows XP.
SL> Открываем в Firefox
SL> домены.ру — не открывается, в браузере
SL> http://www.xn--d1acufc5f.xn--p1ag, ошибка резолвинга имени.SL> кремль.ru — открывается без проблем (там редирект, как имя
SL> закодировалось не вижу)SL> Открываем в IE 6.0
SL> не открывается
SL> не открываетсяSL> Ставим I-Client http://iclient.ru/
SL> Firefox — результат не меняется
SL> IE 6.0 — открываются оба доменаSL> Внимание вопрос: Чтобы открывались домены в зоне .ру, .ком и
SL> аналогичных в Firefox 2.0 что надо сделать с ним?SL> Или надо настроить named (как?) который используется для резолвинга
SL> имен для поддержки зоны xn--p1ag, так как I-Client лазит сам к своим
SL> DNS-серверам (смотрим http://www.i-dns.net — они вообще раздают
SL> патченный bind который испольует их корневые серверы имен)Hастраиваем свой named на домашнем роутере для софта без установки I-Client,
чтобы корректно работала зона .xn--p1ag (и другие тоже), так как root-серверы
DNS про нее до сих пор ничего не знают (а пора было бы так как регистрация
идет и так далее)Идем вот сюда http://www.i-dns.net/support_download/downloads/downloads.html
Качаем http://www.i-dns.net/download/db.cacheМожем заменить им свой named.root. И будет счастье, зоны .xn--p1ag заработают
(они так и рекомендуют -
http://www.i-dns.net/support_download/downloads/sysadmin/enabling_unix_dbcache.
html )
Hо это не наш метод. Действительно, как можно заменить 13 корневых серверов
(реально больше так как там размазанный по миру кластер) четырями незвестными
адресами.Hастроем named
Смотрим файлик db.cache — внутри него написано=============================
; This file holds the information on iDNS name servers
; needed to initialize cache of MULTILINGUAL Internet
; domain name servers.
;
; (e.g. reference this file in the "cache . "
; configuration file of BIND domain name servers).
;
; last update: 6 Jan 2003
;
NSA.I-DNS.NET. 1D IN A 64.62.142.131
. 1D IN NS NSA.I-DNS.NET.
NSB.I-DNS.NET. 1D IN A 195.161.113.189
. 1D IN NS NSB.I-DNS.NET.
NSC.I-DNS.NET. 1D IN A 211.169.245.170
. 1D IN NS NSC.I-DNS.NET.
NSD.I-DNS.NET. 1D IN A 203.81.44.47
. 1D IN NS NSD.I-DNS.NET.
==========================Hаша цель — получить список зон которые заканчиваются на punicode-символы
и засунуть их в named.confИдем вот сюда http://fastserv.name.net/open_source/php/punycode/
или сюда http://www.midano.com/convertIDN.asp (без особой разницы я ходил сюда)
или пишем конвертор самостоятельно (см. google.com) и получаем список
поконвертив частые именаxn--p1ag — ру
xn--j1aef — ком
xn--e1apq — нет
xn--c1avg — оргДля начала достаточно. Если появятся арабы или китайцы — милости просим
закодироваться.Hаходим на каких серверах находятся эти домены спросив у любого корневого
сервера
запись SOA для домена (я засунул вывод в grep для наглядности чтобы было меньше
«лишней информации»# dig @64.62.142.131 xn--p1ag soa | egrep 'NS|A' | grep -v SOA | grep -v ';;'
xn--p1ag. 86400 IN NS nsa.i-DNS.net.
xn--p1ag. 86400 IN NS nsd.i-DNS.net.
nsa.i-DNS.net. 518400 IN A 64.62.142.131
nsd.i-DNS.net. 518400 IN A 203.81.44.47В нашем случае все 4 зоны живут на 64.62.142.131 и 203.81.44.47, если взять
скажем болгарский домен .бг (.xn--90ae) то он живет на серверах
83.148.101.204
83.142.20.229
85.187.218.67
216.117.186.93
66.252.1.255Hо это не суть важно, в любом случае зоны надо прописывать (либо если не хотим
— пункт первый
с заменой named.conf)Теперь берем и правим наш named.conf
# mkdir /etc/namedb/stub
# chown bind /etc/namedb/stub# vi /etc/namedb/named.conf
zone «xn--p1ag» {
type stub;
file «stub/xn--p1ag»;
masters { 64.62.142.131; 203.81.44.47; };
};zone «xn--j1aef» {
type stub;
file «stub/xn--p1ag»;
masters { 64.62.142.131; 203.81.44.47; };
};zone «xn--e1apq» {
type stub;
file «stub/xn--p1ag»;
masters { 64.62.142.131; 203.81.44.47; };
};zone «xn--c1avg» {
type stub;
file «stub/xn--p1ag»;
masters { 64.62.142.131; 203.81.44.47; };
};Перезапускаем named, и наслаждаемся тем, что теперерь «чисто русские домены
работают»
со страницы скажем http://iclient.ru/ открываются в FireFox 2.0.0.14 и пытаемся
понять, «зачем это нам надо» ...Теперь работает резолвинг без проблем и в браузере и так далее
ls@ls:~% ping xn--d1abbgf6aiiy.xn--c1avg
PING xn--d1abbgf6aiiy.xn--c1avg (217.16.27.37): 56 data bytes
64 bytes from 217.16.27.37: icmp_seq=0 ttl=51 time=53.953 ms
64 bytes from 217.16.27.37: icmp_seq=1 ttl=51 time=53.520 ms
^C
-± xn--d1abbgf6aiiy.xn--c1avg ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 53.520/53.737/53.953/0.216 msls@ls:~% host xn--d1abbgf6aiiy.xn--c1avg
xn--d1abbgf6aiiy.xn--c1avg has address 217.16.27.37Рекомендую распространить как можно шире данный текст, провайдерам разрешается
анонсировать «автоматическую поддержку русскоязычных доменов браузерами» и
прописывать
большее количество IDN-доменов (возможно через include файл, который
централизовано
обновлять) в конфигурациях ваших резолверов, тем самым мы приблизимся
на шаг к глобальной руссификации интернет-доменов, жалко, что эти домены
конечно
отсутствуют на корневых серверах имен, но это уже тема отдельной большой
статьи.Svyatoslav
— GoldED+/W32 1.1.5–030809
* Origin: No route to host (2:5070/66.35@fidonet.org)
Еще ссылка по теме , я как-то упоминал об этом в своих заметках.