We have options in the agent code to dynamically determine public address and internal address (based on interface name or cloud metadata service, https://github.com/rancher/rancher/blob/master/package/run.sh#L33). If we make this a configurable option in the node template, we can automatically pass the configured flags and nodes will be registered with the retrieved IPs.
Ideally surface those options then allow users to configure via the UI
Most helpful comment
Ideally surface those options then allow users to configure via the UI