ddclient updating to local IP instead of public IP

Yes, the issue is because you're behind a router. The best solution would be to see if you can install a ddns client on the router itself. Otherwise there are ddns update tools that finger a remote server and ascertain your IP by what this yields.

This can be done by replacing:

use=if, if=eth0

With this:

use=web, web=checkip.dyndns.org/

Which is apparently the default configuration generated by debconf on Debian systems.


Replace

use=if, if=eth0

with

use=web, web=my.ip.fi/