TL;DR - File sharing performance is extremely poor on a Mac Pro running 10.8.2 with file sharing enabled. Using it as a Time Machine server also no longer works in this setup.
I have been experimenting with using a Mac Pro (early 2008) as an Internet Sharing machine for other devices in my flat. The Mac Pro is setup as follows:
Cable/Fibre Modem -> PPPoE Interface -> Ethernet 1 -> Wi-Fi (Internet Sharing) -> Client Devices.
Everything seems to be working relatively well. Client machines can connect to the shared network and access the internet as expected (the internet appears to be quick). Most bonjour services appear on the client machines - for example the Mac Pro has file sharing enabled and this appears on my Macbook as an avaiable network location. Plex media server is also running on the Mac Pro and the Xbox and my phone pick this up too.
I also run a local MAMP server on the Mac Pro and have setup Named/BIND to allow .dev URLS to resolve to the Mac Pro. This works too with the client machines being able to browse to .dev URLs and the websites work as expected.
Rather pleased I sat down to enjoy a beer... and then came the time to use file sharing. Connecting to the Mac Pro and browsing directories is extremely slow - almost unusable. Copying files takes an age. I have been experimenting and pressing buttons and searching all evening and so far I cannot find a good reason as to what would be causing the poor performance.
I have also been using a file share on the Mac Pro as a time machine backup drive. With a router in the mix my Macbook will backup to a shared drive without a problem but directly connecting via Internet Sharing gives some very odd results. It says it cannot find the disk and I can no longer use any of the Mac Pro drives as time machine disks. Time Machine throws "The backup disk is not available." at me each time I try.
The final problem I have noticed in this setup is that Airfoil on the Macbook cannot find Airfoil Speakers on the Mac Pro.
My hunch is that all these things are related and possibly caused by various subnets created by running the Mac Pro in this way. I am also thinking it may be related to IPv6 as Little Snitch shows the Macbook with an IPv6 address running on the AppleFileServer process. On the services that work it shows an IPv4 address 192.168.2.X
Ethernet 1 is assigning itself an IP along the lines of: 169.254.x.x Subnet Mask 255.255.0.0
Wi-Fi is also assigning itself a similar IP address: 169.254.x.x with the same Subnet Mask 255.255.0.0
The PPPoE connection is connecting well and using my specified DNS servers (192.168.2.1 - for local DNS and 126.96.36.199). This seems to get its IP from the fibre modem and I don't really understand what happens beyond that.
Client machines are connecting to a router (the Mac Pro) 192.168.2.1 - and have DHCP assigned addresses of 192.168.2.x - They are picking up the DNS settings from the PPPoE connection.
Internet Sharing is enabled between the PPPoE conenction and Wi-Fi.
I tried to share the connected between Ethernet 1 and the Wi-Fi but this stopped everything from working.
I have also had a look at the IP tables (netstat -nr) but it makes very little sense to me. Output below:
Internet: Destination Gateway Flags Refs Use Netif Expire default 195.XXX.XXX.XXX UGSc 38 95000 ppp0 default link#4 UCSI 0 0 en0 default link#6 UCSI 2 0 en2 default link#9 UCSI 0 0 bridge0 127 127.0.0.1 UCS 0 0 lo0 127.0.0.1 127.0.0.1 UH 6 1617 lo0 169.254 link#4 UCS 1 0 en0 169.254.20.113 127.0.0.1 UHS 0 1 lo0 169.254.73.234 127.0.0.1 UHS 1 0 lo0 169.254.255.255 ff:ff:ff:ff:ff:ff UHLWb 0 10 en0 192.168.2 link#9 UC 6 0 bridge0 192.168.2.1 ac.de.48.67.b2.89 UHLWIi 10 729 lo0 192.168.2.13 20.c9.d0.79.cb.75 UHLWIi 4 54472 bridge0 1082 192.168.2.14 0.26.37.94.84.df UHLWIi 0 211 bridge0 620 192.168.2.15 d8:0:4d:ed:b3:de UHLWIi 0 0 en2 1193 192.168.2.15 d8.0.4d.ed.b3.de UHLWIi 0 71 bridge0 1193 192.168.2.16 link#9 UHRLWIi 0 423 bridge0 8 192.168.2.255 ff.ff.ff.ff.ff.ff UHLWbI 0 5 bridge0 188.8.131.52 XX.XXX.XXX.XXX UHr 39 51 ppp0 Internet6: Destination Gateway Flags Netif Expire ::1 link#1 UHL lo0 fd68:826b:73eb:aac::/64 fe80::bc56:f52b:e100:a834%utun0 Uc utun0 fd68:826b:73eb:aac:bc56:f52b:e100:a834 link#10 UHL lo0 fe80::%lo0/64 fe80::1%lo0 UcI lo0 fe80::1%lo0 link#1 UHLI lo0 fe80::%en0/64 link#4 UCI en0 fe80::21f:5bff:fe38:e158%en0 0:1f:5b:38:e1:58 UHLI lo0 fe80::%utun0/64 fe80::bc56:f52b:e100:a834%utun0 UcI utun0 fe80::bc56:f52b:e100:a834%utun0 link#10 UHLI lo0 ff01::%lo0/32 fe80::1%lo0 UmCI lo0 ff01::%en0/32 link#4 UmCI en0 ff01::%en2/32 link#6 UmCI en2 ff01::%utun0/32 fe80::bc56:f52b:e100:a834%utun0 UmCI utun0 ff02::%lo0/32 fe80::1%lo0 UmCI lo0 ff02::%en0/32 link#4 UmCI en0 ff02::%en2/32 link#6 UmCI en2 ff02::%utun0/32 fe80::bc56:f52b:e100:a834%utun0 UmCI utun0
Any ideas on what I can do to fix or debug these remaining niggles would be amazing?
Update - I have been performing further tests and screen sharing performance is also very choppy.