Rocky Linuxに”nsloolup”,”dig”,”host”コマンドをインストール

Others,RockyLinux/CentOS

Rocky Linuxで"nslookup"、"dig"、"host"コマンドのインストール手順です。

これらのコマンドはネームサーバに問い合わせを行い、その応答結果を表示します。
特にインターネット上のWebサイトにアクセスできない場合など、名前解決を確認する際に役立ちます。

Rocky Linuxの仮想マシンを作成した際に、初期状態ではインストールされておらず、これらのコマンドが利用できないことがありました。
コマンド名で直接インストールしようとしたのですがエラーとなりました。

これらのコマンドは"bind-utils"パッケージに含まれているため、コマンド名でインストールしようとしてもエラーになります。
今回は"bind-utils"パッケージのインストールから動作確認までの手順を紹介します。

※Rocky Linux release 9.4 (Blue Onyx)を利用しています。
※Azure上に構築した仮想マシン(Azure Virtual Machines)を利用しています。

スポンサーリンク

nsolookup、dig、hostコマンドはbind-utilsパッケージに含まれる

コマンドを実行

パッケージをインストールせずにコマンドを実行します。
“command not found"となっています。

コマンドを実行

#nslookupコマンドを実行
[root@test-vm-01 ~]# nslookup www.yahoo.co.jp
-bash: nslookup: command not found

#digコマンドを実行
[root@test-vm-01 ~]# dig www.yahoo.co.jp
-bash: dig: command not found

#hostコマンドを実行
[root@test-vm-01 ~]#
host www.yahoo.co.jp

-bash: host: command not found

コマンド名でインストール

コマンド名でインストールしてみます。
パッケージが見つからず、エラーになります。

コマンド名でインストール

[root@test-vm-01 ~]# dnf install nslookup
Last metadata expiration check: 0:20:11 ago on Sat May 25 06:53:45 2024.
No match for argument: nslookup
Error: Unable to find a match: nslookup

“bind-utils"パッケージをインストール

DNS関連のコマンドは"bind-utils"パッケージに含まれています。
“nslookup"、"dig"、"host"などのコマンドも"bind-utils"パッケージに含まれています。

“bind-utils"パッケージをインストール

#bind-utilsのパッケージを確認
[root@test-vm-01 ~]#
dnf search bind |grep bind-utils

Last metadata expiration check: 0:13:20 ago on Sat May 25 06:53:45 2024.
bind-utils.x86_64 : Utilities for querying DNS name servers

#bind-utilsをインストール
[root@test-vm-01 ~]# dnf -y install bind-utils
Last metadata expiration check: 0:19:39 ago on Sat May 25 01:21:18 2024.
Dependencies resolved.
========================================
Package Arch Version Repository Size
========================================
Installing:
bind-utils x86_64 32:9.16.23-18.el9_4.1 appstream 200 k
Installing dependencies:
bind-libs x86_64 32:9.16.23-18.el9_4.1 appstream 1.2 M
bind-license noarch 32:9.16.23-18.el9_4.1 appstream 12 k
fstrm x86_64 0.6.1-3.el9 appstream 27 k
libuv x86_64 1:1.42.0-1.el9 appstream 149 k
protobuf-c x86_64 1.3.3-13.el9 baseos 34 k

Transaction Summary
========================================
Install 6 Packages

Total download size: 1.7 M
Installed size: 4.6 M
Downloading Packages:
(1/6): protobuf-c-1.3.3-13.el9.x86_64.rpm 26 kB/s | 34 kB 00:01
(2/6): bind-license-9.16.23-18.el9_4.1.noarch.r 26 kB/s | 12 kB 00:00
(3/6): bind-utils-9.16.23-18.el9_4.1.x86_64.rpm 93 kB/s | 200 kB 00:02
(4/6): fstrm-0.6.1-3.el9.x86_64.rpm 112 kB/s | 27 kB 00:00
(5/6): libuv-1.42.0-1.el9.x86_64.rpm 159 kB/s | 149 kB 00:00
(6/6): bind-libs-9.16.23-18.el9_4.1.x86_64.rpm 435 kB/s | 1.2 MB 00:02
———————————————————————–
Total 448 kB/s | 1.7 MB 00:03
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : protobuf-c-1.3.3-13.el9.x86_64 1/6
Installing : fstrm-0.6.1-3.el9.x86_64 2/6
Installing : libuv-1:1.42.0-1.el9.x86_64 3/6
Installing : bind-license-32:9.16.23-18.el9_4.1.noarch 4/6
Installing : bind-libs-32:9.16.23-18.el9_4.1.x86_64 5/6
Installing : bind-utils-32:9.16.23-18.el9_4.1.x86_64 6/6
Running scriptlet: bind-utils-32:9.16.23-18.el9_4.1.x86_64 6/6
Verifying : protobuf-c-1.3.3-13.el9.x86_64 1/6
Verifying : bind-utils-32:9.16.23-18.el9_4.1.x86_64 2/6
Verifying : bind-libs-32:9.16.23-18.el9_4.1.x86_64 3/6
Verifying : bind-license-32:9.16.23-18.el9_4.1.noarch 4/6
Verifying : libuv-1:1.42.0-1.el9.x86_64 5/6
Verifying : fstrm-0.6.1-3.el9.x86_64 6/6

