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

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

ロゴ:JPNIC

WHOIS 検索 サイト内検索 WHOISとは? JPNIC WHOIS Gateway
WHOIS検索 サイト内検索
                 
                      mDNkit Frequently Asked Questions
                                                           2001/01/19 版

【コンパイル時の注意点】

Q.1010

    Solaris で mDNkit を作ろうとしていますがソースにパッチが当たりません。

A.1010

    Solaris のシステムに付属する patch コマンドは mDNkit に含まれるパッチ
    の形式を正しく解釈できないため、パッチが正しく当たりません。GNU patch
    のソースを入手してインストールして、それを使用してください。

    	GNU patch web page
		 http://www.fsf.org/software/patch/patch.html 

Q.1020

    make の時に iconv.h が見つからないと言われます。

A.1020

    mDNkit は、既に iconv ライブラリがインストールされていることを前提と
    しています。もし iconv ライブラリがインストールされていないのであれば
    まず、iconv ライブラリのインストールを行ってください。フリーの iconv
    ライブラリとしては以下のものがあります。

	libiconv Web page
		 http://clisp.cons.org/~haible/packages-libiconv.html

    上記の iconv ライブラリをインストールした場合など、iconv.h が標準の
    インクルードファイルパス以外にある場合には、configure を実行する際に
    環境変数 CFLAGS でそのパスを設定してください。

	(sh 系のシェルの場合)
		% CFLAGS="-I/usr/local/include" ./configure ...

	(csh 系のシェルの場合)
		% setenv CFLAGS "-I/usr/local/include"
		% ./configure ...

Q.1030

    BIND 9.0.1 に mDNkit のパッチを当ててコンパイルしようとしたところ、
    sqr がないというエラーメッセージが出てコンパイルできません。

A.1030

    OpenSSL がインストールされていて、そのヘッダファイルが BIND 9.0.1 に
    付属の SSL ライブラリのヘッダファイルより先に読み込まれている可能性
    があります。

    configure を実行した際の環境変数 CFLAGS に、OpenSSL のヘッダファイル
    がインストールされたディレクトリが設定されていることが考えられます。
    その場合には、環境変数 CFLAGS をクリアして、configure からやり直して
    みてください。

	(sh 系のシェルの場合)
		% CFLAGS="" ./configure ...

	(csh 系のシェルの場合)
		% setenv CFLAGS ""
		% ./configure ...

Q.1040

    libiconv-1.3 の shared ライブラリが作成されません。

A.1040

    libiconv-1.3 に付属の shared ライブラリ生成ツールは FreeBSD4.x 系
    などの比較的新しい OS には対応していません。最新版の libiconv を
    お使いください。最新版の入手先については A.1020 をご参照ください。

    どうしても libiconv-1.3 を使わなければならない場合には、mDNkit の
    トップディレクトリにある ltconfig と ltmain.sh の 2つのファイルを
    libiconv-1.3/autoconf ディレクトリにコピーして、configure からやり
    直してください。

Q.1050

    make してできた mdnconv コマンドを実行しようとすると libiconv.so.2.0
    が見つからないというエラーメッセージが出力されて実行できません。

A.1050

    mDNkit の configure 時に --with-iconv オプションで iconv のライブラリ
    がインストールされたディレクトリを指定してください。

	(/usr/local/lib にインストールされている場合)
		% ./configure --with-iconv="-L/usr/local/lib -R/usr/local/lib -liconv" ...

Q.1060

    Debian GNU/Linux で mDNkit 付属の BIND 9 パッチをあてた BIND 9.0.1
    をコンパイルしようとしたら、dns/enumclass.h がないといわれてエラー
    になりました。

A.1060

    mDNkit の共有ライブラリ libmdn.so* がインストールされたディレクトリ
    が共有ライブラリのサーチパスに入っていないためです。/etc/ld.so.conf
    に当該ディレクトリパスを追加し、ldconfig コマンドを実行してください。

【設定方法】

Q.2010

    dnsproxy.conf の client-translation や server-translation には必ず
    ZLD を指定しなければならないのですか?configure 時に --enable-zld
    オプションは指定していません。

A.2010

    --enable-zld オプションの有無に関わらず、構文上は ZLD を必ず指定
    しなければなりません。ただし、--enable-zld オプションが指定されて
    いなければ、ZLD として何を設定しても無視されます。

Q.2020

    normalization には何を設定すればよいのですか?

