Puedes usar Geoip de maxmind.
Existe una versión gratuita que funciona muy bien que se llama geo lite country. Puedes bajarla
aca..
También te suministran código en distintos lenguajes de programación para leer la base de datos e identificar la IP del usuario.
Saludos,
Luis