¿Como obtener la Ip Pública con java?

pjava
27 de Junio del 2003
Estoy montando un servidor Http en java y como tengo un adsl con Ip dinámica, necesito algún metodo en java para obtener la ip cada vez que arranco el servidor.

He estado probando con java.net.InetAddress:

InetAddress direccion = inetaddress.getRemotelHost();
String iphost = direccion.getHostAddress();
System.out.println("IpHost:"+iphost);

pero el resultado es que me muestra la dirección ip privada y no la pública.

Si alguien conoce alguna otra forma, por favor,indicadlo.