A.2020

    JPNIC としては、normalization とドメイン名のエンコーディングに下記の
    設定を行うことを推奨致します。

    normalization の設定は下記の内容を推奨します。

	normalize ja-kana-fullwidth ja-alnum-halfwidth ja-compose-voiced-sound unicode-lowercase unicode-form-kc

    ドメイン名のエンコーディングの設定は RACE を推奨します。

	server-translation . RACE

    なお、上記の設定は、mDNkit-1.2 以上を使用が前提となります。最新版の
    mDNkit-1.2.1 を使うようにして下さい。

Q.2030

    dnsproxy を起動すると、initTcp や initUdp といったメッセージが出力
    されてエラー終了します。

A.2030

    dnsproxy は DNS サーバと同一のポートを使用しています。従って、既に
    DNS サーバが起動されているホスト上では、通常は dnsproxy を起動する
    ことはできません。DNS サーバと dnsproxy は別のホスト上で動かす様に
    してください。

Q.2040

    dnsproxy と DNS サーバを同じホスト上で動かすことはできませんか?
 
A.2040

    dnproxy と DNS サーバが問い合わせを受け付けるポート番号を違うものに
    するか、dnsproxy と DNS サーバが問い合わせを受け付ける IP アドレス
    を違うものにしてください。

Q.2050

    mdnconv を使用して、BQ--3BS6KZZMRKPDBSJQ4EYKIMHTKQGYUZU2CM.JP を
    デコードしようとしたのですが、うまくデコードできません。

A.2050

    mDNkit-1.0 では、大文字のドメイン名をデコードすることはできません。
    mDNkit-1.2 以上を使用が前提となります。最新版の mDNkit-1.2.1 を使う
    ようにして下さい。

【クライアントからの使い方】

Q.3010

    環境変数 LANG に ja_JP.euc-JP を設定しています。mdnconv はそれに従っ
    て正しくローカルエンコーディングを判断してくれますが、runmdn は正し
    くは判断してくれません。

A.3010

    runmdn で環境変数 LANG が評価されるか否かはアプリケーションの locale
    の設定方法に依存します。依存しないためには、環境変数 MDN_LOCAL_CODESET
    に iconv ライブラリが受付可能なコードセット名を設定してください。

Q.3020

    runmdn を使って telnet はできますが、ping ができません。

A.3020

    runmdn はセキュリティ上の理由から、SUID または SGID ビットが立った
    コマンドには使用できません。

Q.3030

    Solaris で runmdn が動きません。

A.3030

    Solaris のリゾルバライブラリは bind4 / bind8 のリゾルバとは仕様が
    異なるために、残念ながら runmdn は動きません。代わりに dnsproxy を
    使用してください。

Q.3031

    runmdn で telnet を実行したら、下記のエラーが起きて実行できません。

    ld.so.1: telnet: fatal: relocation error: file /usr/local/lib/libmdnresolv.so.4: symbol mdn__lace_convert: referenced symbol not found Killed

A.3031

    mDNkit-1.2 は runmdn の Makefile に不具合がありました。最新版の 
    mDNkit-1.2.1 を使うようにしてください。

Q.3040

    mDN Wrapper を使うと Netscape が起動できません。

A.3040

    残念ながら Netscape では mDN Wrapper は使えません。代わりに dnsproxy
    をご利用ください。

Q.3050

    dnsproxy を使うと、日本語ドメイン名に片仮名の「ソ」が含まれていると
    正しくアドレス解決ができません。

A.3050

    クライアント側のローカルエンコーディングが SJIS で、かつクライアント
    側のリゾルバが 8bit クリーンでないと、SJIS 中に '\'(ASCII コードで 
    0x5c)が含まれる文字の場合は、その部分のみ削除されることがあり、その
    ためにアドレス解決に失敗します。代わりに runmdn を使うか、ホスト側の
    リゾルバライブラリを 8bit クリーンのものと入れ替えてください。

Q.3060

    mDN Wrapper のコンフィグレーションプログラムでアプリケーションを
    wrap しようとすると、エラーダイアログが出力されて wrap できません。

    mDN Wrapper のコンフィグレーションプログラムで wrap したアプリケー
    ションを unwrap しようとすると、エラーダイアログが出力されて unwrap
    できません。

