genuine.com/IN: loading master file genuine.com.zone: file not found
_default/genuine.com/IN: file not found
I always found it silly that no one really talks about this and apparently many like me and even control panels like Plesk were still using hard paths. I always thought "why can't I just specify the name of the zone file and have bind find it". Surely the default search path must be /var/named or somewhere else but there is no such thing.
Solution = In /etc/named.conf just edit your "options" clause:
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
//query-source address * port 53;
allow-transfer { none };
allow-recursion {
localnets;
};
auth-nxdomain no;
};
*As an aside "auth-nxdomain no;" makes it so your DNS servers will only return results/DNS lookups for domains/zonefiles it serves. This way it can't be used to DOS others and also makes it so others can't use your DNS servers.
So the directory "/var/named" is what specifies the default search path for bind zone files.
This way in your /etc/named.conf file you zone file entires can be like this (notice there is no full path):
zone "domain.com" {
type master;
file "domain.com.zone";
allow-transfer {
none;
};
};
bind, specifying, directory, loading, genuine, foundgenuine, _default, panels, plesk, paths, quot, specify, default, var, etc, conf, edit, clause, firewall, nameservers, uncomment, query, directive, previous, versions, unprivileged, recursion, localnets, auth, nxdomain, dns, servers, lookups, domains, zonefiles, serves, dos, specifies, entires, domain,