メインコンテンツへジャンプする

JPNICはインターネットの円滑な運営を支えるための組織です

ロゴ:JPNIC

WHOIS 検索 サイト内検索 WHOISとは? JPNIC WHOIS Gateway
WHOIS検索 サイト内検索

BIND 9 パッチ


概要

mDNkit に含まれる BIND 9 用のパッチファイルを適用することにより、 BIND 9 に付属するいくつかのツールにおいて 従来の ASCII 文字によるドメイン名に加え、 非 ASCII 文字による多言語ドメイン名を扱うことが可能になります。

具体的には、BIND 9 に次のような機能を追加します。

  • dig、host、nslookup コマンドがローカルエンコーディングのドメイン名を 受け付け、また問い合わせ結果に含まれるドメイン名をローカルエンコーディングで 表示する

BIND 9 へのパッチの適用方法は、パッチファイルの先頭に記載してあります。 なおパッチファイルについては、 対応する BIND のバージョンをよく確認してから、使用してください。


アーキテクチャ

mDNkit の以前のバージョンに含まれる BIND 9 パッチは、概要に記した 機能に加え、次のような機能も提供していました。

  • lightweight resolver API (lwres_gethostbyname など) で、 ローカルエンコーディングで表現されたホスト名を名前解決する
  • 同じく名前解決結果としてローカルエンコーディングで表現された ホスト名を返す

これはリゾルバレイヤで正規化やエンコーディング変換等の多言語ドメイン名処理を 実装するものですが、現在多言語ドメイン名処理のアーキテクチャとして 有力になりつつある IDNA では、これらの処理をすべてアプリケーション内で行うように規定しています。 mDNkit バージョン2 は IDNA に準拠しており、そのため上記の機能を BIND 9 パッチから外しました。

以下に BIND 9 の各コンポーネントで実装される機能と、コンポーネント間の インタフェースで用いるエンコーディングを表した図を示します。

bind9 resolver architecture


dig/host/nslookup 修正

BIND 9 には DNS の問い合わせツールとして dig、host、nslookup という コマンドが付属します。mDNkit の BIND 9 パッチにより、これらはいずれも 多言語ドメイン名が扱えるようになります。具体的には以下の機能が 付加されます。

  • エンコーディング変換
    コマンド引数、あるいは標準入力から入力された、ローカルエンコーディングで 表現されたドメイン名を、DNS プロトコル上で用いられるエンコーディングに変換し、 DNS の問い合わせを発行します。

    また DNS の返答に含まれる多言語ドメイン名をローカルエンコーディングに 変換し、表示します。

  • 正規化
    DNS の問い合わせで、ローカルエンコーディングで表現されたドメイン名を DNS プロトコル上で用いられるエンコーディングに変換する際、ドメイン名の 正規化を行います。

これらの処理には MDN ライブラリの res モジュール を使用しています。 設定はmDNkit設定ファイルで行います。

このページを評価してください

このWebページは役に立ちましたか?
よろしければ回答の理由をご記入ください

それ以外にも、ページの改良点等がございましたら自由にご記入ください。

回答が必要な場合は、お問い合わせ先をご利用ください。

ロゴ:JPNIC

Copyright© 1996-2024 Japan Network Information Center. All Rights Reserved.