DHCPCD Problems with Cox's new network

Steve Ellis plug-discuss@lists.plug.phoenix.az.us
Sun, 27 Jan 2002 22:03:18 -0700


As many of you may know, @home is going under and Cox Cable has built it own
network and is transitioning its customers.  My Linux firewall quit working
the other nite and after many hours I have determined the problem - for some
reason the Cox network is not responding to my DHCP client.   My system is
an old Pentium 166 and has two ethernet cards installed - eth0 connects to
the cable modem; eth1 connects to my home network.  I'm running a DHCP
server on the home network side (eth1 - static IP address 192.168.1.1) and a
DHCP client on eth0.  I am running Red Hat Linux 6.1 and using the dhcpcd
(ver 1.3) client.  I have tried to run both dhcpcd and pump from the command
line and both timeout.  I have also tried dhcpcd with and without the -h
<HOSTNAME> option.  Cox technical support says that their DHCP server does
not require a hostname to be provided to their new DHCP servers.  The
network traffic is extremely heavy as customers are logging into the Cox
servers to establish new mail accounts, move data on webservers, etc.

I am logging dhcpcd messages to a separate log and it shows the following
sequence of events:

     DHCP_REQUEST for an old IP address
     Timeout waiting for DHCP_ACK
     broadcast of DHCP_DISCOVER
     Timeout waiting for response from valid DHCP server

It appears that dhcpcd was working up until the other nite.  The information
in dhcp-eth0.info shows an IP address in the new range (68.3.xxx.xxx), new
domain name (ph.cox.net), etc.  I cleared the info in dhcp-eth0.info and
have verified that dhcpcd is not updating the information.

In the interim I have replaced the Linux box with a Linksys router/firewall.
It runs some kind of DHCP client and is able to talk to the Cox DHCP server
and get information.  It works fine, but provides little protection.
Unfortunately, I can't observe the traffic between the cable modem and the
router.

The problem may have something to do with the need for dhcpcd to send a MAC
address as part of the DHCP request.  I had to configure the Linksys router
of a friend of mine to clone the MAC address of the adapter card in his PC
after connecting the router.  This would imply that Cox has sniffed MAC
addresses of PCs on its network and will only respond to requests from known
LAN cards.  In my case, I thought that Cox may have sniffed the MAC address
of the router and would only accept requests from it.  To test this, I tried
invoking DHCP from the command line using:

     /sbin/dhcpcd -d -h<old @home hostname> -I <router's MAC address> eth0.

I assumed the MAC address format is xx:xx:xx:xx:xx:xx.  The man page for
dhcpcd doesn't document the format.  Anyway, this didn't work either.

Any insight or suggestions would be most appreciated.

Thanks in advance,

Steve Ellis

PS - are there any good web-based Linux tutorials?  I know enough to be
dangerous and would like to better educate myself.  One area that I would
like to better understand is how to change what processes are started after
the kernel boots.  I would like to strip down what is running - I don't need
to be running things like sendmail and NFS on my firewall.