# クライアント側の設定

DNS Proxy Server (dnsproxy) は、基本的には 多言語ドメイン名に対応していないクライアントから 多言語化対応したDNSサーバを利用できるようにするものです。

> ある手法の多言語ドメイン名に対応しているクライアントから 他の手法で多言語化対応したDNSサーバを利用するためにも使用できます。

実際にあるクライアントで多言語ドメイン名を使うことができるかどうかは、 そのクライアントがドメイン名をどのように扱うかによります。 クライアントが、ドメイン名を、クライアント側のエンコーディングで なにもチェック／加工しないで使用しているなら、 dnsproxyを経由することによって、多言語ドメイン名が利用可能になります。 しかし、クライアント側でドメイン名のシンタックスを厳密にチェックしていたり、 ある種の変換を行なっているような場合には、dnsproxyは役に立ちません。

ここでは、いくつかの代表的なクライアントについて、 dnsproxyによる多言語ドメイン名が使うことができるかどうか、 どうすれば多言語ドメイン名を使うことができるようになるか、 を説明します。

## UNIXのアプリケーション

### resolverの問題

UNIXの場合、DNSへの要求は、多くの場合resolverを経由して送られます。 しかし、標準的なresolverはnon-ASCIIのドメイン名を受付けません。 この問題に対処するため、mDNkitにはbin8のresolver (およびnslookup、named)を8-bit throughにするためのパッチが 付属しています。まずは、bind8にこのパッチを適用し、 8-bit throughのresolverを使って再リンクしてください。 詳しくはインストールガイドの 前準備、 bind 用パッチの適用とインストールを ご覧ください。

### nslookup

標準的なnslookupはnon-ASCIIのドメイン名を受付けません。 mDNkitのbind8への8-bit throughパッチを適用して作成された nslookupなら、多言語ドメイン名を使用することが可能になります。 詳しくはインストールガイドの 前準備、 bind 用パッチの適用とインストールを ご覧ください。

### Squid

Squid経由でWebにアクセスするような場合には、non-ASCII文字を含む ドメイン名はsquidによってエラーとされます。 mDNkitにはsquidを8-bit through にする (シンタックスチェックを外す)パッチが含まれています。 これを適用したsquidであれば、多言語ドメイン名を受付けるようになります。 詳しくはインストールガイドの 前準備、 squid 用パッチの適用とインストールを ご覧ください。

### Netscape

残念ながら、入力時点でnon-ASCII文字は拒否されてしまいます。

## Windowsのアプリケーション

Windowsのresolver(WINSOCK)は、non-ASCIIのドメイン名を通すようです。 クライアント内でのチェック、変換が行なわれなければ問題なく 多言語ドメイン名を使うことができます。通常は

        client-translation . Shift_JIS

とすればOKです。

### nslookup

残念ながら、ホスト名の入力時点で、non-ASCII文字を含むホスト名は 拒否されるようです。ls による一覧表示は動作します。

### Netscape Communicator

Version 4.7 は問題なく動作しました。

ただ、HTTPプロキシサーバを使われている場合には、その プロキシサーバが多言語ドメイン名に対応しているかどうかが 問題になりますのでご注意ください。

### Internet Explrore

IEには多言語ドメイン名への対応が一部含まれています。

        ツール
            インターネットオプション
    	    いつもUTF-8としてURLを送信する

しかし、これを使うと、余分なところまでUTF-8で エンコードしてしまうようで、dnsproxyでは使用できません。 逆に、これをオフにして、

        client-translation . Shift_JIS

とすれば、dnsproxy経由で多言語ドメイン名が使えるようになります。

ですが、IEの場合には、webページ内に埋め込まれたURLについては、 そのページのエンコーディングに合わせたエンコーディングに変換して DNSの問合せを行なうようになっていますので、Shift_JIS以外で 記述されたWebページ上の多言語ドメイン名についてはクエリーが 失敗してしまいます。