mochikoAsTechのdig日記

当方好きなコマンドはdigです!お友達から!!よろしくお願いします!!!

MXレコードやTXTレコードでは*(アスタリスク)は使えない?

hoge.infra.xyzでもfuga.infra.xyzでもメールを受信できるように、BINDのinfra.xyz.zoneでこんな設定を書いてみた。

mx1     IN      A       153.126.198.20
*       IN      MX 10   mx1.infra.xyz.
*       IN      TXT     "v=spf1 a:mx1.infra.xyz -all"

named-checkzoneでエラーはでない、よしよし、とnamedをrestartして、digで

dig hoge.infra.xyz mx
dig hoge.infra.xyz txt

を叩いてみたら、なんと何も出ない。 statusはNOERRORなのに、ANSWERは0・・・MXとかTXTだと*(アスタリスク)でワイルドカードの指定はできないのかな?と思ったら、ワイルドカードは「個別の設定があればそちらが優先、なければワイルドカードが適用される」ということらしく、そもそも個別の設定が1つもないとワイルドカードも適用されない模様。

つまり、以下のようにワイルドカードしかない状態だと、hoge.infra.xyzのAを引いても、MXを引いても、TXTを引いても、ANSWERは0なんだけど、

*       IN      A       153.126.198.20
*       IN      MX 10   mx1.infra.xyz.
*       IN      TXT     "v=spf1 a:mx1.infra.xyz -all"

以下のように、hoge.infra.xyzという個別の設定をした上で、ワイルドカードの設定をした状態で、fuga.infra.xyzを引くと、AもMXもTXTもちゃんと値が返ってきた。

hoge    IN      A       153.126.198.20
*       IN      A       153.126.198.20
hoge    IN      MX 10   mx1.infra.xyz.
*       IN      MX 10   mx1.infra.xyz.
hoge    IN      TXT     "v=spf1 a:mx1.infra.xyz -all"
*       IN      TXT     "v=spf1 a:mx1.infra.xyz -all"

というわけで、AレコードやMXレコードやTXTレコードでは*(アスタリスク)は使える。 但し、同じ種類のレコードにおいて個別の設定が1つもないと、ワイルドカードも適用されない模様。

という一旦の理解。BINDのDOCUMENTATIONとかちゃんと読めば、説明見つかるかな。