異なる DNS サーバー経由でプライベート ホスト名とパブリック ホスト名の DNS に dnsmasq を設定する方法

異なる DNS サーバー経由でプライベート ホスト名とパブリック ホスト名の DNS に dnsmasq を設定する方法

たとえば、dev.private.example.comVPN 接続経由のプライベート ネットワークでのみアクセス可能なプライベート ホスト名があり、prod.example.comインターネットからもアクセス可能であるとします。プライベート ホスト名を解決するための DNS サーバーがあり、パブリック ホスト名にはパブリック DNS サーバー (Google、CloudFlare など) を使用できます。

私はdnsmasq(別のツールがあれば教えてください)を設定して、DNSサーバーにプライベートホスト名を照会し、別のホスト名の場合はパブリックDNSサーバー経由で解決するようにしたいと思います。

これをどうやってやればいいのでしょうか?

答え1

これは私にとってはうまくいきました

これを編集し/etc/dnsmasq.confてファイルに保存する

conf-dir=/etc/dnsmasq.d/,*.conf

そしてconfディレクトリにファイルを作成します/etc/dnsmasq.d/private.example.com.conf

ファイルの内容に以下を追加します


#dont use hosts nameservers
no-resolv
#use following default nameservers
server=1.1.1.1
server=8.8.8.8
strict-order
#serve all *.private.example.com queries using a specific nameserver
server=/private.example.com/140.82.113.1
server=/private.example.com/140.82.113.2

以下はネームサーバー140.82.113.1140.82.113.2プライベートホスト名の解決です

次にdnsmasqを再起動します

service restart dnsmasq

これで、すべてのプライベート ホスト名 *.private.example.com は、これらのネームサーバーを使用して解決するようになります。

そしてドカン!!!

関連情報