----- Original Message ----
From: Axel Luttgens <email@hidden>
To: osxs <email@hidden>
Sent: Thursday, 31 July, 2008 8:02:02 PM
Subject: Re: Mac OS X 10.5 Server NIC status change resetting settings
Le 31 juil. 08 à 01:55, Peter J. Russell a écrit :
> Hi All,
>
> I am struggling with a weird issue that has arisen on 10.5 servers
> that I have never experienced on 10.4 servers with the same
> configuration.
>
> I have a gateway server with two network interfaces en0 and en1 with
> the following setup:
>
> en0: 172.16.x.x (Internal Interface) -
primary
> en1: 192.168.0.x (External Interface)
>
>
> I have a script which runs at system startup to change the Default
> Route to the gateway of en1. This setup all works fine with no
> issues and people are able to browse the internet fine. In this
> setup, nat is running and the result of `sudo /sbin/route get
> default` shows 'en1' as expected.
>
> If the en0 link goes down, the result of `sudo /sbin/route get
> default` shows "en1", but as soon as the interface comes back up,
> the result changes to "en0" thus disabling all internet traffic. If
> I run the `sudo /sbin/route change default 192.168.0.x` command then
> all comes back to life immediately.
>
> If the en1 link goes down, the result of `sudo serveradmin status
> nat` shows "STOPPED". If I run the
command `sudo serveradmin start
> nat` it all comes back to life immediately.
>
>
> My main questions are:
> - Is this expected behaivour for a status change on the network
> interfaces (eg. Router or Core switch goes down due to power outage
> or some reason)?
Yes, configd is notified of the fact, re-reads its configuration
plists and acts accordingly: it tries to reach a desired state (stored
in configuration plists) under the constraint of what's currently
available.
As a result, any changes made outside of configd's framework, such as
those made through route or ifconfig, are liable to be lost at any
moment.
> - Is there a way around this so that I do not have to manually reset
> the default route or restart nat following some network status change?
If I correctly understood your problem, it
seems you have to change
the ordering of your interfaces.
This can be done graphically, through System Preferences, or with the
networksetup(8) command (see its -listnetworkserviceorder and -
ordernetworkservices options.
In both cases, this will act upon the configuration plists and be
taken into account by configd.
But I may be wrong as well... do you still have your 10.4 server, so
as to check how exactly it was configured?
HTH,
Axel
_______________________________________________
Hi Axel,
Thanks for your response.
I have indeed got the en0 as my primary interface as I did on 10.4 which I have done on purpose, so that the Internal network is always the primary interface which the server acts on, and only the default gateway is redirected to en1.
The output of sudo networksetup -listnetworkserviceorder is as follows:
10.4
Server:
en0
en1
fw0
10.5 Server:
en0
en1
fw0
If, for example on my 10.4 server, the router is restarted for some reason, the server continues fine and nat remains active. On 10.5, nat is instantly disabled and requires manually starting.
If the core switch goes offline for some reason (admittedly this shouldn't happen!) then on 10.4 the server keeps running fine and the default route is still pointed at en1. On 10.5 as soon as the connection on en0 is re-established, the default route reverts back to en0.
It's somewhere buried in history no doubt but I've always been told to ensure that my Internal network is top of the binding order but admittedly I forget all the reasons now.
Many thanks,
PJR
--