Currently, we cannot provision hosts from public IPs on Rancher. The default flow is to have public IPs and because some of the port forwarding rules are missing, Rancher fails to provision the host correctly. You would have to check the Private IP flag and change the settings for the provision host which is not straight-forward.
One solution is to use static NAT instead of port-forwarding so that any port that is open, gets exposed correctly.