To start, you should check that your node is reachable:
$ monetaryunit-cli getnetworkinfo
[...]
"networks" : [
{
"name" : "ipv4",
"limited" : false,
"reachable" : true,
"proxy" : ""
},
[...]
"localaddresses" : [
{
"address" : "
"port" : 29948,
"score" : 1745
}
]
}
If reachable is false, and your localaddress is either missing, incorrect, or set to 0.0.0.0 , you may need to manually the values in your config:
For my own node behind a router with forwarding:
bind=192.168.1.101
externalip=
In the old days, bitcoind and forks used an external service (dyndns) to detect your external ip which isn't private or secure. The "new" code generally does a good job but may not always find the correct values due to inconsistent network configurations (firewalls, routing, nat, upnp, etc, etc, etc).
If this detection fails, you may end up not being detected as reachable and the daemon will continually run code to detect your ip, which eats cpu time like crazy (consistently around 12% cpu usage on a misconfigured node).