How to use Internet Sharing AND File Sharing? My setup at office is:

Internet -> AirportExtreme --(wifi)--> AirportExpress --(eth1)--> MacPro1 --(eth2)--> MacPro2

MacPro1 has Internet Sharing enabled, allowing MacPro2 to be online.

But MacPro2 does NOT see any of the shared Macs on the network.

I tried changing the IP address manually on MacPro1, so it's the same subnet, but that didn't work.

I tried changing the DHCP server on AirportExtreme from default 10.0.1.x to 192.168.2.x (to match the IP that MacPro2 was getting from MacPro1), so then MacPro1 got a 192.168.2.x address on eth1; but then MacPro2 became 192.168.3.x !

How can I get MacPro2 visible on the local network? It can't "see" OR "be seen" by any of the Macs on the 192.168.2.x network.

However, if I MANUALLY connect from Finder to a 192.168.2.x address, then I can connect to other machines.

Thanks!
Internet sharing on MacPro1 is acting as a router and doing NAT. The protocol used for discovery of other Macs on the 192.168.2.x network probably doesn't cross routers, which is normally what you want on a local network. The best way to fix this is to put an Ethernet switch or hub between MacPro1 and AirportExpress. Then plug both MacPro1 and MacPro2 into the switch.

If you don't want to use additional hardware (the original question didn't mention this), you need some way to get bonjour (OSX's discovery protocol) across the NAT/Routing function of Internet Sharing. There a few of Bonjour proxy/forwarder-type applications and IIRC, the "Sharing" system preferences has a global mode. Finally you might look into implimenting your own DNS Service Discovery server.

Unfortunately, I don't have experience with any of these.  I guess this isn't really an answer, but maybe it'll point you in the right direction.