# UnboundでプライベートなDNSリゾルバーをVPS上に動かすには？

> Ember VPSにUnboundをインストールします（12か月契約で月額$3.74）。DNSSEC検証を行い、ご自身の機器からの問い合わせにだけ答えます。

- URL: https://gloamport.com/ja/guides/how-to-run-a-private-dns-resolver/
- 最終更新: 2026-11-10
- 発行者: Gloamport (https://gloamport.com)

Unboundは検証機能を持つ再帰DNSリゾルバーです。小さなVPSでは、ご自身の機器にだけ応答し、他には応答しません。

**概要 — UnboundでプライベートなDNSリゾルバーをVPS上に動かすには？**

Unboundをプライベートリゾルバーとして動かすには、unboundパッケージをインストールし、待ち受けるアドレスを列挙し、access-controlでご自身のネットワークだけを許可して、digで確認します。Gloamport Emberプラン（1 vCPU, 1 GB RAM, 20 GB NVMe, 1 TB traffic、12か月契約で月額$3.74）は、1人分の問い合わせに十分です。

## プライベートにするUnboundの設定は？

| 設定 | このガイドでの値 | Unboundマニュアルの内容 |
| --- | --- | --- |
| interface | 127.0.0.1 とご自身のトンネルのアドレス | クライアントが問い合わせできるアドレス。指定がなければ、Unboundはlocalhostで待ち受けます |
| access-control | トンネルネットワークを許可 | 最も具体的なネットブロックが優先されます。どれにも一致しないクライアントは拒否されます |
| hide-identity | はい | id.server と hostname.bind への問い合わせにはREFUSEDを返します |
| hide-version | はい | version.server と version.bind への問い合わせにはREFUSEDを返します |
| qname-minimisation | はい | 上流サーバーへは、必要とされる最小限の量の情報だけを送信します。 |
| `harden-dnssec-stripped` | はい | トラストアンカーはあるがDNSSECデータがないゾーンは、bogusになります |
| prefetch | はい | TTLの最後の10%に入ったキャッシュヒットを更新します。トラフィックは約10%増えます |
| private-address | ご自身のプライベートな範囲 | そのような応答は公開名では削除され、DNSリバインディングを防ぎます |

*価格確認日: 2026年11月10日.*

## プライベートリゾルバーは何を変え、何を変えないのですか？

プライベートリゾルバーが変えるのは、誰がDNS問い合わせに答えるか、そしてネットワーク上で誰がそれを見られるかです。Unboundは公開DNSプロバイダーに転送する代わりに、ルートサーバーに、そして各ゾーンのサーバーに問い合わせて、名前を自分で解決します。お使いの機器は問い合わせをVPSにだけ送り、各ゾーンのサーバーが見るのはご自身のアドレスではなくVPSのアドレスです。

閲覧履歴を隠すものではありません。訪問したサイトには、そのアドレスを通じて引き続き到達します。VPSの提供事業者は、VPSへの問い合わせを運びます。機器とVPSの間の通常のDNSは暗号化されないため、最も安全な待ち受け先は、[同じVPS上のWireGuard](https://gloamport.com/ja/guides/how-to-set-up-wireguard-on-a-vps/ "VPSでWireGuardを設定するには？")などのトンネルの内側です。ポート53をインターネット全体に開けたままにしないでください。オープンリゾルバーは他人にも使われてしまい、以下のaccess-control行はそうした相手を拒否します。

## Unboundをプライベートリゾルバーとして動かす方法

このコマンドはDebian 13とUbuntu 24.04向けです。例では、VPSのアドレスが10.8.0.1のWireGuardトンネルを想定しています。

1. **UnboundとDNSテストツールをインストール** — apt install unbound bind9-dnsutils を実行します。後者のパッケージはテスト用のdigを提供します。どちらもDebian 13とUbuntu 24.04に含まれています。
2. **設定を書く** — /etc/unbound/unbound.conf.d/ にファイルを作成し、最初のコードブロックのserverセクションを書きます。10.8.0.1と10.8.0.0/24は、ご自身のトンネルのアドレスとネットワークに置き換えてください。VPS自身から問い合わせる場合は、127.0.0.1だけでも構いません。
3. **ファイルを確認** — unbound-checkconf を実行します。マニュアルによると、使用前に unbound.conf を確認し、誤りがあればファイルと行番号を報告します。
4. **再起動して待ち受けを確認** — サービスを再起動し、ss -lunt を実行して :53 で絞り込みます。表示されるのは列挙したアドレスだけで、0.0.0.0 ではないはずです。
5. **問い合わせる** — VPSから dig @127.0.0.1 example.org を実行します。トンネル内の機器からは dig @10.8.0.1 example.org を実行します。許可されたネットワークの外からの拒否応答が正しい結果です。
6. **機器でこのDNSを使う** — 機器のトンネル設定で、DNSサーバーをVPSのトンネルアドレスに設定します。公開インターフェースではポート53を閉じたままにしてください。

*/etc/unbound/unbound.conf.d/private.conf*

```text
server:
    interface: 127.0.0.1
    interface: 10.8.0.1
    access-control: 127.0.0.0/8 allow
    access-control: 10.8.0.0/24 allow
    hide-identity: yes
    hide-version: yes
    qname-minimisation: yes
    harden-glue: yes
    harden-dnssec-stripped: yes
    prefetch: yes
    private-address: 10.0.0.0/8
    private-address: 172.16.0.0/12
    private-address: 192.168.0.0/16
```

*インストール、確認、再起動、テスト*

```bash
sudo apt install unbound bind9-dnsutils
sudo unbound-checkconf
sudo systemctl restart unbound
sudo ss -lunt | grep :53
dig @127.0.0.1 example.org
dig @10.8.0.1 example.org
```

## なぜUnboundをaccess-controlで制限する必要があるのですか？

誰にでも応答するリゾルバーは、見つけられて見知らぬ人に使われてしまうからです。Unboundマニュアルによると、access-controlでは最も具体的なネットブロックが一致して使われ、どれにも一致しないクライアントは拒否されます。所有するネットワークだけを列挙すれば、それ以外は既定で拒否されます。

2つの既定値が役立ちます。interface行がない場合、Unboundはlocalhostだけで待ち受けます。do-not-query-localhost は既定で yes なので、自身の上流への問い合わせをlocalhostアドレスに送りません。公開名が自分の内部ネットワークを指すことがないように、内部の範囲にはprivate-address行を追加してください。

## DNSリゾルバーにはどのGloamportプランで足りますか？

最小のプランで個人用のリゾルバーを運用でき、同じサーバーでVPNと併用するのが一般的な構成です。Ember（1 vCPU, 1 GB RAM, 20 GB NVMe, 1 TB traffic）は12か月契約で月額$3.74、1か月契約では$7.48で、Gloamportでは数台の端末向けのWireGuard VPN向けに挙げています。リゾルバーとWireGuardは同じプランに一緒に収まります。Unboundのベンチマークは行っていません。多くの機器で使う場合は、12か月契約で月額$5.25のDuskにすると、2つ目のGBのメモリが追加されます（2 GB）。

キャッシュは調整するものです。マニュアルは、既定で無効のcache-min-ttlを約1時間より大きく設定すると問題が起きることがあると記しているので、理由がなければ触らないでください。

## 自前のリゾルバーは公開DNSプロバイダーより良いですか？

問い合わせログを誰に任せるかによります。自前のリゾルバーは、その相手を1つ減らします。公開DNSプロバイダーは機器が引くすべての名前を見ますが、VPS上のUnboundでは、問い合わせが集まるのはご自身で管理するサーバーだけです。問い合わせ先のゾーンの権威サーバーは、VPSのアドレスからの問い合わせを引き続き見ます。

Gloamportが2026年11月10日について行った調査によると、49件のプロバイダーのうち28件が登録時に身分証明書類を求めないため、それを動かすVPSは書類を渡さずに利用できます。トンネル全体の選択肢については[自前のVPNをVPSで動かすのは、VPNサービスより優れていますか？](https://gloamport.com/ja/self-hosted-vpn-vs-vpn-service/ "VPS上の自己ホスト型VPNは、VPNサービスより優れていますか？")を、サーバーの守りについては[新しいVPSでSSHを強化するには？](https://gloamport.com/ja/guides/how-to-harden-ssh-on-a-vps/ "新しいVPSでSSHを強化するには？")をご覧ください。

**まとめ**

- apt install unbound bind9-dnsutils を実行し、/etc/unbound/unbound.conf.d/ に設定を書きます。
- interfaceとaccess-controlを使い、ご自身のネットワークだけが問い合わせられるようにします。
- どのaccess-controlのネットブロックにも一致しないクライアントは拒否されます。
- hide-identity と hide-version により、identity と version の問い合わせは REFUSED になります。
- unbound-checkconf を、再起動の前に毎回実行してください。
- WireGuardトンネルの内側に置いてください。通常のDNSは暗号化されません。
- Emberは12か月契約で月額$3.74で動作します。

## Unboundプライベートリゾルバー：よくある質問

### UnboundはDNSSECを検証しますか？

Unboundは検証機能を持つリゾルバーで、マニュアルはトラストアンカーと harden-dnssec-stripped のオプションを説明しています。dig +dnssec で確認し、回答の ad フラグを探してください。

### 代わりに別のDNSプロバイダーに転送できますか？

はい。Unboundは転送に対応していますが、その場合はそのプロバイダーが問い合わせを見ます。このガイドは再帰的に解決するため、単一のプロバイダーがすべてを見ることはありません。

### unbound-checkconf が失敗したのはなぜですか？

最初のエラーのファイルと行番号を報告します。よくある原因は、キーワードの誤字やコロンの欠落です。修正してから、サービスを再起動する前にもう一度コマンドを実行してください。

### ファイアウォールでポート53を開ける必要がありますか？

トンネルのインターフェースでだけ開けてください。公開インターフェースでは閉じたままにし、access-controlのリストはご自身のネットワークに限定してください。

### prefetch は何をしますか？

prefetch を yes にすると、エントリの有効期間の最後の10%でキャッシュヒットがあった場合にバックグラウンドで更新が行われます。マニュアルによると、トラフィックと負荷が約10%増えます。

## 出典

1. [unbound.conf(5) マニュアル：serverオプション](https://unbound.docs.nlnetlabs.nl/en/latest/manpages/unbound.conf.html) — NLnet Labs (checked 2026-11-10)

---

Gloamport: Gloamportは、KYCなしのLinux KVMサーバーを販売するVPSプロバイダーです。アカウント番号で注文し、暗号資産で支払います（Moneroを優先）。運営元は、パナマで登録された法人DomaineGoat LLCです。注文では、プラン、コイン、そして希望する場合のみメールアドレスを求めます。氏名、住所、電話番号、身分証明書は求めません。12か月契約では、各プランの価格は、2026年11月10日に読み取ったKYCなしの暗号資産VPSホスト38社の調査から選んだ、名前の付いた比較対象プランより少なくとも25%安くなっています。
