Ubuntu 22.04にUnbound DNSリゾルバーをインストールする方法 - TechRepublic

Ubuntu 22.04にUnbound DNSリゾルバーをインストールする方法 - TechRepublic
DNS(ドメインネームシステム)のコンセプト。コンピューター、デバイス、サービス、その他のリソースのための分散型命名システム。フラットスタイルのベクターイラスト。白地に分離されています。
画像: タチアナ/Adobe Stock

Unboundは、DNS over TLSとDNS over HTTPSを使用して接続を暗号化する、無料かつオープンソースの再帰検証型DNSキャッシュサーバーです。UnboundはBind9よりもはるかに高速で、WebページやDNS解決を必要とするその他の呼び出しの読み込み時間を短縮するのに役立ちます。また、UnboundはDNSSEC検証もサポートしているため、ネットワーク上のトラストアンカーとして機能します。

Ubuntu 22.04にUnboundをインストールする方法をご紹介します。UnboundはUbuntu ServerとDesktopのどちらにもインストールでき、デフォルトよりもDNS解決速度が大幅に向上します。

参照: 知っておくべきオープンソースと Linux の用語 40 選 (TechRepublic Premium)

必要なもの

必要なのは、Ubuntu(RHELベースのディストリビューションにもインストール可能)のインスタンスとsudo権限を持つユーザーだけです。これでDNS解決の速度を上げましょう。

Unboundのインストール方法

幸いなことに、Unbound はデフォルトのリポジトリにあるので、インストールするには、Ubuntu マシンにログインして次のコマンドを発行します。

sudo apt-get install unbound -y

RHEL ベースのディストリビューションで作業している場合、インストールは次のようになります。

sudo dnf install unbound -y

Unboundの設定方法

Unboundをインストールしたら、新しい設定ファイルを作成する必要があります。以下のコマンドでファイルを作成します。

nano /etc/unbound/unbound.conf.d/myunbound.conf

そのファイルに以下の内容を貼り付けます。 上記の設定は編集可能ですが、そのままでも動作するはずです。ファイルを保存して閉じてください。

server:
port: 53
verbosity: 0
num-threads: 2
outgoing-range: 512
num-queries-per-thread: 1024
msg-cache-size: 32m
interface: 0.0.0.0
rrset-cache-size: 64m
cache-max-ttl: 86400
infra-host-ttl: 60
infra-lame-ttl: 120
access-control: 127.0.0.0/8 allow
access-control: 0.0.0.0/0 allow
username: unbound
directory: "/etc/unbound"
logfile: "/var/log/unbound.log"
use-syslog: no
hide-version: yes
so-rcvbuf: 4m
so-sndbuf: 4m
do-ip4: yes
do-ip6: no
do-udp: yes
do-tcp: yes
remote-control:
control-enable: yes
control-port: 953
control-interface: 0.0.0.0

次に、次のコマンドを使用して、Unbound のログ ファイルを作成する必要があります。

sudo touch /var/log/unbound.log

次のようにしてログ ファイルに適切な権限を付与します。

sudo chown unbound:unbound /var/log/unbound.log

最後に、次のコマンドで Unbound サービスを開始します。

sudo systemctl enable --now unbound

Unboundのテスト方法

サービスを開始した直後に、次のコマンドを発行します。

dig google.com @localhost

次のような出力が表示されます。

; <<>> DiG 9.18.1-1ubuntu1.1-Ubuntu <<>> google.com @localhost

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56042

;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 1232

;; QUESTION SECTION:

;google.com.   IN    A

;; ANSWER SECTION:

google.com.   300    IN    A    142.251.111.138

google.com.   300    IN    A    142.251.111.113

google.com.   300    IN    A    142.251.111.101

google.com.   300    IN    A    142.251.111.100

google.com.   300    IN    A    142.251.111.102

google.com.   300    IN    A    142.251.111.139

;; Query time: 108 msec

;; SERVER: 127.0.0.1#53(localhost) (UDP)

;; WHEN: Thu Jun 16 13:30:12 UTC 2022

;; MSG SIZE  rcvd: 135

クエリ時間が108ミリ秒であることに注目してください。これはかなり速いですね。しかし、もう一度コマンドを実行してみましょう。

dig google.com @localhost

クエリ時間はかなり短縮されるはずです。2回目の試行では4ミリ秒、3回目では0ミリ秒でした。

おめでとうございます!オープンソースのUnbound DNSリゾルバのおかげで、DNSクエリが高速化しました。このサーバーをLANベースのDNSサーバーとして使用することも可能です。

Ubuntu に興味がありますか? TechRepublic Academy のThe Mastering Linux Development Bundle をチェックしてください。

Jack Wallen によるビジネス プロフェッショナル向けの最新のテクノロジー アドバイスをすべて知るには、YouTube で TechRepublic の How To Make Tech Work を購読してください。

Tagged: