We have satellite modems and small servers installed in plenty of odd, rough, remote rural places, and satellite modems can be persnickety beasts. The provider claims they're all identical but some hand out static IP's over dhcp, some don't. Some respond to DHCP, some don't. They all have a nice parse-able web interface for runtime statistics, but not always the same parse-able web interface for runtime statistics. Trying to deal with their eccentricities in an automatic way can be a bit troubling if you want a uniform set of systems.
With a bit of wrangling I found an arrangement that worked in most situations. Usually the modems give a static address over DHCP, or a NAT address over DHCP, but a few odd ones don't respond at all, so I used dhcp failovers to auto-set the server's WAN port to an 192.168.x.x address when DHCP failed. Finally I could have the same settings work on all of my servers and modems, with actual static IP's when available, and it was good.
A little while later, a minor but important security fix came through for dhcpcd. In-house testing showed it properly picking up IP's, and the rest of the changes looked absolutely minor, so I deployed it. Most servers kept running... a few didn't. 100km later I was sitting on a bucket in a grimy, tick-filled wooden shack trying to figure out what the machine in front of me was doing to itself.
The not-so-insignificant new feature turned out to be zeroconf support, enabled by default. This means failure is a perfectly acceptable outcome for dhcpcd now. On timeout it sets a useless random IP and returns success. No error, no failover; no failover, no network connection. One extra flag in dhcpcd's default options, a few long drives, and everything worked fine again.
I don't want to kill whoever decided zeroconf was a sane default for the world, but I'd at least like to pie him.
Last edited by Corona688; 01-13-2012 at 01:16 PM..
That there is APIPA - Automatic Private IP Addressing - allows DHCP clients to obtain addresses even in cases when the DHCP server cannot provide one. A Microsoft special! What Unix or Linux distribution is doing APIPA?
Well APIPA is sane to people for whom "networking" stands for either being on Social Networking sites or playing games on two or more computers "together"
MS people implemented APIPA so that people can just connect two machines without having to know what an IP is and how to configure it. You just need to know which cable goes where!
It's not a good idea for a server-client environment and in noway should be a substitute for DHCP. I never saw anything like that in UNIX/Linux world and would never like to see it. Everything has its own place.
I did find a disquieting resemblance to windows 98's ancient behavior, a behavior which annoyed me even then. But it's apparently a real standard now, known as "zeroconf", and the dhcpcd maintainers decided to be all helpful and implement it just because it's a standard now.
It's not a "distribution" thing, though distributions have the choice whether to compile in that feature at all or not. And not all distributions use dhcpcd.
Last edited by Corona688; 01-16-2012 at 12:00 PM..