先輩の手順書 ホームへ


2007年6月  

   ホーム >  Unix,Linuxが初心者 >  名前解決について

名前解決について (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の場合と同様に、同一ネットワーク内であれば、名前解決するものがあります。
 名前解決を機能させるには、

  1. DNSサーバ (Domain Name System ) をネットワーク上に設置する。
  2. DNSサーバを設置してあるにもかかわらず名前解決が機能しない場合は、その名前をDNSに登録する。
  3. 名前解決用のデータを hosts ファイルに記述する。
がありこの内のどちらかを行います。もし、DNSサーバーを設置することが出来れば、設置にて解決してください。わざわざDNSサーバーを設置するほどでもない小規模のLANの場合、以下に名前解決用のデータ記述(ホスト名の登録)手順を示します。方法を2種類示します、どちらも結果的には、 /etc/hosts ファイルを修正する作業となります。

グラフィカル画面によるホスト名の登録手順

  1. メニュー:システム/管理/ネットワーク をクリックします。



  2. ネットワーク設定でホスト関係を開きます。

    【ホスト】タグをクリックし、ホスト画面を開きます。
    【新規】ボタンをクリックし登録画面を開きます。


  3. ホスト情報を入力します。
    @ IPアドレスを入力します。
    A ホスト名のフル名を入力します。
    B ホスト名の別名を入力します。通常はドメイン名を取り除いた部分を入力します。
    C 【OK】ボタンにて登録します。

  4. 登録データがリスト表示されます。

    登録内容を修正する時は、【修正】ボタンをクリックします。


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 では使えないのか?