LoginSignup
5
3

More than 3 years have passed since last update.

ワイルドカードドメインの挙動について

Posted at

ワイルドカードドメインとは

特殊なラベル「*」 で始まる名前を持つリソースレコード。
ワイルドカード部分は任意の文字列がマッチし、指定された応答を返す。
ワイルドカードは以下のレコードに限り利用できる。

  • Aレコード
  • AAAAレコード
  • MXレコード
  • CNAMEレコード
  • TXTレコード
  • CAAレコード

最も左側のドメイン名ラベルとしてのみ利用ができ、下記のような半角英数字やハイフンと混在するような設定できない。
例)「abc*」、「*abc」、「abc*abc」、「abc-*abc」など

動作検証

まずは基本的な動作の確認から。それぞれのレコードタイプでレスポンスを確認する。

@   IN  SOA sample.com. postmaster.sample.com. (
...

*.a.wildcard        IN  A   1.2.3.4
*.aaaa.wildcard     IN  AAAA   ::1
*.mx.wildcard       IN  MX  10  sample.com.
*.cname.wildcard    IN  CNAME   google.com.
*.txt.wildcard      IN  TXT "text record."
*.caa.wildcard      IN  CAA 0 issue sample.com

Aレコード

-bash-4.2$ dig @localhost +short hoge.a.wildcard.sample.com
1.2.3.4

AAAAレコード

-bash-4.2$ dig @localhost +short hoge.aaaa.wildcard.sample.com aaaa
::1

MXレコード

-bash-4.2$ dig @localhost +short moge.mx.wildcard.sample.com mx
10 sample.com.

CNAMEレコード

-bash-4.2$ dig @localhost +short moge.cname.wildcard.sample.com
google.com.
127.0.0.1

TXTレコード

-bash-4.2$ dig @localhost +short moge.txt.wildcard.sample.com txt
"text record."

CAAレコード

-bash-4.2$ dig @localhost +short fuga.caa.wildcard.sample.com caa
0 issue "sample.com"

基本的には「*」部分にはどんな文字列を入れてもマッチする。

ワイルドカードの効果範囲

複数のラベルと一致するため、ラベルを分けることで何階層でも適応される。

-bash-4.2$ dig @localhost +short fuga.moge.hoge.a.wildcard.sample.com
1.2.3.4

ラベルの上限を超えるものはNG。

-bash-4.2$ dig @localhost +short 1234567890123456789012345678901234567890123456789012345678901234.a.wildcard.sample.com
dig: '1234567890123456789012345678901234567890123456789012345678901234.a.wildcard.sample.com' is not a legal name (unexpected end of input)

ラベルを分ければ、長いドメイン名も可能。

-bash-4.2$ dig @localhost +short 123456789012345678901234567890123456789012345678901234567890123.fuga.hoge.a.wildcard.sample.com
1.1.1.1

ワイルドカードの優先順位

下記のように、ゾーンの領域が重なっている場合の動作を確認する。

*.a.wildcard        IN  A   1.1.1.1
b.a.wildcard        IN  A   2.2.2.2

*.a.wildcardに該当するドメインは、1.1.1.1が返される。

-bash-4.2$ dig @localhost +short hoge.a.wildcard.sample.com
1.1.1.1
-bash-4.2$ dig @localhost +short fuga.a.wildcard.sample.com
1.1.1.1
-bash-4.2$ dig @localhost +short fuga.hoge.a.wildcard.sample.com
1.1.1.1

b.a.wildcardについてはワイルドカードより優先されるため、2.2.2.2が返される。

-bash-4.2$ dig @localhost +short b.a.wildcard.sample.com
2.2.2.2

下記のような、b.a.wildcardのサブドメインはワイルドカードには該当しない。

-bash-4.2$ dig @localhost +short hoge.b.a.wildcard.sample.com
-bash-4.2$
5
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
5
3