Installed:
bind-libs-32:9.16.23-18.el9_4.1.x86_64
bind-license-32:9.16.23-18.el9_4.1.noarch
bind-utils-32:9.16.23-18.el9_4.1.x86_64
fstrm-0.6.1-3.el9.x86_64
libuv-1:1.42.0-1.el9.x86_64
protobuf-c-1.3.3-13.el9.x86_64

Complete!

“bind-utils"パッケージをインストールした後に再度コマンドを実行

“bind-utils"パッケージをインストールした後に、コマンドを実行して確認します。
コマンドを実行できて、名前解決を確認できる事が分かります。

コマンドを実行

#nslookupコマンドを実行
[root@test-vm-01 ~]# nslookup www.yahoo.co.jp
Server: 168.63.129.16
Address: 168.63.129.16#53

Non-authoritative answer:
www.yahoo.co.jp canonical name = edge12.g.yimg.jp.
Name: edge12.g.yimg.jp
Address: 183.79.250.123

#digコマンドを実行
[root@test-vm-01 ~]# dig www.yahoo.co.jp

; <<>> DiG 9.16.23-RH <<>> www.yahoo.co.jp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34656
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1224
; COOKIE: fd9cd72077c8bca1 (echoed)
;; QUESTION SECTION:
;www.yahoo.co.jp. IN A

;; ANSWER SECTION:
www.yahoo.co.jp. 552 IN CNAME edge12.g.yimg.jp.
edge12.g.yimg.jp. 30 IN A 183.79.249.252

;; Query time: 16 msec
;; SERVER: 168.63.129.16#53(168.63.129.16)
;; WHEN: Sat May 25 01:43:14 UTC 2024
;; MSG SIZE rcvd: 100

#hostコマンドを実行
[root@test-vm-01 ~]#
host www.yahoo.co.jp

www.yahoo.co.jp is an alias for edge12.g.yimg.jp.
edge12.g.yimg.jp has address 182.22.31.124

※168.63.129.16はAzure上の仮想マシンが標準で利用するDNSサーバのIPアドレスです。

IP アドレス 168.63.129.16 とは 

コマンドが含まれるパッケージを確認する方法

“dnf provides"コマンドを使用すると、各コマンドがどのパッケージに含まれているかを確認できます。
“nslookup"、"dig"、"host"コマンドはすべて"bind-utils"パッケージに含まれていることが確認できます。

dnf providesコマンドを実行

[root@test-vm-01 ~]# dnf provides nslookup
Last metadata expiration check: 4:21:05 ago on Sat May 25 02:23:34 2024.
bind-utils-32:9.16.23-18.el9_4.1.x86_64 : Utilities for querying DNS name
: servers
Repo : @System
Matched from:
Filename : /usr/bin/nslookup

bind-utils-32:9.16.23-18.el9_4.1.x86_64 : Utilities for querying DNS name
: servers
Repo : appstream
Matched from:
Filename : /usr/bin/nslookup

[root@test-vm-01 ~]# dnf provides dig
Last metadata expiration check: 4:21:12 ago on Sat May 25 02:23:34 2024.
bind-utils-32:9.16.23-18.el9_4.1.x86_64 : Utilities for querying DNS name
: servers
Repo : @System
Matched from:
Filename : /usr/bin/dig

bind-utils-32:9.16.23-18.el9_4.1.x86_64 : Utilities for querying DNS name
: servers
Repo : appstream
Matched from:
Filename : /usr/bin/dig

[root@test-vm-01~]# dnf provides host
Last metadata expiration check: 4:21:17 ago on Sat May 25 02:23:34 2024.
bind-utils-32:9.16.23-18.el9_4.1.x86_64 : Utilities for querying DNS name
: servers
Repo : @System
Matched from:
Filename : /usr/bin/host

bind-utils-32:9.16.23-18.el9_4.1.x86_64 : Utilities for querying DNS name
: servers
Repo : appstream
Matched from:
Filename : /usr/bin/host

こちらの記事でdnf providesを利用してコマンドが含まれるパッケージの確認方法を紹介しています。

最後に

今回はRocky Linuxで"nslookup"、"dig"、"host"コマンドを使うための手順について確認してみました。
“bind-utils"パッケージをインストールする事で使えるようになる事が確認できました。

引き続き色々試してみたいと思います。

Azure上でRocky Linuxの仮想マシン構築する手順についてはこちらで紹介しています。

Azure PowerShellを利用したRocky Linuxの仮想マシン構築手順についてはこちらで紹介しています。

スポンサーリンク