I've used GeoIP and I like it. For countries it should be reliable (90%+) and there are a few competing services out there that may also work.

It will be a little work to set up, but it may help...