When you need a Linux system to have a static IP address rather than one that is set dynamically by DHCP, all that's required is some configuration changes and a restart. Follow these steps to make ...
I would think one of dynamic DNS client utilities might do this... Check through the list here and see if any allow running an external command on detection ...