LinuCレベル1 102試験の例題と解説
1.07.3基本的なネットワークの問題解決
LinuCレベル1 102試験の出題範囲から「1.07.3 基本的なネットワークの問題解決」についての例題を解いてみます。
IPアドレスを調べるコマンドについて確認しておきましょう。
例題
ホスト名からIPアドレスを調べることのできるコマンドを全て選択してください。
- host
- hostname
- dig
- netstat
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「1. host」と「3. dig」です。
hostコマンドは、DNSサーバを使ってホスト名を検索するコマンドです。
引数に指定したホスト名からIPアドレス、あるいはIPアドレスからホスト名を調べることができます。
実行すると以下のように表示されます。
$ host linuc.org
linuc.org has address 219.94.171.240
digコマンドは、DNSサーバに問い合わせることで、ホスト名からIPアドレスを調べるコマンドです。hostコマンドに比べ、より詳しい情報を表示することができます。
digコマンドでは、いくつかの問い合わせ行が記載されたリストを読みこんで各問い合わせを実行するバッチモードが使えたり、オプション指定によってhostコマンドよりも表示内容を細かく指定することができます。
digコマンドを通常の対話的モードで実行すると以下のように表示されます。
$ dig linuc.org
; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> linuc.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21575
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;linuc.org. IN A
;; ANSWER SECTION:
linuc.org. 3548 IN A 219.94.171.240
;; Query time: 0 msec
;; SERVER: 192.168.2.8#53(192.168.2.8)
;; WHEN: 月 5月 02 14:49:52 JST 2022
;; MSG SIZE rcvd: 54
このように、hostコマンドでもdigコマンドでも、ホスト名からIPアドレスを調べることが可能です。
選択肢の解説は以下です。
1.host
正解です。
hostコマンドを使うことで、ホスト名からIPアドレスを調べることができます。
以下の実行例のように、引数に利用するDNSサーバ(例では「8.8.8.8」)を指定したり、-aオプションを使ってDNSに登録された全てのレコード情報を表示することも可能です。
$ host -a linuc.org 8.8.8.8
Trying "linuc.org"
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54805
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;linuc.org. IN ANY
;; ANSWER SECTION:
linuc.org. 21600 IN SOA 01.dnsv.jp. hostmaster.dnsv.jp. 1648003115 3600 900 604800 300
linuc.org. 21600 IN NS 01.dnsv.jp.
linuc.org. 21600 IN NS 02.dnsv.jp.
linuc.org. 21600 IN NS 03.dnsv.jp.
linuc.org. 21600 IN NS 04.dnsv.jp.
linuc.org. 3600 IN A 219.94.171.240
Received 165 bytes from 8.8.8.8#53 in 17 ms
このように、ホスト名からIPアドレスを調べることができるため正解となります。
2.hostname
誤りです。
hostnameコマンドは、システムのホスト名を表示したり、設定したりするためのコマンドです。
ホスト名からIPアドレスを調べることはできないため不正解となります。
3.dig
正解です。
digコマンドを使うことで、ホスト名からIPアドレスを調べることができます。
問い合わせに利用するDNSサーバを指定したり、クエリタイプを指定することで表示する内容を変更することができます。
digで指定できる主なクエリタイプには以下のようなものがあります。
タイプ | 意味 | |
any | : | 指定されたドメインの全てまたは任意の情報を表示 |
a | : | Aレコード(IPアドレス)の情報を表示 |
mx | : | MXレコード(メールサーバ)の情報を表示 |
ns | : | NSレコード(ネームサーバ)の情報を表示 |
以下は、引数に利用するDNSサーバ(@8.8.8.8)を指定し、クエリタイプにanyを指定して実行した例です。
$ dig @8.8.8.8 linuc.org any
; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> @8.8.8.8 linuc.org any
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21198
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;linuc.org. IN ANY
;; ANSWER SECTION:
linuc.org. 21555 IN SOA 01.dnsv.jp. hostmaster.dnsv.jp. 1648003115 3600 900 604800 300
linuc.org. 21555 IN NS 01.dnsv.jp.
linuc.org. 21555 IN NS 02.dnsv.jp.
linuc.org. 21555 IN NS 03.dnsv.jp.
linuc.org. 21555 IN NS 04.dnsv.jp.
linuc.org. 3555 IN A 219.94.171.240
;; Query time: 14 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: 月 5月 02 14:51:12 JST 2022
;; MSG SIZE rcvd: 176
このように、ホスト名からIPアドレスを調べることができるため正解となります。
4.netstat
誤りです。
netstatコマンドは、ホストのネットワーク接続状態やソケット・インターフェイスごとのネットワーク統計などを表示するコマンドです。開いているポート確認をするときなど、ネットワーク状態を調べるために有用なコマンドです。
しかし、ホスト名からIPアドレスを調べることができません。よって不正解となります。
ホスト名からIPアドレスが引けるかどうかは、ネットワークの通信で問題が発生した場合などに原因の切り分けの一つとしても利用することができます。覚えておきましょう。
例題作成者
株式会社デージーネット OSS研究室 橋本知里