Настройка DNS для доменных зон с русскими символами Добрый день Моя сегодняшняя статья будет посвящена настройке DNS для поддержки сайтов с русскими символами, то есть .нет, .ком, .ру 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 заработают. Hо это не для нас))) Действительно, как можно заменить 13 корневых серверов (реально больше так как там размазанный по миру кластер) четырями незвестными адресами. Hастроем named Открываем файл db.cache - внутри него написано следующее: Code: ; 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 или пишем конвертор самостоятельно и получаем список проконвертив частые имена. Code: xn--p1ag - ру xn--j1aef - ком xn--e1apq - нет xn--c1avg - орг Для начала достаточно. Если появятся арабы или китайцы - милости просим закодироваться Hаходим, на каких серверах находятся эти домены спросив у любого корневого сервера запись SOA для домена (я засунул вывод в grep для наглядности чтобы было меньше "лишней информации"). Code: # 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) то он живет на серверах: Code: 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: Code: # 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 и пытаемся понять, зачем нам это надо... Теперь работает резолвинг без проблем и в браузере и так далее: Code: 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 Code: ls@ls:~% host xn--d1abbgf6aiiy.xn--c1avg xn--d1abbgf6aiiy.xn--c1avg has address 21.1.7.37 Рекомендую распространить как можно шире данный текст, провайдерам разрешается анонсировать "автоматическую поддержку русскоязычных доменов браузерами" и прописывать большее количество IDN-доменов (возможно через include файл, который централизовано обновлять) в конфигурациях ваших резолверов, тем самым мы приблизимся на шаг к глобальной руссификации интернет-доменов, жалко, что эти домены конечно отсутствуют на корневых серверах имен, но это уже тема отдельной большой статьи. Впринципе, всё Удачной настройки