I'm having some real issues with a DHCP server I've setup. I'm at my wit's end, having found no answer anywhere to this problem of mine.
Here's the setup: I have a CentOS server machine, running ISC's DHCP server. This machine has two interfaces connected to the same network, let's call them eth0 and eth1.
The network to which both these NICs are connected to is 172.31.255.0/24. On this network, eth0 has 172.31.255.21; eth1 has 172.31.255.22. The gateway's IP address is 172.31.255.254. The DHCP server is meant to run solely on interface eth1 (172.31.255.22).
DHCP requests from a WLAN are being relayed and will arrive through the gateway. The gateway has a DHCP Relay that is grabbing the requests from the WLAN clients and transforming them to unicast DHCP requests.
The DHCP requests from the WLAN are arriving the server's network (tcpdump is capturing them), but the server issues absolutely no response. Logs show me nothing either. More specifically, DHCPDISCOVER requests are sent to eth1 by the relayer, but the DHCP server doesn't respond.
The server is supposed to issue an IP address that doesn't belong to its local network (172.31.255.0/24) to the WLAN clients (172.31.1.254/23).
Here's an DHCP DISCOVERY example:
16:13:37.629817 In 00:90:7f:d0:61:39 ethertype IPv4 (0x0800), length 347: (tos 0x0, ttl 64, id 25877, offset 0, flags [DF], proto UDP (17), length 331)
172.31.255.254.bootps > 172.31.255.22.bootps: [udp sum ok] BOOTP/DHCP, Request from 18:3d:a2:78:82:78, length 303, hops 1, xid 0xa5cdb9df, secs 7680, Flags [Broadcast] (0x8000)
Gateway-IP 172.31.1.254
Client-Ethernet-Address 18:3d:a2:78:82:78
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Discover
Client-ID Option 61, length 7: ether 18:3d:a2:78:82:78
Hostname Option 12, length 12: "WIN-SURVEYPC"
Vendor-Class Option 60, length 8: "MSFT 5.0"
Parameter-Request Option 55, length 12:
Subnet-Mask, Domain-Name, Default-Gateway, Domain-Name-Server
Netbios-Name-Server, Netbios-Node, Netbios-Scope, Router-Discovery
Static-Route, Classless-Static-Route, Classless-Static-Route-Microsoft, Vendor-Option
Agent-Information Option 82, length 10:
Circuit-ID SubOption 1, length 8: vlan2000
END Option 255, length 0
The DHCP's server configuration is the following (interface eth1 is given as a start-up argument):
log-facility local6;
authoritative;
# Management Subnet
subnet 172.31.255.0 netmask 255.255.255.0 {
option ntp-servers 172.31.255.20 , 172.31.255.21;
option domain-name-servers 172.31.255.20 , 172.31.255.21;
option broadcast-address 172.31.255.255;
option routers 172.31.255.254;
range 172.31.255.100 172.31.255.200;
}
# Guest_0
subnet 172.31.0.0 netmask 255.255.254.0 {
option broadcast-address 172.31.1.255;
option domain-name-servers 172.31.255.20 , 172.31.255.21;
option routers 172.31.1.254;
range 172.31.0.1 172.31.1.250;
}
# Guest_2
subnet 172.31.2.0 netmask 255.255.254.0 {
option domain-name-servers 172.31.255.20, 172.31.255.21;
option broadcast-address 172.31.3.255;
option subnet-mask 255.255.254.0;
option routers 172.31.3.254;
range 172.31.2.1 172.31.3.250;
}
Here's the server's initial message after being started:
Nov 11 16:01:05 centos2 dhcpd: Internet Systems Consortium DHCP Server 4.2.5
Nov 11 16:01:05 centos2 dhcpd: Copyright 2004-2013 Internet Systems Consortium.
Nov 11 16:01:05 centos2 dhcpd: All rights reserved.
Nov 11 16:01:05 centos2 dhcpd: For info, please visit https://www.isc.org/software/dhcp/
Nov 11 16:01:05 centos2 dhcpd: Wrote 3 leases to leases file.
Nov 11 16:01:05 centos2 dhcpd: Multiple interfaces match the same subnet: eth0 eth1
Nov 11 16:01:05 centos2 dhcpd: Multiple interfaces match the same shared network: eth0 eth1
Nov 11 16:01:05 centos2 dhcpd: Listening on LPF/eth1/00:50:56:a8:7d:ed/172.31.255.0/24
Nov 11 16:01:05 centos2 dhcpd: Sending on LPF/eth1/00:50:56:a8:7d:ed/172.31.255.0/24
Nov 11 16:01:05 centos2 dhcpd: Sending on Socket/fallback/fallback-net
The routing table is as follows:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 172.31.255.254 0.0.0.0 UG 0 0 0 eth0
link-local 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
172.31.255.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
172.31.255.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Any help would be greatly appreciated. Thank you for your time!