Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This is my setup:

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet scope host lo
    inet scope global lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever

'lo' is magical in the sense that that line actually creates ~250 bindable addresses. Most daemons bind to these without trouble. However, this does not work in my BIND9-config:

listen-on port 53 {; };

(I've tried without "port 53" too). The problem is that for BIND, listen-on is like a "binding whitelist", that it matches to all IPs it can find on all interfaces. In this case, it does not find on any interfaces, so it does not bind.

Can anyone recommend a workaround? I should point out that this is a testing setup on which I am moving things around all the time so I would prefer a solution that does not involve too many moving parts.

share|improve this question
up vote 1 down vote accepted

After a bit of testing... Bind doesn't appear to work the way you have observed other daemons working. I have noted 2 workarounds the first is add an additional address to lo to allow bind to bind to it

ip addr add dev lo

The second is to change the address bind listens on to

share|improve this answer
I had found both of these too. Neither solve my problem, but given that I'm ready to accept that there is no answer, I'll accept this one :) – Habbie Feb 24 '12 at 13:53

What you can do as a workaround for testing is to create a virtual interface lo:1 and assign the address to it and bring it up

share|improve this answer
Yes - i know that this works. But it's not what I want :) – Habbie Feb 24 '12 at 9:08

I don't think you can do that. The fact that the loopback interface responds on every ip on the configured subnet (i.e. ping works as expected), doesn't mean every IP is bindable.

Try binding to, for example, and see if it works.

I think the only solution is doing as @m0ntassar said.

share|improve this answer
the IPs are bindable just fine - every other daemon I've tried has absolutely no trouble with binding. – Habbie Feb 24 '12 at 9:08

Your Answer


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.