BeagleBone Internet connection sharing on Mac (was: Re: Beaglebone Black Connectivity Issues)

... we've been running into issues with sharing the network over the usb
on Mac OSX. It seems to work sometimes and then other times does not work.

Any tips or tricks to get this to reliably work? Or possible other work
arounds?

Always good to cc: beagleboard@googlegroups.com as I've done in my reply.
Most questions tend to be answered repeatedly, so it is good to have it
captured out in the web for Google to find.

My tips:
* Make sure you have the latest HoRNDIS as the author specifically noted
fixes for Internet connection sharing with BeagleBone as a reason for one
of his updates.
* I've found you need to always disable the sharing and re-enable sharing
after booting the BeagleBone connected to the Mac.
* I use 'screen /dev/tty.usbmodem<id> 115200' to connect to the Bone
independent of the network connection so I can live with the IP address
changing.
* After starting connection sharing, I perform a 'dhclient usb0' on the
Bone to fetch the IP address.
* I've found the mDNS stuff seems to work from the Mac, so I use
'beaglebone.local' to find the board from my Mac after doing the connection
sharing. You can change /etc/hostname to give each board a unique name, but
you need to reboot after editing the file.
* I've seen routers that don't always give good DNS servers, so I sometimes
manually edit '/etc/resolv.conf' to add some servers like the Google ones
8.8.8.8 and 8.8.4.4.

There are clearly still some bugs in what this does to the routing tables
on the Bone. I'm not enough of a Linux networking expert to understand why.
I've seen that doing 'ifconfig' still shows 192.168.7.2 as the usb0
address, despite the dhclient fetching a new IP address.

Hopefully some better experts will reply. I'll forward any responses I get
from the list.