It's hard to say what the problem is without knowing the type of error,
but since it works from localhost, I'm assuming NSD successfully loads
the zone etc.
If you've not specified any address, by default NSD listens on all
interfaces. In that case chances are the firewall is blocking traffic.
It may also be that NSD is not listening on the specified address, in
that case please add the proper "ip-address" option to nsd.conf.
I think ip-address binds to local ip address. Anyways localhost binds to the same ip as that of http, 0.0.0.0 , so everything is right from the system.
How do I test udp from other network as dig tests over udp. Or can I dig over tcp?
I think ip-address binds to local ip address. Anyways localhost binds to the same ip as that of
http, 0.0.0.0 , so everything is right from the system.
If your host has multiple addresses, binding to 0.0.0.0 will often
not do what you want for UDP. The source address of responses will
not necessarily be the same address as the query was sent to.
This is also described in the nsd.conf(5) manual in the description
of the "ip-address" option.
I suggest listing the specific IP addresses on which NSD will be
sent DNS queries.
Also use e.g. tcpdump to check that the queries are actually received
at your machine and not filtered upstream.
How do I test udp from other network as dig tests over udp. Or can I dig over tcp?
"dig +tcp" will use TCP for the test, but TCP does not have the above
problem on multi-homed hosts.
I have eth0 and using pppd, a sort of virtual node ppp0 is generated, I believe that something is going wrong in the sense, by default, nsd is going to eth0 when it should go to ppp0.