What do you mean with "similar" problem? Do you mean you have the same problem? Otherwise, please describe the exact problem you have.   
You can configure Gtk-Gnutella so that it announces a hostname (e.g., example.dyndns.invalid) instead of just its IP address. You can also enforce a certain IP address if Gtk-Gnutella guesses a wrong one. You can also enforce ultrapeer mode.   
If you have a dynamic IP address but want to enforce it nonetheless, you'll have to update the setting whenever your IP address changes.   
Let's say you have a script /etc/ppp/ip-up which is executed by root whenever your IP address changes. You could then use this script to update 
the forced IP address:   
IP_ADDRESS=$4 # The IP address is passed as second parameter 
su - gtkg-user -c "(echo HELO; echo set forced_local_ip $IP_ADDRESS; echo set force_local_ip TRUE; ) | gtk-gnutella --shell"   
Note that this requires Gtk-Gnutella from SVN. Otherwise you'd have to use netcat to access the remote shell (which has to be enabled as well).             |