LoginSignup
2
2

More than 3 years have passed since last update.

[AWS]Ubuntu18.04などでlocal TLDが名前解決できない問題

Last updated at Posted at 2020-02-06

Problem

内部リソースのドメイン名として、.localとするケースはよくあると思いますが、AWSで運用しているサーバをUbuntu18.04にアップグレードした途端、これまでアクセスできていた.localの内部リソースにアクセスできなくなるというトラブルに遭遇しました。

実は、Ubuntu18.04では TLDが.localのものは名前解決できません。これはOS(systemd-resolved)の仕様です。

原因

https://www.freedesktop.org/software/systemd/man/systemd-resolved.html
そもそも.local はマルチキャスト DNS のために予約されたドメイン(.localTLDは RFC6762 にて非推奨)であり、Ubuntu 18.04 における systemd-resolved の挙動は独自の実装ではなく RFC の規約に準拠したものとのこと。

.local ドメインの名前解決を DNS サーバに対してではなく LAN に対するマルチキャストによって行おうとするが、AWSではマルチキャストをサポートしていないため、名前解決に失敗するというわけです。

かつてはマイクロソフトもActiveDirectoryのドメイン名として.localを推奨していた時期もありましたが、今は非推奨としているようです。
https://social.technet.microsoft.com/wiki/contents/articles/34981.active-directory-best-practices-for-internal-domain-and-network-names.aspx

Solution

.localドメインへの名前解決要求を明示的にAWSの内部DNSへ送るために、VPC の DHCPオプションセットにて以下のように.local に対する DNS サーバーに AmazonProvidedDNS を明示的に指定します。

  • ドメイン名: local
  • ドメインネームサーバー: AmazonProvidedDNS

スクリーンショット 2020-02-06 15.50.08.png

OSアップグレードの際は気をつけましょう。

2
2
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
2
2