こんにちは、UOZUです!
今日はDNSアプライアンスのプライベートホストゾーンを利用してみようと思います。
プライベートホストゾーンとは
プライベートホストゾーンですが、シンプルに説明するなら「ローカルネットワーク内でのみ利用が出来るドメイン名」です。
DNSゾーンの作成の、「プライベートホストゾーン」を有効にした上で、希望するレコードを追加することで作成が出来ます。


ただし、作成後にローカルネットワーク内のサーバで名前解決を行っても、応答はしません。digで確認すると、さくらインターネットの標準DNSサーバを参照していますね。
$ dig sakura.uozu
; <<>> DiG 9.18.33 <<>> sakura.uozu
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 4208
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;sakura.uozu. IN A
;; AUTHORITY SECTION:
. 1516 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2026070500 1800 900 604800 86400
;; Query time: 104 msec
;; SERVER: 133.242.0.3#53(133.242.0.3) (UDP)
;; WHEN: Sun Jul 05 15:50:34 JST 2026
;; MSG SIZE rcvd: 115
また、ゾーン作成の際に表示されるDNSサーバを直接指定しても、応答はしなくなっています。

$ dig sakura.uozu. @ns1.gslbxx.sakura.ne.jp
; <<>> DiG 9.18.33 <<>> sakura.uozu. @ns1.gslbxx.sakura.ne.jp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 58314
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;sakura.uozu. IN A
;; Query time: 1 msec
;; SERVER: 133.242.64.180#53(ns1.gslb9.sakura.ne.jp) (UDP)
;; WHEN: Sun Jul 05 17:45:09 JST 2026
;; MSG SIZE rcvd: 40
これはさくらのクラウドニュースでも書かれている通り、プライベートホストゾーンでは「 外部インターネットからの名前解決要求には応答せず、内部ネットワークのホスト名を秘匿」しているためです。

プライベートホストゾーンの利用の流れ
マニュアルにもある通り、プライベートホストゾーンの利用には、VPNルータのDNSフォワーディングサーバの機能を使う必要があります。
ゾーン情報作成後、情報タブに「①ゾーン名」「②DNSサーバ」が表示されますので、メモしておきましょう。

VPNルータ上の「DHCP・DNS」タブに移動し、「DNSフォワーディングサーバ」のタブに移動し、「プライベートホストゾーン名」には「①ゾーン名」、「プライベートホストゾーンDNSサーバ」には、「②DNSサーバ」を指定します。

その上で、サーバーのDNS参照先にVPNルータのIPを指定する事で利用が出来るようになります。
$ sudo nmtui
$ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.0.1
もしDHCPサーバーを有効にしている際は、「DHCPサーバ設定」のDNSサーバにVPNルータのIPを指定することで、プライベートホストゾーンが応答してくれる様になるはずです。

$ dig sakura.uozu
; <<>> DiG 9.18.33 <<>> sakura.uozu
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23185
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;sakura.uozu. IN A
;; ANSWER SECTION:
sakura.uozu. 483 IN A 192.168.0.20
;; Query time: 0 msec
;; SERVER: 192.168.0.1#53(192.168.0.1) (UDP)
;; WHEN: Sun Jul 05 18:37:02 JST 2026
;; MSG SIZE rcvd: 56
digの結果から、VPNルータをDNSサーバーとして参照していることが分かりますね。
さいごに
DNSフォワーディングサーバの機能自体は、家庭用ルータでもよく見かける機能ですが、さくらのクラウドのプライベートホストゾーンでは、DNSアプライアンス側の設定だけではなく、VPNルータ側のDNSフォワーディング設定と組み合わせる点が重要になります。
DNSゾーンを作成しただけでは名前解決できないため、VPNルータのDNSフォワーディングサーバ設定と、サーバー側またはDHCP側のDNS参照先設定まで確認する必要があります。
クラウド内のサーバーやVPN接続先の環境で、内部向けのホスト名を安全に管理したい場合には便利な機能だと感じました。
さいごまでお読みいただき、ありがとうございました!




