Wildcard DNS with BIND
Your origin for the zone is .
per your configuration. You are creating records for ns1.
and ns2.
instead of ns1.example.com.
and ns2.example.com.
Since ns1.example.com
and ns2.example.com
aren't defined, they are matched by the wildcard.
EDIT: here's an edit of your config and zone:
zone "example.com." {
type master;
file "ext.zone";
};
ext.zone:
$TTL 3600
@ IN SOA ns1 root (
1 ; Serial
3600 ; Refresh
300 ; Retry
3600 ; Expire
300 ) ; Negative Cache TTL
IN NS ns1
IN NS ns2
IN A 192.0.2.6
ns1 IN A 192.0.2.4
ns2 IN A 192.0.2.5
* IN A 192.0.2.6
Everything in the zone is relative to the zone name in the named configuration, so adding a second zone just points to the same file:
zone "example.net." {
type master;
file "ext.zone";
};
To set a subdomain wildcard in bind
you should use the following format:
name.tld. IN A IP # main domain ip
*.name.tld. IN A IP # wildcard subdomains ip
Example:
mydomain.com. IN A 1.1.1.1
*.mydomain.com. IN A 1.1.1.1