Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm setting up a dns server using Bind9. It seems to be functioning properly when i use nslookup locally, but I am unable to connect to it from the outside world. I've confirmed that iptables is not running and my hosting company has said that they do not filter ports.

What can cause this? I've ran nmap and can see that port 53 is open locally but is absent from any other computer, but the other services show up fine-- its just bind isn't visible to the rest of the world. Since I'm not running a firewall, how is bind only visible locally if all the other services can be seen from the rest of the internet?

share|improve this question
    
You don't provide enough information. Post your network topology and bind configuration. –  Mark Wagner Feb 7 '12 at 8:28
    
I have a dedicated server that is running a typical LAMP setup with bind installed to handle the hosted sites DNS. I've pointed a domain over to the server and nslookup works fine locally but fails when i try it from outside. I noticed that port 53 is not visible from outside the server when i run nmap, but all the other services show up as expected. Since im not running a firewall, what could be causing bind to not show up? –  devnill Feb 7 '12 at 8:37
    
Please post of the output of "netstat -ntlp" –  Sameer Feb 7 '12 at 12:19
    
It would also be helpful to see the options { } statements from named.conf. –  James O'Gorman Feb 7 '12 at 22:07
    
Khaled was correct. "Your bind process is listening on the port locally only like listening only on 127.0.0.1. You can check this using netstat -lnp | grep 53." –  devnill Feb 10 '12 at 7:06

2 Answers 2

up vote 4 down vote accepted

Your description is not so clear.

If you mean you can not connect to the server (reaching the IP:port), this should be a routing or firewall issue (closed ports, NATing, etc..).

However, if you mean you can not use resolve your hosted domain names using that DNS server, this is another issue. You need to be sure that your DNS registrar is pointing to your DNS server for name resolution. This is needed to receive DNS queries for your hosted domain(s).

EDIT

There are several causes for port not showing up remotely:

  1. Your bind process is listening on the port locally only like listening only on 127.0.0.1. You can check this using netstat -lnp | grep 53.
  2. Your have a restricted firewall between your server and your clients. This can be on your server or at any point between your server and your clients.
  3. Invalid NATing can cause this also by changing the IP/port incorrectly.
share|improve this answer
    
I've pointed the dns records from a domain over to the machine and nslookup works fine locally but fails when i try it from any place else. –  devnill Feb 7 '12 at 8:39

Most often when I have seen this problem, it's been one of two things:

  1. Port 53 TCP is open/forwarded/whatever, but not the same port for UDP -- this will make the DNS server unusable from OSW.

  2. Port 53 UDP is open and the name server will work, but the test being applied is to e.g. telnet to port 53, or attempt a zone transfer, and this is failing because port 53 TCP isn't open or forwarded (depending on your network topology)

tl;dr check both ports 53 in your firewall/router config, TCP and UDP

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.