No Offer Sent by DHCP Relay

Josh pekster-main at usa.net
Tue Feb 6 01:53:03 UTC 2007


I am having a problem getting dhcrelay to broadcast a DHCP offer from an
upstream DHCP server to clients.  I am running DHCP 3.0.3.

My network setup is as follows (for a picture representation, see
http://pekster.myftp.org/josh/dhcp_relay.png )

Clients that should pick up a 192.168.101.x address send a DHCP Discover
broadcast which is picked up by a DHCP relay agent on 192.168.101.1 (as
eth0.)  This device has another interface (called tun_fv) with IP
192.168.105.5.  The DHCP relay agent relays this to 192.168.10.9 through
the tun_fv interface with a source IP of 192.168.105.5 (tun_fv has a
routing entry for the 192.168.10.0/24 network.)  The DHCP server on
192.168.10.9 sends a DHCP Offer to 192.168.101.1 from its own source
IP.  However, no data is sent out from eth0 by the relay agent, and so
the client never gets the Offer.

Routing is correctly set up as all network segments can exchange pings
and other data.  It seems that the relay agent is not forwarding the
DHCP Offer back to the client network segment that send the request.  I
did notice that the relay agent sends to the upstream DHCP server on
192.168.105.5 but gets the reply send back to it on 192.168.101.1, and I
hope this isn't the cause of the problem; traffic originating from the
machine running the dhcp relay agent is expected to have that source IP
as it has a route added for the 192.168.10.0/24 network on that
interface.  Also note that tun_fv is a p-t-p virtual tun adapter using
an OpenVPN tunnel.

When I run tcpdump, the DHCP Discover comes in on eth0 from a client,
the request is relayed through tun_fv to the DHCP server, a reply comes
back from the DHCP server on tun_fv to the 192.168.101.1 address (eth0),
but nothing further leaves out the eth0 (or any other) interface.  The
client will repeat the process several more times and eventually gives
up.  The firewall is not the problem either as I have repeated the test
with the firewall disabled (plus I log dropped packets during testing
anyway.)

I am running dhcrelay from an initd with the following options: dhcrelay
-i eth0 -i tun_fv -q -c 30 192.168.10.9

Any help would be appreciated.  On a final note, when I start dhcrelay,
I get this message in the system logging facility: "dhcrelay: tun_fv:
unknown hardware address type 65534".  Of course, tun adapters operate
at layer3 exchanging IP data, so there is no true hardware address.  I
figured since DHCP operates fully in UDP this shouldn't pose a problem,
but my reading on the web didn't seem to confirm or deny that.

Thanks for any ideas or pointers in the right direction.

-- 
Josh




More information about the dhcp-users mailing list