A.3060

    mDN Wrapper のコンフィグレーションプログラムで wrap を行うと、登録
    されたアプリケーションがインストールされているフォルダに Wrapper
    DLL をコピーします。逆に、unwrap を行うとコピーした Wrapper DLL を
    削除します。

    そのため、wrap を行おうとするアプリケーションが起動されている間は、
    コピーしようとする Wrapper DLL がオープンされているため wrap は失敗
    します。また、wrap が行われたアプリケーションが起動されている間は、
    コピーされた Wrapper DLL がオープンされているため unwrap が失敗します。

    wrap および unwrap はアプリケーションを終了してから行ってください。

Q.3070

    mDN Wrapper でログを残すことはできませんか?

A.3070

    mDN Wrapper は、コンフィギュレーションプログラムの "Log.." ボタンで
    ログレベルやログファイルの設定や、ログの参照または削除を行うことが
    できます。

    設定可能なログレベルは None, Fatal, Error, Warning, Info, Trace です。
    ログを出力したくない場合には None を選択してください。

    また、ログの参照は "View" ボタンで、ログの削除は "Delete" ボタンを
    クリックすることにより行うことができます。

Q.3080

    runmdn でログを残すことはできませんか?

A.3080

    runmdn は、環境変数 MDN_LOG_LEVEL に 0 から 5 までの数値を設定する
    ことで、標準エラー出力にログを出力することが可能となります。

    数値が大きくなるほど、出力されるログの詳細度があがりますが、その分
    情報量が増えます。これは runmdn が利用している mDNkit のライブラリ
    libmdn の機能なので、mdnconv でも同様に使用可能です。

    MDN_LOG_LEVELに 4 または 5 を指定する場合には、CFLAGS に -DDEBUG
    オプションを追加して libmdn および当該ライブラリをリンクしている
    コマンドを再コンパイルしてください。

Q.3090

    mDN Wrapper のインストールを行ったのですが、新しくなったようには
    見えません。

A.3090

    mDNkit-1.2 以前の mDN Wrapper を既にご利用になっていて、mDNkit-1.2.1 
    の mDN Wrapper を上書きインストールしようとすると発生する問題です。

    その場合は、以下の手順に従って、mDNkit-1.2.1 のmDN Wrapper をインスト
    ールするようにしてください。

    (1) mDNkit-1.2.1 の mDN Wrapper をインストールする前に必ず mDN Wrapper
        をアンインストールしてください。

        アンインストールは、[スタート]→[設定] →[コントロールパネル]→
        [アプリケーションの追加と削除]で mDN Wrapper を選択し、[追加と削除]
        をクリックすることにより可能です。

    (2) mDN Wrapper を新規にインストールしてください。

    (3) mDN Wrapper インストール終了後、[スタート]→[プログラム]→[mDN
        Wrapper]→[mDN Wrapper Configuration]を起動し、wrap されている
        全てのアプリケーションをいったん unwrap してください。

        [Unwrap All]→[はい]をクリックすると、一括して unwrap できます。

        unwrap の際、wrap されているアプリケーションが起動されていると
        エラーとなります。関連するアプリケーションは全て終了しておいて
        ください。(エラーの詳細については A.3070を参照してください。)

     (4) unwrap したアプリケーションを再度 wrap をしてください。

【サーバでの対応】

Q.4010

    ISP 側で dnsproxy を用意すれば、ダイヤルアップユーザーは多言語ドメ
    イン名の Web にアクセスできますか?

A.4010

    ISP のネットワーク構成や利用者の利用状況によって異なります。基本的
    には、多言語ドメイン名の対応は利用者側(リゾルバやアプリケーション
    など)で行われる必要があります。dnsproxy は利用者の端末で対応でき
    ない場合のための補助的な手段であり、最終的な解決法ではありません。

Q.4020

    Apache で日本語ドメイン名の Web サイトを立ち上げたのですが、日本語
    ドメイン名では Apache のログに "Client sent malformed Host header"
    というメッセージが出力されてアクセスできません。

A.4020

    Apache-1.3.10 からセキュリティ上の理由で、HTTP リクエスト中の Host
    ヘッダのチェックが厳しくなり、ASCII の英数字、ハイフン、ドット(ピ
    リオド)以外の文字は不正なホスト名とみなされるようになりました。

    mDNkit はリゾルバ(ドメイン名の問い合わせ)の部分で多言語対応する
    機能を提供するもので、個々のアプリケーションプロトコルには対応して
    いません。現状では、Apache で日本語ドメイン名のリクエストを受け付
    けるためには以下のいずれかの対応が必要となります。

	・Apache-1.3.9 を使う
	・Apache-1.3.10 以上を使う場合、src/main/http_vhost.c の
	  fix_hostname 関数を Apache-1.3.9 のものと入れ替える
	・Host ヘッダを ACE で出力する Web ブラウザを使う
	  (そのような Web ブラウザがあったら教えてください)

