Wildcard

Denoted with an "*".

Allows one record to stand in for a number of other records:

  • Of the same type.
  • Pointing to same data.
  • In the same zone.

Wildcard is used in the name field of a record. The "*" must be the only symbol in its label, and it must be the left most label.

The wildcard will be used in the response to any query for its type of record that:

  • A. The asterisk in the wildcard could be expaned into a group of labels that would match the query. (This is called pattern matching.)
  • B. There are no records of any type which excatly match the domain name of the query
  • C. No ancestor of the domain name used in the query meets meets A. and not B.

For Example: example.com, an ISP, offers web space to its 1 billion subscribers using www.example.com/account name, and also wants to offer that as account.gimboid.com. By using a Wildcard. By setting up a CNAME record:

*.example.com. CNAME www.example.com.

And a corresponding A record for www.example.com, they save themselves the bother of generating 1 billion CNAME records.

Because wildcards are a commonly misunderstood concept, below are examples of queries that would, and would not, acivate a wildcard.

$ORIGIN example.com.

@       SOA     ns1 (
                postmaster
                2000081100
                28800
                7200
                604800
                86400)
        NS      ns1
        NS      ns2
        MX      10  mail
        A       192.168.0.1
ns2   A       192.168.0.2
*       A       192.168.0.1
ssl    A       192.168.0.1
lists  MX      10  mail

Which of the following query names will match the wildcard if the query type is A?

example.com. NO

For two reasons, there is another record by that name, and because the name doesn't fit the wild card pattern, there is no child label in front of example.com to match the *,

ns1.example.com. YES

No record of that name, and meets the *.example.com pattern

ns2.example.com. NO

ns2.example.com is specificly provided for so it won't match a wildcard.

www.example.com. YES

No record of that name, and meets the *.example.com pattern

www.ssl.example.com. NO

ssl.gimboid.com is provided for, the fact that www.ssl.example.com isn't is irrelevant.

www.projectx.example.com YES

No record of that name, and meets the *.example.com pattern. remember that * can match more then one label.

lists.exame;.com NO

Even if the record is of another type, if there is an existing name match the wildcard won't be used.

See also:
Resource Record
Zone