I have an openSUSE 11.1 machine setup and mostly working the way I want it.
I am trying to setup a DNS server through YaST with the intent of using it as a caching nameserver as well as to resolve all of the machine on my local network.
I have gotten to the point of too many machines on my local network so that using local hosts files is no longer manageable. A DNS server seemed to be the right solution.
So… I used YaST to install the BIND 9.5 package and the yast2-dns-server.
After a lot of tinkering I now have it where the dns server is answering/forwarding queries for other machines on my network. However, when I try and browse the Internet with Firefox from the same machine where the dns server is running I cannot resolve anything. I can open a terminal window and do “host google.com” and things resolve. nslookup using 127.0.0.1#53 or 192.168.0.30#53 timeout without returning any results.
I have tried disabling the firewall with the same results.
Any DNS gurus out there that can help me out? I’m not a noob to Linux… but this is my first attempt at a BIND dns server and thus far I am drowning.
williamsdanny wrote:
…]
> After a lot of tinkering I now have it where the dns server is
> answering/forwarding queries for other machines on my network. However,
> when I try and browse the Internet with Firefox from the same machine
> where the dns server is running I cannot resolve anything. I can open a
> terminal window and do “host google.com” and things resolve. nslookup
> using 127.0.0.1#53 or 192.168.0.30#53 timeout without returning any
> results.
>
> I have tried disabling the firewall with the same results.
>
> Any DNS gurus out there that can help me out? I’m not a noob to
> Linux… but this is my first attempt at a BIND dns server and thus far
> I am drowning.
It appears your host doesn’t forward the DND requests to a DNS system on the
Internet.
Have you set the forwarders in named.conf and ‘forward first;’ in options{}?
>
> It appears your host doesn’t forward the DND requests to a DNS system on the
> Internet.
> Have you set the forwarders in named.conf and ‘forward first;’ in options{}?
williamsdanny;
In addition to the above, you might also want to check the values
in “allow-query” to make sure 127.0.0.1 is included.
Have you run:
su
named-checkconf
This should show any syntax errors in /etc/named.conf
see:
man named-checkconf
and
man named-checkzone
P. V.
“We’re all in this together, I’m pulling for you.” Red Green
Forwarders are setup in yast. I do not have “forward first” in options. Doesn’t that somewhat defeat the point of having the dns server on the local lan if you pass all requests outside first?
named-checkconf gives no output
named-checkconf -z gives the following:
named-checkconf -z
zone localhost/IN: loaded serial 42
zone 0.0.127.in-addr.arpa/IN: loaded serial 42
zone 0.168.192.in-addr.arpa/IN: loaded serial 2009022400
zone private.lan/IN: loaded serial 2009022301
named-checkzone didn’t reveal anything obvious to me. If you want me to run something specific I’ll be happy to do so.
Here is a copy of my /etc/named.conf file:
Copyright (c) 2001-2004 SuSE Linux AG, Nuernberg, Germany.
This is a sample configuration file for the name server BIND 9. It works as
a caching only name server without modification.
A sample configuration for setting up your own domain can be found in
/usr/share/doc/packages/bind/sample-config.
A description of all available options can be found in
/usr/share/doc/packages/bind/misc/options.
options {
# The directory statement defines the name server's working directory
directory "/var/lib/named";
# Write dump and statistics file to the log subdirectory. The
# pathenames are relative to the chroot jail.
dump-file "/var/log/named_dump.db";
statistics-file "/var/log/named.stats";
# Enable the next entry to prefer usage of the name server declared in
# the forwarders section.
#forward first;
# The listen-on record contains a list of local network interfaces to
# listen on. Optionally the port can be specified. Default is to
# listen on all interfaces found on your system. The default port is
# 53.
#listen-on port 53 { 127.0.0.1; };
# The listen-on-v6 record enables or disables listening on IPv6
# interfaces. Allowed values are 'any' and 'none' or a list of
# addresses.
listen-on-v6 { any; };
# The next three statements may be needed if a firewall stands between
# the local server and the internet.
#query-source address * port 53;
#transfer-source * port 53;
#notify-source * port 53;
# The allow-query record contains a list of networks or IP addresses
# to accept and deny queries from. The default is to allow queries
# from all hosts.
#allow-query { 127.0.0.1; };
# If notify is set to yes (default), notify messages are sent to other
# name servers when the the zone data is changed. Instead of setting
# a global 'notify' statement in the 'options' section, a separate
# 'notify' can be added to each zone definition.
notify no;
allow-query { any; };
listen-on { any; };
};
To configure named’s logging remove the leading ‘#’ characters of the
following examples.
#logging {
# Log queries to a file limited to a size of 100 MB.
channel query_logging {
file “/var/log/named_querylog”
versions 3 size 100M;
print-time yes; // timestamp log entries
};
category queries {
query_logging;
};
# Or log this kind alternatively to syslog.
channel syslog_queries {
syslog user;
severity info;
};
category queries { syslog_queries; };
# Log general name server errors to syslog.
channel syslog_errors {
syslog user;
severity error;
};
category default { syslog_errors; };
# Don’t log lame server messages.
category lame-servers { null; };
#};
The following zone definitions don’t need any modification. The first one
is the definition of the root name servers. The second one defines
localhost while the third defines the reverse lookup for localhost.
zone “.” in {
type hint;
file “root.hint”;
};
zone “localhost” in {
type master;
file “localhost.zone”;
};
zone “0.0.127.in-addr.arpa” in {
type master;
file “127.0.0.zone”;
};
Include the meta include file generated by createNamedConfInclude. This
includes all files as configured in NAMED_CONF_INCLUDE_FILES from
/etc/sysconfig/named
include “/etc/named.conf.include”;
logging {
category queries { log_syslog; };
channel log_syslog { syslog; };
category xfer-in { log_syslog; };
category xfer-out { log_syslog; };
category default { log_syslog; };
};
zone “0.168.192.in-addr.arpa” in {
allow-transfer { any; };
file “master/0.168.192.in-addr.arpaX”;
type master;
};
zone “private.lan” in {
allow-transfer { any; };
file “master/private.lan”;
type master;
};
You can insert further zone records for your own domains below or create
single files in /etc/named.d/ and add the file names to
NAMED_CONF_INCLUDE_FILES.
See /usr/share/doc/packages/bind/README.SUSE for more details.
williamsdanny wrote:
> Forwarders are setup in yast. I do not have “forward first” in options.
> Doesn’t that somewhat defeat the point of having the dns server on the
> local lan if you pass all requests outside first?
I think (but I’m not 100% sure) the cache is still consulted first.
I don’t know what forwarders you set in YaST, but they do not appear in your
named.conf
Set them explicitly in the options{} section.
On Tue February 24 2009 02:46 pm, williamsdanny wrote:
>
> Forwarders are setup in yast. I do not have “forward first” in options.
> Doesn’t that somewhat defeat the point of having the dns server on the
> local lan if you pass all requests outside first?
>
> named-checkconf gives no output
>
> named-checkconf -z gives the following:
> named-checkconf -z
> zone localhost/IN: loaded serial 42
> zone 0.0.127.in-addr.arpa/IN: loaded serial 42
> zone 0.168.192.in-addr.arpa/IN: loaded serial 2009022400
> zone private.lan/IN: loaded serial 2009022301
>
> named-checkzone didn’t reveal anything obvious to me. If you want me
> to run something specific I’ll be happy to do so.
>
>
> Here is a copy of my /etc/named.conf file:
> =========================================================
> # Copyright (c) 2001-2004 SuSE Linux AG, Nuernberg, Germany.
> # All rights reserved.
<snip>
williamsdanny;
Can you verify that the clients are getting Internet addresses from your
DNS and not one of your ISP’s? Try nslookup on a client.
Can you verify that /etc/resolve.conf contains the correct IP for your
nameserver?
Have you verified that /var/lib/named/root.hint exists?
Can you resolve local addresses with nslookup?
It’s possible your ISP does not pass name query’s upstream. You may be
forced to forward to your ISP’s nameserver for external addresses.
–
P. V.
“We’re all in this together, I’m pulling for you.” Red Green