名前解決の設定

IPアドレスの代わりにホスト名を指定した通信を行うときには名前解決の設定が必要です。Cisco IOSで名前解決を行うための次の設定について解説します。

  • 名前解決の有効化
  • DNSサーバの設定
  • ホスト名/ドメイン名の設定
  • ホストテーブルの設定

名前解決の有効化

名前解決を有効化するには、グローバルコンフィグレーションモードで次のコマンドを入力します。

名前解決の有効化(config)#ip domain lookup

(config)#ip domain-lookupも同様です。「-」が入っているフォーマットは古いコマンドフォーマットです。古いコマンドフォーマットでも認識されます。

デフォルトで名前解決は有効化されているので、あらためて名前解決を有効にするip domain lookupコマンドを入力する必要はありません。ただ、デフォルトではDNSサーバのIPアドレスは設定されていません。ホスト名を指定して通信しようとすると、ブロードキャスト(255.255.255.255)してDNSサーバを探そうとします。ブロードキャストでDNSサーバを探しているときには、コンソールで以下のような表示です。

R1#ping www.google.co.jp

Translating "www.google.co.jp"...domain server (255.255.255.255)
% Unrecognized host or address, or protocol not running.

R1#

この間は、コンソールの操作ができないので注意してください。ルータで名前解決する必要がないのであれば、no ip domain lookupコマンドで名前解決を無効化しておいたほうがよいです。

DNSサーバの設定

DNSサーバのIPアドレスを設定するには、グローバルコンフィグレーションモードで次のコマンドを入力します。

DNSサーバの設定(config)#ip name-server <ip-address>

<ip-address> : DNSサーバのIPアドレス

ip name-serverコマンドを複数設定することができます。その場合、設定した順番通りにDNSネームクエリーを送信します。そのため、プライマリのDNSサーバを最初に設定してください。

ホスト名/ドメイン名の設定

ホスト名およびドメイン名を設定するためには、グローバルコンフィグレーションモードで次のコマンドを入力します。

ホスト名/ドメイン名の設定(config)#hostname <hostname>
(config)#ip domain name <domain-name>

<hostname> : ホスト名
<domain-name> : ドメイン名

ホスト名だけを指定したとき、サフィックスとして<domain-name>を付加して名前解決を行います。ドメイン名を複数設定することもできます。ドメイン名を複数設定するときには、グローバルコンフィグレーションモードで次のコマンドを入力します。

ドメインリストの設定(config)#ip domain list <domain-name>

<domain-name> : ドメイン名

ip domain listコマンドを複数設定すると、設定した順番で<domain-name>をサフィックスとして付加して名前解決を行います。また、ip domain listコマンドが設定されていると、ip domain nameコマンドは無視されます。

ホストテーブルの設定

ホスト名とIPアドレスの対応をスタティックに設定することもできます。グローバルコンフィグレーションモードで次のコマンドを入力します。

ホストテーブルのスタティックエントリ(config)#ip host <hostname> <ip-address> [<ip-address>]

<hostname> : ホスト名
<ip-address> : IPアドレス

ホスト名に関連付けるIPアドレスを複数設定できます。ホスト名に対する複数のIPアドレスを設定しているときには、設定した順番で解決します。

名前解決の確認

名前解決を確認するためのshowコマンドとして以下があります。

コマンド内容
#show hosts名前解決の有効化やドメイン名、DNSサーバのIPアドレス、ホストテーブルを表示します。
表 名前解決の確認コマンド
R1#show hosts
Default domain is n-study.com
Name/address lookup uses domain service
Name servers are 192.168.1.1

Codes: UN - unknown, EX - expired, OK - OK, ?? - revalidate
       temp - temporary, perm - permanent
       NA - Not Applicable None - Not defined

Host                      Port  Flags      Age Type   Address(es)
www.google.co.jp          None  (temp, OK)  0   IP    172.217.175.227
nest                      None  (perm, OK)  0   IP    192.168.1.1

名前解決の設定例

R1で以下の名前解決の設定を行います。

項目設定内容
ホスト名R1
ドメイン名n-study.com
DNSサーバのIPアドレス192.168.1.1
ホストテーブルのスタティックエントリホスト名:nest/IPアドレス:192.168.1.1

R1

ip domain lookup
!
hostname R1
ip domain name n-study.com
ip name-server 192.168.1.1
ip host nest 192.168.1.1

R1でホスト名「nest」を指定してPingを実行すると、nestのIPアドレスはホストテーブルのスタティックエントリで解決して192.168.1.1へPingします。

R1

R1#ping nest

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 48/64/76 ms

Nest経由でインターネットにアクセス可能です。www.google.co.jp宛てにPingを実行すると応答が返ってきます。www.google.co.jpのIPアドレスはDNSサーバで解決します。

R1

R1#ping www.google.co.jp

Translating "www.google.co.jp"...domain server (192.168.1.1) [OK]

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.217.175.227, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/34/76 ms

また、show hostsコマンドで名前解決の設定やホストテーブルが表示されます。

R1

R1#show hosts
Default domain is n-study.com
Name/address lookup uses domain service
Name servers are 192.168.1.1

Codes: UN - unknown, EX - expired, OK - OK, ?? - revalidate
       temp - temporary, perm - permanent
       NA - Not Applicable None - Not defined

Host                      Port  Flags      Age Type   Address(es)
www.google.co.jp          None  (temp, OK)  0   IP    172.217.175.227
nest                      None  (perm, OK)  0   IP    192.168.1.1

Ciscoのキホン