Ключевые слова:dns, rus, (найти похожие документы)
From: Svyatoslav Lempert <litos@mail.ru.>
Newsgroups: email
Date: Mon, 23 May 2008 17:02:14 +0000 (UTC)
Subject: Punycode, доменные зоны с использованием национальных символов (.ру, .ком, .нет)
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.255
Hо это не суть важно, в любом случае зоны надо прописывать (либо если не хотим
- пункт первый с заменой 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--j1ae";
masters { 64.62.142.131; 203.81.44.47; };
};
zone "xn--e1apq" {
type stub;
file "stub/xn--e1apq";
masters { 64.62.142.131; 203.81.44.47; };
};
zone "xn--c1avg" {
type stub;
file "stub/xn--c1avg";
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 (21.1.7.37): 56 data bytes
64 bytes from 21.1.7.37: icmp_seq=0 ttl=51 time=53.953 ms
64 bytes from 21.1.7.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 ms
ls@ls:~% host xn--d1abbgf6aiiy.xn--c1avg
xn--d1abbgf6aiiy.xn--c1avg has address 21.1.7.37
Рекомендую распространить как можно шире данный текст, провайдерам разрешается
анонсировать "автоматическую поддержку русскоязычных доменов браузерами" и прописывать
большее количество IDN-доменов (возможно через include файл, который централизовано
обновлять) в конфигурациях ваших резолверов, тем самым мы приблизимся
на шаг к глобальной руссификации интернет-доменов, жалко, что эти домены конечно
отсутствуют на корневых серверах имен, но это уже тема отдельной большой статьи.
Еще ссылка по теме http://пример.испытание - корневая зона .испытание
присутствует на корневых серверах имен, по адресу расположен сайт посвященный
этой технологии.
Hастраиваем свой named на домашнем роутере для софта без установки I-Client,
чтобы корректно работала зона .xn--p1ag (и другие тоже), так как root-серверы
DNS про нее до сих пор ничего не знают (а пора было бы так как регистрация
идет и так далее)
А не знают про них потому, что кроме Регтайма никто больше не нае...обманывает своих клиентов! ;-)
Эти зоныы не утверждены ICANN. И по всей видимости вряд ли когда-либо будут утверждены.