Where I live it is common for ISPs to change ip address every time after disconnect and force a disconnect every 24hrs.
The storagenode has no awareness of when the ip has changed. For several reasons using a ddns service is not a good option (free accounts are limited, require ongoing confirmations, service is limited, number of requests might be limited, professional accounts are not free)
Also I consider network discovery of a node as a crucial part which should not rely on "some" 3rd party.
So atm the only way would be to stop the node, change ip in config file and restart it. This however is assumed to come with a massive overhead and kills all statistics thus it is likely to harm reliability and reputation of a node.
So I propose 2 possible solutions:
1. Make the storagenode software aware of ip changes so that it can update and re-advertise to the satellite without complete restart.
2. At least implement a server command for only updating the ip without restarting the entire node so the stats, reliabilty and reputation stays intact. I have something in mind similar to the postfix command "postfix reload", which reloads a changed config without restarting Postfix.
A similar command could be something like /etc/init.d/storj -force-update-ip or simply passing the ip as argument like /etc/init.d/storj -update-ip xxx.xxx.xxx.xxx
I would prefer no.1 to be implemented and storagenode should update its by itself ip without any required interaction of node operator or requirement to restart.
However if at least no. 2 will be implemented then node operator could take care of detection of ip change an run a script to have the node update its ip.
In any case I want to repeat that in my view network discovery is crucial for the storagenode and the entire network, so it should not rely on any third party. Therfore change of ip address should be detected locally and updated without the need of restarting the node.