名前解決について (Unix Linux)
LAN上にあるコンピュータを指定する時、多くの場合、そのコンピュータの名前であるホスト名(コンピュータ名)で指定します。例えば、そのコンピュータが動作しているかの確認に
ping 命令を使って ping host1 のようにホスト名(この例の場合ホスト名は host1 です。)を指定して確認しますが、実際には、host1コンピュータは動作しており、ping命令も受け付ける状態であるにもかかわらず、host1
の解決が出来ませんでした等のエラーを発生する場合があります。それは、ホスト名(コンピュータ名)をIPアドレスに変換する動作(名前解決)が機能していないためです。この場合、ping
192.168.0.11 のようにIPアドレスを直接指定すれば動作します。
名前解決されないネットワークで行った例
$ ping host1
ping: unknown host host1
$ ping 192.168.0.11
PING 192.168.0.11 (192.168.0.11) 56(84) bytes of data.
64 bytes from 192.168.0.11: icmp_seq=1 ttl=64 time=5.13 ms
64 bytes from 192.168.0.11: icmp_seq=2 ttl=64 time=1.10 ms
$
Windowsの場合、特に設定をしなくても、同一ネットワーク内(サブネットマスクから導き出されたネットワークアドレスが同一のもの)であれば、その名前解決が機能しますので、小規模のLAN等においては特に意識しなかったと思います。
Linuxの場合、通常のインストール後に特別な設定を行っていない状態では、基本的にそのような名前解決が動作しません。ただ、LinuxからWindows共有フォルダーを利用するアプリケーションの操作では、先のWindowsの場合と同様に、同一ネットワーク内であれば、名前解決するものがあります。
名前解決を機能させるには、
- DNSサーバ (Domain Name System ) をネットワーク上に設置する。
- DNSサーバを設置してあるにもかかわらず名前解決が機能しない場合は、その名前をDNSに登録する。
- 名前解決用のデータを hosts ファイルに記述する。
がありこの内のどちらかを行います。もし、DNSサーバーを設置することが出来れば、設置にて解決してください。わざわざDNSサーバーを設置するほどでもない小規模のLANの場合、以下に名前解決用のデータ記述(ホスト名の登録)手順を示します。方法を2種類示します、どちらも結果的には、
/etc/hosts ファイルを修正する作業となります。
グラフィカル画面によるホスト名の登録手順
-
メニュー:システム/管理/ネットワーク をクリックします。
-
ネットワーク設定でホスト関係を開きます。
【ホスト】タグをクリックし、ホスト画面を開きます。
【新規】ボタンをクリックし登録画面を開きます。
-
ホスト情報を入力します。
@ |
IPアドレスを入力します。 |
A |
ホスト名のフル名を入力します。 |
B |
ホスト名の別名を入力します。通常はドメイン名を取り除いた部分を入力します。 |
C |
【OK】ボタンにて登録します。 |
-
登録データがリスト表示されます。
登録内容を修正する時は、【修正】ボタンをクリックします。
hostsファイルにホスト名を直接記述する手順
ホスト名の登録内容は、 /etc/hotst ファイルのテキストファイルとして保存されています。インストール直後の場合は下記のように本コンピュータのホスト名IPv6行が存在するのみです。
# Do not remove the following line, or various programs
# that require network functionality will fail.
::1 fedora6.localdomain fedora6 localhost.localdomain localhost
エディターで /etc/hosts ファイルを開き、追加したいホスト名を1行単位で、
<IPアドレス> <ホスト名> <ホスト別名>
の型式で追加します。
例えば、
|
IPアドレス |
192.168.0.11 |
|
ホスト名 |
host1.localdomain |
|
別名 |
host1 |
を追加した場合、
# Do not remove the following line, or various programs
# that require network functionality will fail.
::1 fedora6-12.localdomain fedora6-12 localhost.localdomain localhost
192.168.0.11 host1.localdomain host1
のようになります。
/etc/hosts ファイルへの登録は各コンピュータ毎に行う必要があります。
/etc/hosts ファイルへホスト名を登録した場合、その内容が機能するのはそのコンピュータ内のみです。よって各コンピュータ毎に同じ内容を登録する必要があります。小規模LANの場合、コンピュータ台数が少ないので問題にならないかもしれませんが、台数が多い場合は、DNSサーバを導入してそちらで一括管理する方法が良いです。
このページの対象者 (「先輩の手順書」Unix Linux Fedora)
- IPアドレスでは動作するが、ホスト名、コンピュータ名では動作しない。
- unknown host エラーが発生する。
- ネットーワーク上で名前解決させたい。
- ホスト名の登録方法。
- /etc/hosts ファイルについて。
- Windowsではコンピュータ名、ホスト名が使えたのにLinux,Unix,Fedora では使えないのか?
Copyright (C) 2007 ナスヌーイ All Rights Reserved.