2.18 Mapping Any Domain Name in a Zone to a Single IP Address
2.18.1 Problem
You want
to map every domain name in a zone to a single IP address.
2.18.2 Solution
Add an A
record to the zone attached to the wildcard domain name. For example:
*.foo.example. IN A 10.0.0.1
2.18.3 Discussion
Technically, this record
doesn't map every domain name
in the zone to 10.0.0.1. In fact, the wildcard domain name
doesn't apply to domain names in the zone data file.
Say you also had the domain name ns1.foo.example
in the foo.example zone:
ns1.foo.example. IN A 192.168.0.1
The wildcard domain name
wouldn't match queries for the
address of ns1.foo.example, which is probably a
good thing, since ns1.foo.example has a
different address. The wildcard domain name wouldn't
apply to domain names that own other types of records, either. For
example, you might have this record in the zone:
text.foo.example. IN TXT "Text comment"
Queries for the address of text.foo.example
would return an empty answer, because text.foo.example
has no addresses.
So what does the wildcard domain name apply to?
Queries for domain names in the zone that don't
appear in the zone data file, which means any domain name you can
think of that ends in foo.example,
doesn't appear in the
foo.example zone data file, and
isn't part of a delegated subdomain of
foo.example.
Wildcard domain names can own other
types of records, too. Take, for example, this CNAME record:
*.foo.example. IN CNAME foo.example.
This creates aliases from any domain
name in the zone without explicit records attachedto the domain name foo.example. So
iif you leave out explicit records for
www.foo.example, someone looking up
www.foo.example would find that domain name is
an alias for foo.example. Someone looking up
zaphod.beeblebrox.foo.example would find that
it, too, is an alias for
foo.example -- assuming you
didn't have any records attached to the domain name
zaphod.beeblebrox.foo.example, that is. So you
might think of a wildcard as a
"default" domain name for a zone:
any explicit domain name in the zone has only the records you give
it, but the wildcard applies to every other domain name in the zone.
As the zaphod.beeblebrox.foo.example example
suggests, wildcards can match more than one label. In fact, a
wildcard matches zero or more labels. The wildcard domain name in the
CNAME record wouldn't match just
foo.example, though, since even at zero labels,
*.foo.example has one more dot than
foo.example.
2.18.4 See Also
"Wildcards" in Chapter 16 of
DNS and
BIND.
|