Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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

I have been banging my head on this for a long time now. There are many discussions on the net about this and similar problems, but none of the solutions seems to work for me.

I have a Debian server with two ethernet network interfaces. One of them is connected to internet, while the other is connected to my LAN.

The LAN network is (netmask

We have some custom hardware that use network (netmask and we can't change that. But we need all hosts on to be able to connect to devices on So I added an alias for the LAN network interface so that the Debian server acts as a gateway between and

But then the dhcp server stopped working.

The log says:

No subnet declaration for eth1:0 (no IPv4 addresses).
 ** Ignoring requests on eth1:0.  If this is not what
    you want, please write a subnet declaration
    in your dhcpd.conf file for the network segment
    to which interface eth1:1 is attached. **

No subnet declaration for eth1:1 (no IPv4 addresses).
 ** Ignoring requests on eth1:1.  If this is not what
    you want, please write a subnet declaration
    in your dhcpd.conf file for the network segment
    to which interface eth1:1 is attached. **

I had another server before, also running Debian but with the older dhcp3 server, and it worked without any problems. I've tried everything I can think of in dhcpd.conf etc, and I've also compared with the working configuration in the old server.

The dhcp server need only handle devices on

Any hints?

Here's all relevant config files:




(I've left out eth0, that connects to the Internet, since there is no problem with that.)

auto eth1:0
iface eth1:0 inet static

auto eth1:1
iface eth1:1 inet static


ddns-update-style none;
option domain-name "???.com";
option domain-name-servers ?.?.?.?;

default-lease-time 86400;
max-lease-time 604800;


subnet netmask {
    option subnet-mask;
    pool {
    option routers;

I have tried to add shared-network etc, but didn't manage to get that to work. I get the same error message no matter what...

share|improve this question
up vote 2 down vote accepted

Create an empty declaration for your network.

subnet netmask {

And don't use that deprecated alias nonsense for multiple addresses. You don't need it, and it just confuses things. Setup your interfaces file like this. This results in the same effective configuration if you look at it using ip addr. and ip route.

auto eth1

iface eth1 inet static

iface eth1 inet static
share|improve this answer
fantastic, thanks! i had no idea you could add multiple addresses without aliasing. – Jonatan Nov 6 '13 at 7:39
This doesn't work for me. Because of NetworkManager, the unwanted subnet ends up added first (I guess sorted numerically), and so dhcpd wants to answer from that empty subnet, finds no leases, and gives no response to clients at all :( – Cheetah Nov 26 '14 at 22: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.