Ubuntu – DHCP + Static IP for DHCP server on eth1

11.04dhcpnetworking

I'm trying to set up an intranet using DHCP. I'm using Ubuntu 11.04 and a ZyXEL GS2200-24 managed switch. I installed dhcp3-server.

Here is my configuration for DHCP (/etc/dhcp/dhcpd.conf):

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;

authoritative;

subnet 192.168.1.0 netmask 255.255.255.0 {
  interface eth1;
  range 192.168.1.2 192.168.1.254;
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.1.255;
}

Here is setting or /etc/default/isc-dhcp-server:

INTERFACES="eth1"

Here is /etc/network/interfaces config for eth1:

auto eth1
iface eth1 inet dhcp

Now, I try to start my server (sudo /etc/init.d/isc-dhcp-server) and I get this error:

No subnet delcaration for eth1 (no IPv4 addresses). *Ignoring requests on eht1. 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 is attached. *

If I assign eth1 an IP address, (sudo ifconfig eth1 192.168.1.2) I can startup just fine. I have not tried routing DHCP requests to the server yet, but it seems as everything is gravy.

Am I correct that I just need to permanently assign 192.168.1.2 to eth1, and then I can configure my managed switch to route requests for IP assignment to 192.168.1.2, my DHCP server?

If so, how can I do that? Do I need to make a config change in /etc/network/interfaces ?

Best Answer

The interface where the DHCP server is listening must have an Static IP of the same subnet you are using in your DHCP configuration.

To do so, edit your /etc/network/interface as follows: (assuming that 192.168.1.1 is your network gateway)

auto eth1
iface eth1 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
broadcast 192.168.1.255

Then, edit your dhcpd.conf, change the range to 192.168.1.3 192.168.1.254 and add the following option line:

option routers 192.168.1.1;

Let me know if it helps.

Regards

Related Question