Well, folks, I am on the right track...found this confirmation from
here:
"This is just a simple example of how a Mac Pro can bridge two networks and provide simultaneous services.
In that link, all the figures seem to be missing.
I've been tracking this thread, eagerly hoping to learn something. Now that the thread has kind of wrapped up, I'm just left confused.
My main confusion is that there seems to be the suggestion that having a different DNS specified per interface is somehow relevant for name to IP address resolution. Until a name is resolved, it's unknown which interface will be used. I believe that only the DNS server(s) specified on the highest priority service is ever used (not sure about reverse DNS lookups).
Installing your own DNS server (on the Mac or elsewhere) seems to be the only way to get name resolution for both the public names on Ethernet 1 and the private names on Ethernet 2 (other than using entries for the private names in the /etc/hosts file). But, I don't see how a split DNS can help since that approach uses some origination information to determine which dns configuration to choose. But traffic is all coming from the same machine (using Firefox). So, there's no way for the DNS server to determine which namespace to use.
The solution that I've use has been to install a caching DNS server. It has the private names in its configuration and a rule to delegate all unknown names to a public DNS server. I've done this many times in the past (on Linux).
As far is IP routing is concerned, the service order only serves to manipulate the routing table. You can have a default gateway on both interfaces, only the highest priority's service will have its default route being used.
If I put my Ethernet service before the WiFi one I see
user@host ~ % netstat -rn -f inet
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 10.27.80.1 UGScg en8
default 192.168.0.1 UGScIg en0
10.27.80/24 link#17 UCS en8 !
10.27.80.1/32 link#17 UCS en8 !
en8 is my Ethernet interface and en0 is my WiFi one. If reverse it, I see
user@host ~ % netstat -rn -f inet
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 192.168.0.1 UGScg en0
default 10.27.80.1 UGScIg en8
10.27.80/24 link#17 UCS en8 !
10.27.80.1/32 link#17 UCS en8 !
My understanding is that the default route with the "I" will only be used if it's known that en8 is the correct interface to use.
If Ethernet 2 has a small collection of known networks (perhaps all 10.2.*), then Ethernet 2 should definitely not be earliest in the service order. There's no relevance to its default route. A default route is only relevant when an IP address' location is unknown; it's the responsibility of that route's gateway to figure it out. But the location of 10.2.* is completely known - it's probably all link-local (reachable without routing). Even if the Ethernet 2's network is more sophisticated, it probably has just known networks where explicit routes can be set up.
Given all that, I'm left wondering how this was all resolved by reading that linked article. Maybe I just need to see the missing pictures.