ネームサーバに対してリゾルバを使うには、システム管理者が リゾルバを使うマシン毎に /etc/resolv.confというファイルを 用意しなければなりません。このファイルには、 ネームサーバの IP アドレス、自ホストのドメイン名などを記述します。
UNIX によっては、/etc/resolv.conf の他にもファイルの設定が必要となる 場合があります。これについては後述します。
基本的な /etc/resolv.conf の例を下に示します。 nameserver で学内向け DNS ホストの IP アドレスを指定し、domain で自ホストが 所属するドメイン (この例では st.ryukoku.ac.jp) を指定します。 ハッシュ記号 # を行頭に書くと、その行はコメント行になります。
# # sample /etc/resolv.conf file # nameserver 133.83.1.3 nameserver 133.83.1.5 domain st.ryukoku.ac.jp
ふつうの UNIX では nameserver 行は 3 行まで書けるのですが、 世の中には nameserver 行を 1 行しか書けない UNIX もあります。 そのような場合には、次のように nameserver 133.83.1.3 を指定してください。
nameserver 133.83.1.3 domain st.ryukoku.ac.jp
DNS (リゾルバ) にもいくつかのバージョンがあります。 新しいバージョンのリゾルバでは、domain の他に search という指定ができます。 次のように指定します。search の最初のドメインは、各ホストの所属ドメインを 指定するようにしてください。
nameserver 133.83.1.3 nameserver 133.83.1.5 search st.ryukoku.ac.jp math.ryukoku.ac.jp elec.ryukoku.ac.jp
なお、domain と search は共存できません。 どちらか一方だけを記述してください。
domain と search とでは何が違うのでしょうか? 以下では telnet hogehoge というコマンドを入力した場合を 例にとって説明します。
「domain st.ryukoku.ac.jp」と指定した場合、 telnet hogehoge を 実行すると、OS は まず
一方、 「search st.ryukoku.ac.jp math.ryukoku.ac.jp elec.ryukoku.ac.jp」 とした場合は
この他にも、UNIX によっては「名前と IP アドレスとの間の関連を調べるとき、 /etc/hosts ファイル、NIS、DNS をどのような順序で使うか」 の指定ができます。詳細については後述します。
AIX 3.x で SMIT を使って /etc/resolv.conf を作成するには 下記を実行します。
AIX 4.x では /etc/netsvc.conf ファイルと /etc/resolv.conf ファイル を設定します。
/etc/netsvc.conf は、 ネットワーク上のホスト名を どのような方法で検索するかを設定するファイルです。 次の例では、nis (NIS)、local (/etc/hosts)、bind (DNS) の 順で検索します。
host = nis,local,bind
次に、/etc/resolv.conf の設定ファイルは以下のようになります。 search が使えます。
nameserver 133.83.1.3 nameserver 133.83.1.5 search st.ryukoku.ac.jp ryukoku.ac.jp math.ryukoku.ac.jp roes.ryukoku.ac.jp mecsys.ryukoku.ac.jp chem.ryukoku.ac.jp
Debian GNU/Linux 1.3.x では、/etc/hosts.conf ファイルと /etc/resolv.conf ファイルを設定します。
/etc/host.conf は、ネットワーク上のホスト名をどのような方法で 調べるかを設定するファイルです。以下にその例を示します。
order hosts,bind multi on
上記 order は、ホスト名を hosts(/etc/hosts)、bind (DNS) の順番で参照することを示しています。 また multi は、マルチエントリーによって /etc/hosts の中に 与えられたマシン名に対して、複数のIPアドレスを持つことができます。
つぎに、/etc/resolv.conf の設定ファイルは以下のようになります。
domain st.ryukoku.ac.jp nameserver 133.83.1.3 nameserver 133.83.1.5
FreeBSD 2.2.x では /etc/host.conf ファイルと /etc/resolv.conf ファイル を設定します。
/etc/host.conf は、 ネットワーク上のホスト名を どのような方法で検索するかを設定するファイルです。 このファイルの内容は、デフォルトでは以下のようになっています。
# $Id: host.conf,v 1.2 1993/11/07 01:02:57 wollman Exp $ # Default is to use the nameserver first bind # If that doesn't work, then try the /etc/hosts file hosts # If you have YP/NIS cibfigured, uncomment the next line # nis
この設定は、まずネームサーバでホスト名を検索し(bind)、 そこで見つからなかった場合には、 そのマシン上のファイル /etc/hosts を検索する(hosts)という 動作を意味しています。 nis (NIS) はコメントアウト (行頭に # マーク) されて いるので検索しません。
検索順序を /etc/hosts, NIS, DNS の順に変更したいなら、 /etc/hosts はこうなります:
hosts nis bind
次に、/etc/resolv.conf の設定ファイルは以下のようになります。 search が使えます。
nameserver 133.83.1.3 nameserver 133.83.1.5 search st.ryukoku.ac.jp ryukoku.ac.jp math.ryukoku.ac.jp roes.ryukoku.ac.jp mecsys.ryukoku.ac.jp chem.ryukoku.ac.jp
HP-UX 9.x では /etc/resolv.conf だけを設定します。 例を以下に示します。
nameserver 133.83.1.3 nameserver 133.83.1.5 domain st.ryukoku.ac.jp
ただし、/etc/resolv.conf ファイルを作成すると /etc/hosts は 参照されなくなります。自ホストや研究室内ホストが内向け DNS に 登録されていない 場合などでは、 ホストがみつからない等の不具合が発生するおそれがあります。
上記仕様を改善する patch が HP より提供されています。 patch をあてることによって、HP-UX 9.x でも /etc/nsswitch.conf が 利用できるようになります。
patch は HP Electronic Support Center から取得できます (登録が必要ですが、無料です)。nsswitch で 検索すると、以下のリストが得られました (199.11.4 現在)。
Patch Name Patch Size Description ---------- ---------- ----------- PHCO_4439 234443 s700 9.X cumulative mount(1M) and umount(1M) patch PHCO_4784 234011 s800 9.X cumulative mount(1M) and umount(1M) patch PHCO_11161 1915012 s700 9.X libc cumulative patch PHCO_11162 1921180 s800 9.X libc cumulative patch PHNE_3690 165142 s300_400 9.X nsswitch supplement patch for nslookup(1) PHNE_4488 310732 s800 9.X ifconfig(1M)/route(1M) commands for DNS fallback PHNE_4563 195176 s700_800 9.X updated nsswitch patch for nslookup(1) PHNE_9021 4637406 s700_800 9.X SNAplus3270 R3 cumulative patch PHNE_10892 1188032 s700_800 9.X NFS/NIS Runtime cumulative patch PHNE_11285 11770168 s700_800 9.X HP NetMetrix IRM patch PHSS_5064 2713390 s700_800 9.X Motif 1.2/X11R5 vuepad(1X) patch PHSS_7999 22333333 s700_800 9.X OpenView DM 4.10 July 96 Consolidated Patch PHSS_9544 47489341 s700_800 9.X OpenView NNM 3.31 Consolidated Patch 12/12/96 PHSS_10586 13962774 s700_800 9.X OV DM4.00 Consolidated Patch March 1997 PHSS_10680 15043407 s800 9.04 OmniStorage A.02.00 Patch PHSS_10681 15277030 s700 9.0[57] OmniStorage A.02.00 Patch
DNS-FAQ も参考になりますので参照してください。
NEWS-OS 6.x の場合と同様に設定します。
ただし、「UNIX USER」誌 1997 年 6 月号の「UNIX 処方箋」によると、
HU-UX 10.2 の場合、/etc/nsswitch.conf において
hosts: dns [NOTFOUND=continue] files
などと明示的に [NOTFOUND=continue] を
指定しないといけない
ようです。
Solaris 2.x や NEWS-OS 6.x では
[NOTFOUND=continue] がデフォルト動作に
なっているのですが……。どうも納得できない……。
IRIX Release 5.x、6.x では /etc/resolv.conf だけを設定します。 search が使えます。例を以下に示します。
hostresorder local nis bind nameserver 133.83.1.3 nameserver 133.83.1.5 search st.ryukoku.ac.jp ryukoku.ac.jp math.ryukoku.ac.jp roes.ryukoku.ac.jp mecsys.ryukoku.ac.jp chem.ryukoku.ac.jp
hostresorder で、名前と IP アドレスとの間の関係をどの順序で 検索するかを指定します。 この例では local (/etc/hosts)、nis (NIS)、bind (DNS) の順番 で検索します。
NEC EWS-UX/V Release 7.1 Rev.K の場合
EWS-UX/V Release 7.1 では /etc/resolv.conf だけを設定します。 search が使えます。例を以下に示します。
nameserver 133.83.1.3 nameserver 133.83.1.5 search st.ryukoku.ac.jp ryukoku.ac.jp math.ryukoku.ac.jp roes.ryukoku.ac.jp mecsys.ryukoku.ac.jp chem.ryukoku.ac.jp
NetBSD 1.2では /etc/resolv.conf だけを設定します。 search が使えます。例を以下に示します。
nameserver 133.83.1.3 nameserver 133.83.1.5 resolver file resolver yp resolver bind search st.ryukoku.ac.jp ryukoku.ac.jp math.ryukoku.ac.jp roes.ryukoku.ac.jp mecsys.ryukoku.ac.jp chem.ryukoku.ac.jp
resolver で、 ネットワーク上のホスト名を どのような方法で調べるかを定義します。 上記例では、 ホスト名を file (/etc/hosts)、yp (NIS)、bind (DNS) の順番で 検索します。
NEWS-OS 4.x では /etc/resolv.conf だけを設定します。 search が使えます。例を以下に示します。
nameserver 133.83.1.3 nameserver 133.83.1.5 resolver local resolver nis resolver bind search st.ryukoku.ac.jp ryukoku.ac.jp math.ryukoku.ac.jp roes.ryukoku.ac.jp mecsys.ryukoku.ac.jp chem.ryukoku.ac.jp
resolver 指定で、名前と IP アドレスとの間の関係をどの順序で 検索するかを指定します。 この例では local (/etc/hosts ファイル), nis (NIS), bind (DNS) の順番 で参照します。
NEWS-OS 6.x では /etc/resolv.conf ファイルと /etc/nsswitch.conf ファイルを 設定します。
まず /etc/resolv.conf ファイルの設定は以下のようになります。 また、マニュアルには search が使えるとは書いてありませんが、 実は利用できるようです。
nameserver 133.83.1.3 nameserver 133.83.1.5 domain st.ryukoku.ac.jp
次に /etc/nsswitch.conf ファイルの hosts: 項目を設定します。 次に示す例では、 ホスト名を nis (NIS)、dns (DNS)、files (/etc/hosts) の順番で 検索します。
hosts: nis dns files
FIXME - NIS の話
nameserver 133.83.1.3 nameserver 133.83.1.5 domain st.ryukoku.ac.jp
NEWS-OS 6.x の場合と同様に設定します。