Sponsored Content
Full Discussion: Sane for Whom?
The Lounge War Stories Sane for Whom? Post 302590008 by Corona688 on Friday 13th of January 2012 12:00:18 PM
Old 01-13-2012
Sane for Whom?

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.

Code:
$ ifconfig wan

wan       Link encap:Ethernet  HWaddr 00:08:C7:E3:A1:13
          inet addr:169.254.32.239  Bcast: ...

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. Smilie

Last edited by Corona688; 01-13-2012 at 01:16 PM..
 
ifparse(1M)						  System Administration Commands					       ifparse(1M)

NAME
ifparse - parse ifconfig command line SYNOPSIS
/sbin/ifparse [-fs] addr_family commands DESCRIPTION
Use the ifparse command to parse the ifconfig(1M) command line options and output substrings, one per line, as appropriate. If no options are specified, ifparse returns the entire ifconfig command line as a series of substrings, one per line. OPTIONS
The ifparse command supports the following options: -f Lists only substrings of the ifconfig command line that are relevant to IP network multipath failover -s Lists only substrings of the ifconfig command line that are not relevant to IP network multipath failover OPERANDS
The ifparse command does not support the interface operand of the ifconfig command. EXAMPLES
Example 1: Parsing Command Line Options Relevant to Failover The following example shows the use of the ifparse command to parse the command line options relevant to IP network multipath failover: example# ifparse -f inet 1.2.3.4 up group one addif 1.2.3.5 -failover up set 1.2.3.4 up Example 2: Parsing Command Line Options That Are Not Relevant to Failover The following example shows the use of the ifparse command to parse the command line options that are not relevant to IP network multipath failover: example# ifparse -s inet 1.2.3.4 up group one addif 1.2.3.5 -failover up group one addif 1.2.3.5 -failover up Example 3: Parsing the Command Line For All Options The following example shows the use of the ifparse command to parse the command line for all ifconfig options: example# ifparse inet 1.2.3.4 up group one addif 1.2.3.5 -failover up group one set 1.2.3.4 up addif 1.2.3.5 -failover up ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsr | +-----------------------------+-----------------------------+ |Stability Level |Obsolete | +-----------------------------+-----------------------------+ SEE ALSO
ifconfig(1M), attributes(5) DIAGNOSTICS
usage: -fs <addr_family> <commands> This message indicates an invalid command line. ifparse: Not enough space This message indicates insufficient memory. ifparse: dhcp not supported for inet6 DHCP operations are not supported for the inet6 address family. ifparse: Operation <operation> not supported for <addr_family> Most operations cannot be used with all address families. For example, the broadcast operation is not supported on the inet6 address fam- ily. ifparse: no argument for <operation> Some operations, for example broadcast, require an argument. NOTES
The ifparse command is classified as an obsolete interface. It will likely be removed in a future release. You should not develop applica- tions that depend upon this interface. SunOS 5.10 9 May 2001 ifparse(1M)
All times are GMT -4. The time now is 02:38 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy