I have 3 machines on my network, all of which share a common zeroconf network with at least one other device. 1 machine (bridge.local) has 2 nicks, one of which connects to the dsl modem and provides bridging for the rest of the NAT&#39;d network from the zeroconf network to the outside world.<div>

<br></div><div>Two questions:</div><div><br></div><div>1. I have a &#39;post-up route add&#39; command on both of the non-bridge machines, where the zerconf name of the gateway &#39;bridge.local&#39; is used. This almost never works the first time, upon boot, even though the interface is live and I can otherwise reach the other .local machines. I always have to do a &#39;/etc/init.d/network restart&#39; for it to take effect, so that these machines can get to the rest of the internet (or manually do a &#39;route add&#39; command). I assume this has to do with the timing of getting the avahi interface up and/or resolving the name of &#39;bridge.local&#39; ... is there anything I can do to make this work automatically, aside from fragile at/cron scripts? A standard way to make this work?</div>

<div><br></div><div>2. If I ever need to reboot bridge.local, it comes back up with a new ip address and now the routes on the rest of the network are broken. Again, I have to restart networking manually, or adjust the routes manually on these boxes. I could add a watcher script that notices when the gateway box has an IP change and then fixes it automatically, but again that seems fragile. Any standard way to deal with this?</div>

<div><br></div><div>Maybe I&#39;m approaching this entire setup incorrectly? I used to have all boxes with static IPs on a 192.168.0.0 network. I only switched to avahi interfaces because I have a HDHomerun on the network that these boxes need to be able to see, and it only exposes a zeroconf network. Is there a better way to make all this work together?</div>
<div><br></div><div>Running latest version of Ubuntu (Karmic), if that helps.</div><div><br></div><div>thanks,</div><div>J</div>