Q.4030

    Squid 2.3-STABLE3 用のパッチは用意されていますが、Apache-1.3.10 以
    上用のパッチは用意されないのですか?

A.4030

    一般に HTTP Proxy サーバは利用者の近くに配置されるため、利用者の端
    末が使用する文字エンコーディングを仮定することが可能です。

    そのため、日本語ドメイン名の導入初期において、dnsproxy または mDNkit
    が提供するリゾルバライブラリと組み合わされた HTTP Proxy を使用する
    ことは、多言語ドメイン名での Web アクセスに対応する有効な方式になり
    得ると考えています。

    Squid は世界中で広く使われている HTTP Proxy あり、小規模なパッチで
    対応することが可能であったため、パッチを用意しました。

    Web サーバは利用者の近くに配置されるものではなく、利用者の端末が使
    用する文字エンコーディングを仮定することは不可能です。

    そのため、Web サーバで多言語ドメイン名に対応することは困難であり、
    また、日本語ドメイン名にのみ対応するようなパッチを作成することは 
    Web サーバの汎用性を失わせることになるため、パッチは用意しません。

【その他】

Q.5010

    ACE って何ですか?

    ZLD って何ですか?

A.5010

    ACE とは ASCII Compatible Encoding の略で、多言語ドメイン名を
    ASCII 文字のみで表現するエンコーディング方式のことです。

    ACE はそれ自体 ASCII 文字列ですので、プレフィックスやサフィックス
    として特定の文字列を追加するなどの工夫を施さない限り、それが ASCII
    文字列なのか ACE なのかを判断することはできません。

    ZLD とは Zero Level Domain のことで、利用者が意識する必要のない、
    もしくは利用者から隠蔽された特別な上位レベルドメイン名のことです。

    ZLD は、ACE を判別する方式の一つですが、実際のドメイン名空間では
    ZLD は通常のドメイン名として存在しますので、ZLD の使用はドメイン名
    空間の分断を招く恐れがあるとして、現在では支持されていません。

Q.5020

    RACE って何ですか?

A.5020

    RACE とは Row-based ASCII Compatible Encoding の略で、ACE 方式の一
    つです。ACE であることが識別できる特定の文字列を持つ(プレフィック
    スに bq-- が付く)ことと、簡単な圧縮アルゴリズムが使用されているこ
    とが特徴で、多言語ドメイン名で使用される ACE の有力候補の一つです。

	(例)日本語ドメイン名.jp
	           ↓(RACE に変換)
	      bq--3bs6kzzmrkpdbsjq4eykimhtkqgq.jp

Q.5030

    RACE 以外の ACE 方式は実装されないのですか?

A.5030

    RACE 以外では mDNkit-1.2 から LACE と BRACE がサポートされています。
    最新版の mDNkit-1.2.1 を使うようにしてください。

Q.5040

    djbdns を使っているのですが、多言語ドメイン名は使えますか?

A.5040

    ACE を使えば可能と思われます。動作確認のご報告をいただけると幸いです。

Q.5050

    バグを見つけました。どこに報告すればよいですか?

A.5050

    mdnkit-bugs@nic.ad.jp にメールでご連絡ください。その際、わかる範囲
    で結構ですので、以下の情報を添付してください。

	・OS 名、OS バージョン
	・DNS サーバ名(BINDなど)、DNS サーババージョン
	・dnsproxy.conf、mdnres.conf の内容
	・dnsproxy、mDN Wrapper のログ
	・mDNkit コンパイル時のオプションなど(CFLAGS や configure 時
	  のオプションなど)

Q.5060

    この FAQ に間違いを見つけました。どこに報告すればよいですか?

A.5060

    idn-cmt@nic.ad.jp にメールでご連絡ください。

Q.5070

    この FAQ に項目を追加したいのですが、どこに連絡すればよいですか?

A.5070

    idn-cmt@nic.ad.jp にメールでご連絡ください。Q & A の形式でご連絡を
    いただけると幸いです。


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

このWebページは役に立ちましたか?
ページの改良点等がございましたら自由にご記入ください。

このフォームをご利用した場合、ご連絡先の記入がないと、 回答を差し上げられません。 回答が必要な場合は、お問い合わせ先をご利用ください。

ロゴ:JPNIC

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