BIND - настройка поддержки IDN-домена

  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:ceb811dc78354c2c91153ed93240bf28' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtejustify\">Не будем разлогольствовать по поводу: &quot;IDN-домены - это хорошо,&nbsp;или плохо?&quot;. Мне,&nbsp;как администратору приходится отталкиваться от уже поставленных задач...</p>\n<p class=\"rtejustify\">Итак, ТЗ следующее - организовать на name-сервере под управлением BIND 9.4.3 поддержки IDN-домена на кирилице. Исходные данные:</p>\n<ul>\n<li class=\"rtejustify\"><strong>domain</strong>: картридж.kiev.ua</li>\n<li class=\"rtejustify\"><strong>name-servers</strong>: alpha.muff.kiev.ua и beta.muff.kiev.ua</li>\n<li class=\"rtejustify\"><strong>A-запись</strong>: 91.196.100.27</li>\n</ul>\n<p class=\"rtejustify\">Первым делом необходимо преобразовать исходный домен в формат <strong>Punycode</strong>.</p>\n<p class=\"rtejustify\"><strong>Punycode </strong>(произносится как &laquo;пуникод&raquo;) &mdash; стандартизированный метод преобразования последовательностей Unicode-символов в так называемые ACE-последовательности, которые состоят только из алфавитно-цифровых символов, как это разрешено в доменных именах. Punycode был разработан для однозначного преобразования доменных имен в последовательность ASCII-символов.</p>\n<p class=\"rtejustify\">Важнейшей причиной введения <strong>Punycode </strong>был тот факт, что в утверждённой стандартом системе доменных имен разрешены только 26 символов латинского алфавита, цифры от 0 до 9 и дефис. Для английского и некоторых других языков с латинским алфавитом этого достаточно, однако другие языки, в том числе и с латинским алфавитом, содержат дополнительные символы, например &auml;, &ouml; или &uuml;.</p>\n<p class=\"rtejustify\">Для преобразования воспользуемся <a href=\"http://muff.kiev.ua/services/IDN-converter/idnconv.php\">конвертером</a>. В результате конвертации <strong>картридж.kiev.ua</strong> преобразовывается в <strong>xn--80aiggi1bap.kiev.ua</strong>. <br />\n&nbsp;</p>\n<p class=\"rtejustify\">Следующий шаг - добавить в <strong>BIND</strong> поддержку этого домена. Для этого внесем в файл <strong>named.conf</strong> (либо же в любой другой файл,&nbsp;который инклюдится в основной конфиг) такой блок:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>zone &quot;xn--80aiggi1bap.kiev.ua&quot; {<br />\n &nbsp;&nbsp;&nbsp; type master;<br />\n &nbsp;&nbsp;&nbsp; file &quot;/zones/xn--80aiggi1bap.kiev.ua&quot;;<br />\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allow-query {any ; };<br />\n };</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Теперь,&nbsp;собственно,&nbsp;пора создать файл зоны xn--80aiggi1bap.kiev.ua и внести необходимые записи. В результате нехитрых манипуляций,&nbsp;имеем в наличии файл <strong>/var/named/zones/xn--80aiggi1bap.kiev.ua</strong> (не забываем, что пути в конфигурационном файле BIND-а - относительные) следующего содержимого:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<pre>\n$TTL 1W\n@ IN SOA alpha.muff.kiev.ua. <a href=\"http://www.muff.kiev.ua/\">www.muff.kiev.ua</a>. (\n\n</pre><pre>\n 2011070400 ; serial\n 8H ; refresh\n 2H ; retry\n 1W ; expiry\n 11h) ; minimum\n\n</pre><pre>\n@ IN NS alpha.muff.kiev.ua.\n@ IN NS beta.muff.kiev.ua.\n\n</pre><pre>\n@ IN A 91.196.100.27\nwww IN A 91.196.100.27\n</pre></td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">&nbsp;Для того, чтобы изменения вступили в силу, даем команду на реконфигурирование:</p>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td>\n<p># <strong>rndc reload</strong></p>\n</td>\n</tr>\n</tbody>\n</table>\n<p class=\"rtejustify\">Собственно говоря,&nbsp;на этом все... Необходимый результат достигнут.</p>\n<p class=\"rtejustify\"><span style=\"color: #ff0000\"><strong>ПРИМЕЧАНИЕ</strong></span>: Пути могут немного отличаться, но если настройка BIND выполнялась по <a href=\"http://muff.kiev.ua/content/bind-9-nastroika-dns-servera\">этой статье</a>,&nbsp;то проблем не должно возникнуть.</p>\n', created = 1767357242, expire = 1767443642, headers = '', serialized = 0 WHERE cid = '2:ceb811dc78354c2c91153ed93240bf28' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:07243fc0252056071eaa62af8c18d662' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><a class=\"thickbox\" href=\"/files/imagepicker/1/wake_up_ua.png\"><img alt=\"Вставай, Україно!\" class=\"imgp_img\" src=\"/files/imagepicker/1/thumbs/wake_up_ua.png\" style=\"height:200px; width:150px\" /></a></p>\n', created = 1767357242, expire = 1767443642, headers = '', serialized = 0 WHERE cid = '2:07243fc0252056071eaa62af8c18d662' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:cc913d232116f0426090404133377d88' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '2:d9a86123bfcbc57878743027b584400b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: UPDATE cache_filter SET data = '<p class=\"rtecenter\"><a href=\"http://muff.kiev.ua/rss.xml\"><img alt=\"RSS\" width=\"160\" height=\"60\" src=\"http://muff.kiev.ua/files/muf-rss.png\" /></a></p>\n', created = 1767357242, expire = 1767443642, headers = '', serialized = 0 WHERE cid = '2:d9a86123bfcbc57878743027b584400b' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 112.
  • user warning: Table './muffsql1/cache_filter' is marked as crashed and should be repaired query: SELECT data, created, headers, expire, serialized FROM cache_filter WHERE cid = '3:39649256b636e3d5ded656bc52bd8c01' in /usr/local/www/muff.kiev.ua/includes/cache.inc on line 27.
