IP da maquina, sem pegar do ISA

Alguém já passou por este problema de IP?
Utilizo:
ServletRequest servletRequest = (ServletRequest)facesContext.getExternalContext().getRequest();
String ip = servletRequest.getRemoteAddr();

Porém, quando outras pessoas acessam o sistema, ele está trazendo o IP do ISA (Windows Server 2003), servidor com o final 1.
Eu necessito do IP da máquina da pessoa, e não por onde ela está saindo, alguém tem a solução???

o getLocalAddr só traz o servidor de aplicação também, não traz o IP da máquina da pessoa.

[code]import java.net.InetAddress;
import java.net.UnknownHostException;

public class IPAdress {

public static void main(String[] args) {
try {
System.out.println(InetAddress.getLocalHost().getHostName());
System.out.println(InetAddress.getLocalHost().getHostAddress());

} catch (UnknownHostException e) {
  e.printStackTrace();
}

}

}[/code]

Assim ele só pega o IP do servidor (aonde estou rodando a minha aplicação)…

Se o cliente estiver acessando seu sistema via proxy, quem fará a requisição será sempre o proxy, portanto o único IP ao qual você tem acesso é o do proxy, não consegue acessar os IP’s da rede interna.