LinuCレベル2 202試験の例題と解説
2.08.1BINDの設定と管理
今回はLinuCレベル2 202試験の試験範囲から「2.08.1 BINDの設定と管理」についての例題を解いてみます。ここでは、IPアドレスからホスト名を調べる「逆引き」について確認しておきましょう。
例題
自ホスト(127.0.0.1)内のDNSサーバを使ってIPアドレス「192.168.0.2」のホスト名を調べたい。正しいコマンドを全て選択してください。
- host 192.168.0.2 127.0.0.1
- host 127.0.0.1 192.168.0.2
- dig @127.0.0.1 192.168.0.2 A
- nslookup 192.168.0.2 127.0.0.1
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「1.host 192.168.0.2 127.0.0.1」と「4.nslookup 192.168.0.2 127.0.0.1」です。
DNS(Domain Name System)は、ホスト名とIPアドレスを対応付け名前解決を行うサービスです。
DNSサーバのソフトウェアにはBINDがあります。BINDは、権威サーバーや再帰サーバー、キャッシュ専用DNSサーバーとしても機能させることができます。BINDには、DNSサーバへの問い合わせや更新のためのユーティリティプログラムが含まれています。
このユーティリティプログラムには以下のようなものがあります。
* host | : | ホスト名からIPアドレス、またはその逆を求めるためのプログラム。リゾルバを経由してDNSサーバに問い合わせパケットを送ります。 |
* dig | : | ドメイン情報を探すプログラム。DNSサーバに直接問い合わせパケットを送ります。 |
* nslookup | : | インターネットネームサーバに問い合わせるプログラム。BIND9以降ではhostとdigが推奨されています。 |
ホスト名からIPアドレスを解決することを「正引き」といいます。逆に、IPアドレスからホスト名からを解決することを「逆引き」といいます。
それでは、選択肢を見ていきます。
1.host 192.168.0.2 127.0.0.1
正解です。
hostコマンドは、ホスト名からIPアドレスを調べる場合や、その逆の場合に使用できます。書式は以下の通りです。
host <option> {name} [server]
<option> | : | リソースレコードのクラスやタイプなどを指定することができます。オプションを指定することで多様な問い合わせができるようになります。 |
{name} | : | 問い合わせたいホスト名やIPアドレスを指定します。 |
{server} | : | 問い合わせるDNSサーバをホスト名かIPアドレスで指定します。[server]は省略可能です。省略された場合は、/etc/resolv.confで指定されるデフォルトのDNSサーバが指定されます。 |
例題では、「自ホスト(127.0.0.1)内のDNSサーバを使って」とあるので、[server]に127.0.0.1を指定します。また、「IPアドレス192.168.0.2のホスト名を調べる」とあるので、{name}に192.168.0.2を指定します。
よって、[1. host 192.168.0.2 127.0.0.1]が正解となります。
2.host 127.0.0.1 192.168.0.2
誤りです。
この場合、{name}と[server]に指定すべきIPアドレスが逆になっています。
そのため、IPアドレス「192.168.0.2」のDNSサーバを使って、「127.0.0.1」を問い合わせる、正引きの動きになります。
3.dig @127.0.0.1 192.168.0.2 A]
誤りです。
digコマンドは、DNSサーバーに問い合わせを行い、ドメイン情報を探すプログラムです。書式は以下の通りです。
dig [@server] {name} [type] [class] [queryopt...]
[@server] | : | 問い合わせるDNSサーバをホスト名かIPアドレスで指定します。[@server]は省略可能です。省略された場合は、/etc/resolv.confで指定されるデフォルトのDNSサーバが指定されます。 |
{name} | : | 問い合わせたい情報を指定します。 |
[type] | : | 問い合わせのクエリタイプを指定します。 |
[class] | : | 問い合わせのネットワーククラスを指定します。 |
[queryopt…] | : | 問い合わせにおけるオプションやdigに対するオプションを指定します。 |
[type]で指定できる情報には以下のようなものがあります。
A | : | {name}のアドレス |
ANY | : | {name}で指定されたものに該当するすべて |
MX | : | {name}に対するメールエクステンジャ |
NS | : | {name}に対するネームサーバ |
TXT | : | {name}に対するテキスト情報 |
なお、digコマンドを用いて逆引きを行いたい場合は、[-x]オプションを指定することでIPアドレスからホスト名を調べることができます。
4.nslookup 192.168.0.2 127.0.0.1
正解です。
nslookupコマンドは、DNSサーバに問い合わせを行い、ホスト名からIPアドレスを調べる場合やその逆の場合に使用できます。
書式は以下の通りです。
nslookup [-option] [name | -] [server]
[-option] | : | クエリタイプやタイムアウト情報などを指定することができます。 |
[name | -] | : | 問い合わせたいホスト名やIPアドレスを指定します。 |
[server] | : | 問い合わせるDNSサーバをホスト名かIPアドレスで指定します。 |
例題では、「IPアドレス192.168.0.2のホスト名を調べる」とあるので、[name | -]に、192.168.0.2を指定します。また、「自ホスト(127.0.0.1)内のDNSサーバを使って」とあるので、[server]に127.0.0.1を指定します。
よって、[4. nslookup 192.168.0.2 127.0.0.1]も正解となります。
ただし、BIND9以降でDNSサーバに問い合わせを行う場合は、hostとdigが推奨されています。
ネットワーク通信ができない場合、「名前解決ができているのか」というのは問題の切り分けを行う上で重要なポイントの一つです。上記で紹介したコマンドは、オプションなどを利用することで多様な問い合わせを行うことができます。
実際に動作させて確認しておきましょう。
例題作成者
株式会社デージーネット OSS研究室 橋本 知里