0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

オンプレミスからの名前解決にAzureのプライベートDNSゾーンを使いたい

Posted at

tl;dr

DNSプロキシサーバを置くことで可能です。

シナリオ: オンプレミスのコンピューターからの Azure のホスト名の解決。
ソリューション: 対応する仮想ネットワーク内のユーザーが管理する DNS プロキシ サーバーにクエリを転送し、プロキシ サーバーが解決するために Azure にクエリを転送します。 「独自の DNS サーバーを使用する名前解決」を参照してください。

試す

準備

準備として、プライベートDNSゾーンを用意します。また、このプライベートDNSゾーンをVMが稼働している仮想ネットワークへリンクしておきます。

image.png

今回はfukasawah.devで、Aレコードにvm-1 => 10.0.0.5を加えておき、これをオンプレミス上から名前解決できるところがゴールです。

ちなみにオンプレミスとの接続構成は仮想ネットワークゲートウェイ(VPN)を使ったSite to Siteです。

仮想ネットワーク上にDNSプロキシサーバを立てる

今回はAzureでubuntuイメージからVMを作り、そこにdnsmasqを入れます。
dnsmasqは内部向けのDNSキャッシュサーバとして使われますが、ネットワークへ公開することでDNSプロキシサーバっぽくふるまうこともできます。
すでにsystemd-resolvedが動いていますが、公開の設定の仕方もよくわからなかったのでdnsmasqを立てたという感じです。

今回、VMのプライベートIPは「10.0.0.4」でしたが、適宜置き換えてください。0.0.0.0を指定するやりかたがなぜか使えなかったので・・・(おそらくsystem-resolvedがいるから?)

sudo apt update
sudo apt install dnsmasq

sudo tee -a /etc/dnsmasq.conf << 'EOF'
interface=eth0
listen-address=10.0.0.4
port=53
EOF

sudo systemctl restart dnsmasq

Azureのubuntuは/etc/resolve.confの設定に従い、「ローカルのsystemd-resolved」を通して「Azure DNS」に問い合わせます。

試すだけであればこれで完了です。

クエリを投げて確認

オンプレミス上のマシンからnslookupを試してみます。nslookupは第2引数にDNSサーバのIPを指定することでDNSサーバを明示できます。

C:\Users\fukasawah> nslookup vm-1.fukasawah.dev 10.0.0.4
サーバー:  vm-0.internal.cloudapp.net
Address:  10.0.0.4

権限のない回答:
名前:    vm-1.fukasawah.dev
Address:  10.0.0.5

後はオンプレミスからはこのDNSプロキシサーバのIPを使うよう、DHCPの設定なりPCのネットワーク設定を変えればよいでしょう。

蛇足:DNSプロキシサーバ無しにできない・・・っぽい

DNS クエリ トラフィックは VM ごとに調整されます。

と、ドキュメントに書かれています。ここで「調整されてもいいからDNSプロキシサーバを仮想ネットワークに置きたくない」という場合、それは出来るのかどうか?というのをやってみました。(オンプレにだけDNSプロキシサーバをおきたい、など...。)

結果としては出来ませんでした。
単純にAzureのDNSサーバである168.63.129.16仮想ネットワーク内から アクセスできればよいのでは?と思い、オンプレミスからの168.63.129.16への通信を仮想ネットワークゲートウェイに向けるようにルータのルーティングをいじってみました。が、手元の環境ではうまくいきませんでした。
私のルータのルーティングの設定が誤っているか、仮想ネットワークゲートウェイから168.63.129.16への通信ができないと考えられます。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?