dnsproxy.8.in revision 04bdb234571448ed6194e1d4048e6512f2446f1c
$Id: dnsproxy.8.in,v 1.10 2000/11/17 07:36:37 ishisone Exp $

Copyright (c) 2000 Japan Network Information Center. All rights reserved.

By using this file, you agree to the terms and conditions set forth bellow.

LICENSE TERMS AND CONDITIONS

The following License Terms and Conditions apply, unless a different
license is obtained from Japan Network Information Center ("JPNIC"),
a Japanese association, Fuundo Bldg., 1-2 Kanda Ogawamachi, Chiyoda-ku,
Tokyo, Japan.

1. Use, Modification and Redistribution (including distribution of any
modified or derived work) in source and/or binary forms is permitted
under this License Terms and Conditions.

2. Redistribution of source code must retain the copyright notices as they
appear in each source code file, this License Terms and Conditions.

3. Redistribution in binary form must reproduce the Copyright Notice,
this License Terms and Conditions, in the documentation and/or other
materials provided with the distribution. For the purposes of binary
distribution the "Copyright Notice" refers to the following language:
"Copyright (c) Japan Network Information Center. All rights reserved."

4. Neither the name of JPNIC may be used to endorse or promote products
derived from this Software without specific prior written approval of
JPNIC.

5. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY JPNIC
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JPNIC BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

6. Indemnification by Licensee
Any person or entities using and/or redistributing this Software under
this License Terms and Conditions shall defend indemnify and hold
harmless JPNIC from and against any and all judgements damages,
expenses, settlement liabilities, cost and other liabilities of any
kind as a result of use and redistribution of this Software or any
claim, suite, action, litigation or proceeding by any third party
arising out of or relates to this License Terms and Conditions.

7. Governing Law, Jurisdiction and Venue
This License Terms and Conditions shall be governed by and and
construed in accordance with the law of Japan. Any person or entities
using and/or redistributing this Software under this License Terms and
Conditions hereby agrees and consent to the personal and exclusive
jurisdiction and venue of Tokyo District Court of Japan.
DNSPROXY 8
NAME
dnsproxy - DNS proxy server for multi-lingual DNS
SYNOPSIS
dnsproxy [ -daemon ] [ -config <config-file> ] [ -logfile <log-file> ]
DESCRIPTION
dnsproxy resides between application (resolver) and DNS server.

It accepts DNS requests from application (resolver) and converting domain names in those requests into DNS server's acceptable encoding, and forward those converted requests. It also accepts responses from DNS server and converting domain names in those resopnses into application's acceptable encoding and forward those responses to applications.

OPTIONS

-daemon Run dnsproxy as daemon. Otherwise, dnsproxy will run as normal console program.

-config <config-file> Specifies configuration file (see later). If not specified, dnsproxy uses default configuration file. See FILES section for default configuration file.

-logfile <log-file> Specifies logging file. If not specified. dnsproxy uses default logging file. See FILES section for default configuration file.

CONFIGURATION
Configuration file is simple text file which defines several configuration data.
"listen <address>"

Defines listening port (both TCP and UDP). <address> is one of

<IP address>:<port number>

:<port number>

<IP address>

If omitted, dnsproxy uses default value shown below.

IP Address INADDR_ANY (0.0.0.0)

port number 53

"forward <address> [ bind4compat ]"

Defines forwarding server's address. Format is same as 'listen'.

example:

forward 10.1.2.3

If "bind4compat" was given, dnsproxy uses above listen port as forwading UDP's source address. If not given, dnsproxy uses port > 1024 as forwading UDP's source.

"log-file <path>"

Defines log file name. It may be overridden with command line option '-logfile <path>'. If no log file given, dnsproxy writes log data into "/tmp/dnsproxy.log". Sending SIGHUP causes dnsproxy to close the log file and then reopen it.

"client-translation <ZLD> <Encoding>"

Defines client side character encoding scheme. Some clients locally encode domain name and add <ZLD> (Zero Level Domain) to it. In those cases, use <ZLD> and specify corresponding encoding. Usually, no mDNS'nized client passes domain name in client's local encoding. For those case, use '.' as ZLD. You may specify several 'client-translation's if client uses several encoding with different ZLD.

example:

client-translation .i-dns.net UTF-5 # accept ZLDs
client-translation . Shift_JIS

Acceptable ZLD will depend on client programs. Also acceptable encodings depend on client and the implementation of `iconv()' function, which dnsproxy uses internally for encoding conversion. Check the document on `iconv()' for acceptable encoding names.

"alternate-encoding <Encoding>"

Defines client side alternative encoding scheme. The alternative encoding will be used when the conversion from server-side encoding to the default local encoding is failed due to the lack of mapping some certain characters to the local character set.

example:

alternate-encoding RACE

The alternative encoding must be an ASCII compatible encoding, such as RACE.

"normalize <Normalization Scheme> ..."

Defines domain name normalization schemes. You can specify several normalizations and they are applied left to right.

example:

normalize ja-fullwidth unicode-form-c

Acceptable normalizations depend on 'libmdn' library. Check documents for 'libmdn' for more detail.

"server-translation <Encoding>"

Defines server side character encoding scheme. Finally, domain names in DNS request from clients are converted to this encoding and forwarded to mDNS'nized DNS server.

example:

server-translation . UTF-8

"user-id <Name-or-ID>"

Defines a user ID in which dnsproxy operates. Dnsproxy tries to change the user ID of its process to the specified one, soon after initialization.

example:

user-id  nobody
user-id  9999

It is strongly recommended to use this option for security reasons.

"group-id <Name-or-ID>"

Defines a group ID in which dnsproxy operates. Dnsproxy tries to change the group ID of its process to the specified one, soon after initialization.

example:

group-id  nobody
group-id  9999
"root-directory <Directory>"

Defines the pathname of the root directory for the dnsproxy process. Dnsproxy performs chroot() to set the specified directory as the root directory for the process after initialization.

example:

root-directory /var/dnsproxy
"log-level <Level>"

Sets the log level. Available levels are ``none'' (no logging at all), ``fatal'' (only logs fatal errors), ``warn'' (also logs warning messages) and ``trace'' (also includes trace level messages). The default level is ``warn''. Please note that if you set the level to ``trace'', the size of the log file grows quickly.

NOTES
Some applications locally mangles domain names. In those cases, dnsproxy cannot works correctly.

For 'nslookup', it generally reject non-ascii domain names. You need 8bit through patched version of nslookup.

For UNIX resolver generally rejects domain names using non-ascii characters. You need 8bit through patched version of resolver.

For Windows, NS works well with dnsproxy. For IE, turn off "use UTF-8" setting, and generally works. But for IE, embedded URL's in page will converted by IE (to page's original encoding), and they conflict with dnsproxy.

FILES

0

30 @ETCDIR@/dnsproxy.conf Default configuration file.

/tmp/dnsproxy.log Default logging file.

SLL ALSO
named(8), libmdn(3), iconv(3)