7

Is there a way to exclude a single IP address from a DHCP pool? For various reasons I have a machine that I can't reconfigure or move off the network (let's call it a printer). It has been hard coded with address x.x.x.50 and my DHCP pool is x.x.x.10 -> x.x.x.246. I don't want to have two pool definitions for this one subnet just to cover the ranges on either side of this machine. Is there some form of 'exclude IP' argument/option?

I'm using Ubuntu 11 and the isc-dhcp-server package.

DISCLAIMER: I have googled and it only came up with IOS and Juniper configuration info.

cpit
  • 107
  • 1
  • 1
  • 5

3 Answers3

16

Why don't you set the IP for that appliance explicitly:

# The standard subnet
subnet 10.0.0.0 netmask 255.255.255.0 {
    option domain-name "ourdomain.internal";
    option routers 10.0.0.1;
    option domain-name-servers 10.0.0.2;
    range 10.0.0.10 10.0.0.49;
    range 10.0.0.51 10.0.0.246;
}

#has hardcoded ip, and dhcp should not use that in pool host fixedipappliance { hardware ethernet 10:4e:ed:co:ff:ee; fixed-address 10.0.0.50; }

I just successfully tested a configuration with two ranges like that. Multiple range statements are legal, as per the manpage there must be at least one range statement:

The range statement

  range [ dynamic-bootp ] low-address [ high-address];

For any subnet on which addresses will be assigned dynamically, there must be at least one range statement. The range statement gives the lowest and highest IP addresses in a range. All IP addresses in the range should be in the subnet in which the range statement is declared. The dynamic-bootp flag may be specified if addresses in the specified range may be dynamically assigned to BOOTP clients as well as DHCP clients. When specifying a single address, high-address can be omit‐ ted.

cpit
  • 107
  • 1
  • 1
  • 5
mbx
  • 444
1

I think you want to do static DHCP assignment. See if this help. http://www.miquels.cistron.nl/isc-dhcpd/ http://forums.whirlpool.net.au/archive/309440

0

You shouldn't need to worry about it - the DHCP server will check whether the address exists on the network before allocating it. Do man dhcpd.conf and look at the IP Address Conflict Prevention section. Provided the device will respond to an ICMP Echo Request, you don't need to do anything.

Note: A conflict may arise if a device gets the IP address via DHCP initially, followed by the static address being allocated.

womble
  • 98,245
Mike Insch
  • 1,254