Версия для печатиОтправить другуPDF version

Не будем разлогольствовать по поводу: "IDN-домены - это хорошо, или плохо?". Мне, как администратору приходится отталкиваться от уже поставленных задач...

Итак, ТЗ следующее - организовать на name-сервере под управлением BIND 9.4.3 поддержки IDN-домена на кирилице. Исходные данные:

  • domain: картридж.kiev.ua
  • name-servers: alpha.muff.kiev.ua и beta.muff.kiev.ua
  • A-запись: 91.196.100.27

Первым делом необходимо преобразовать исходный домен в формат Punycode.

Punycode (произносится как «пуникод») — стандартизированный метод преобразования последовательностей Unicode-символов в так называемые ACE-последовательности, которые состоят только из алфавитно-цифровых символов, как это разрешено в доменных именах. Punycode был разработан для однозначного преобразования доменных имен в последовательность ASCII-символов.

Важнейшей причиной введения Punycode был тот факт, что в утверждённой стандартом системе доменных имен разрешены только 26 символов латинского алфавита, цифры от 0 до 9 и дефис. Для английского и некоторых других языков с латинским алфавитом этого достаточно, однако другие языки, в том числе и с латинским алфавитом, содержат дополнительные символы, например ä, ö или ü.

Для преобразования воспользуемся конвертером. В результате конвертации картридж.kiev.ua преобразовывается в xn--80aiggi1bap.kiev.ua.
 

Следующий шаг - добавить в BIND поддержку этого домена. Для этого внесем в файл named.conf (либо же в любой другой файл, который инклюдится в основной конфиг) такой блок:

zone "xn--80aiggi1bap.kiev.ua" {
    type master;
    file "/zones/xn--80aiggi1bap.kiev.ua";
        allow-query {any ; };
};

Теперь, собственно, пора создать файл зоны xn--80aiggi1bap.kiev.ua и внести необходимые записи. В результате нехитрых манипуляций, имеем в наличии файл /var/named/zones/xn--80aiggi1bap.kiev.ua (не забываем, что пути в конфигурационном файле BIND-а - относительные) следующего содержимого:

$TTL 1W
@               IN      SOA     alpha.muff.kiev.ua. www.muff.kiev.ua. (

                                2011070400 ; serial
                                8H ; refresh
                                2H ; retry
                                1W ; expiry
                                11h) ; minimum

@               IN      NS      alpha.muff.kiev.ua.
@               IN      NS      beta.muff.kiev.ua.

@               IN      A       91.196.100.27
www             IN      A       91.196.100.27

 Для того, чтобы изменения вступили в силу, даем команду на реконфигурирование:

# rndc reload

Собственно говоря, на этом все... Необходимый результат достигнут.

ПРИМЕЧАНИЕ: Пути могут немного отличаться, но если настройка BIND выполнялась по этой статье, то проблем не должно возникнуть.

Ваша оценка: Нет Средняя: 3.5 (2 голоса)

Вставай, Україно!

Литература

Юзеры с компом на "Вы", программеры - на "Ты", а хацкеры - на "Ты, козёл..."